Référence des éléments HTML
===========================

Cette page répertorie tous les éléments HTML, qui sont créés à l'aide de balises. Ils sont regroupés par fonction pour vous aider à trouver facilement ce que vous avez en tête. Une liste alphabétique de tous les éléments est fournie dans la barre latérale de la page de chaque élément ainsi que de celle-ci.

**Note :** Pour plus d'informations sur les bases des éléments et attributs HTML, voir l'article Commencer avec le HTML.

Racine principale
-----------------

| Élément | Description |
| --- | --- |
| `<html>` | Représente la racine d'un document HTML. Tout autre élément du document doit être un descendant de cet élément. |

Métadonnées du document
-----------------------

Les métadonnées contiennent des informations à propos de la page. Elles comprennent des informations sur les styles, les scripts et les données qui aident les programmes (moteur de recherche, navigateurs, etc.) à utiliser et à rendre la page. Les métadonnées relatives aux styles et aux scripts peuvent être définies dans la page ou renvoyer à un autre fichier contenant ces informations.

| Élément | Description |
| --- | --- |
| `<base>` | L'élément **`<base>`** définit l'URL de base à utiliser pour recomposer toutes les URL relatives contenues dans un document. Il ne peut y avoir qu'un seul élément `<base>` au sein d'un document. |
| `<head>` | Fournit des informations générales (métadonnées) sur le document, incluant son titre et des liens ou des définitions vers des scripts et feuilles de style. |
| `<link>` | Définit la relation entre le document courant et une ressource externe. Cet élément peut être utilisé pour définir un lien vers une feuille de style, vers les icônes utilisées en barre de titre ou comme icône d'application sur les appareils mobiles. |
| `<meta>` | Représente toute information de métadonnées qui ne peut pas être représentée par un des éléments (`<base>`, `<link>`, `<script>`, `<style>` ou `<title>`) |
| `<style>` | Contient des informations de mise en forme pour un document ou une partie d'un document. Par défaut, les instructions de mise en forme écrites dans cet élément sont écrites en CSS. |
| `<title>` | L'élément **`<title>`** définit le titre du document (qui est affiché dans la barre de titre du navigateur ou dans l'onglet de la page). Cet élément ne peut contenir que du texte, les balises qu'il contiendrait seraient ignorées. |

Racine de sectionnement
-----------------------

| Élément | Description |
| --- | --- |
| `<body>` | Représente le contenu principal du document HTML. Il ne peut y avoir qu'un élément `<body>` par document. |

Sectionnement du contenu
------------------------

Organiser le contenu d'une page en différentes sections permet d'avoir une structure logique au sein d'un document. Grâce à ces éléments, on peut créer un plan pour la page, ajouter des titres pour identifier les sections et également gérer un en-tête et un bas de page.

| Élément | Description |
| --- | --- |
| `<address>` | Indique des informations de contact pour une personne, un groupe de personnes ou une organisation. |
| `<article>` | L'élément **`<article>`** représente une composition autonome dans un document, une page, une application ou un site, destinée à être distribuée ou réutilisée de manière indépendante (par exemple, dans le cadre d'une syndication). Exemples : un message de forum, un article de magazine ou de journal, ou un article de blog, une fiche produit, un commentaire soumis par un utilisateur, un widget ou gadget interactif, ou tout autre élément de contenu indépendant. |
| `<aside>` | L'élément **`<aside>`** (en français, « aparté ») représente une partie d'un document dont le contenu n'a qu'un rapport indirect avec le contenu principal du document. Les apartés sont fréquemment présents sous la forme d'encadrés ou de boîtes de légende. |
| `<footer>` | Représente le pied de page de la section ou de la racine de sectionnement la plus proche. Un élément `<footer>` contient habituellement des informations sur l'autrice ou l'auteur de la section, les données relatives au droit d'auteur (*copyright*) ou les liens vers d'autres documents en relation. |
| `<header>` | L'élément HTML **`<header>`** représente du contenu introductif, généralement un groupe de contenu introductif ou de contenu aidant à la navigation. Il peut contenir des éléments de titre, mais aussi d'autres éléments tels qu'un logo, un formulaire de recherche, le nom d'auteur, etc. |
| `<h1>`, `<h2>`, `<h3>`, `<h4>`, `<h5>`, `<h6>` | Les éléments **`<h1>`** à **`<h6>`** représentent six niveaux de titres dans un document, `<h1>` est le plus important et `<h6>` est le moins important. |
| `<hgroup>` | Représente un titre groupé avec du contenu secondaire tel qu'un sous-titre, un titre alternatif ou un slogan. |
| `<main>` | Représente le contenu majoritaire du corps du document. Le contenu principal de la zone est constitué de contenu directement en relation, ou qui étend le sujet principal du document ou de la fonctionnalité principale d'une application. |
| `<nav>` | Représente une section d'une page ayant des liens vers d'autres pages ou des fragments de cette page. Autrement dit, c'est une section destinée à la navigation dans un document (avec des menus, des tables des matières, des index, etc.). |
| `<section>` | Représente une section générique d'un document, par exemple un groupe de contenu thématique. Une section devrait généralement commencer avec un titre. |

Contenu textuel
---------------

Le contenu HTML textuel permet d'organiser des blocs ou des sections de contenu entre la balise ouvrante `<body>` et la balise fermante `</body>`. Ces éléments sont cruciaux pour l'accessibilité et le référencement, car ils permettent d'identifier le sens du contenu.

| Élément | Description |
| --- | --- |
| `<blockquote>` | Indique que le texte contenu dans l'élément est une citation longue. Le texte est généralement affiché avec une indentation. Une URL indiquant la source de la citation peut être donnée grâce à l'attribut `cite` tandis qu'un texte représentant la source peut être donné via l'élément `<cite>`. |
| `<dd>` | Fournit la description, la définition ou la valeur du terme précédent (`<dt>`) dans une liste de description (`<dl>`). |
| `<div>` | Un conteneur générique du contenu du flux. Il n'a aucun effet sur le contenu ou la mise en page tant qu'il n'est pas mis en forme d'une manière quelconque à l'aide de CSS. |
| `<dl>` | Représente une liste de descriptions sous la forme d'une liste de paires associant des termes (fournis par des éléments `<dt>`) et leurs descriptions ou définitions (fournies par des éléments `<dd>`). On utilisera par exemple cet élément pour implémenter un glossaire ou pour afficher des métadonnées organisées comme liste de clés/valeurs. |
| `<dt>` | Identifie un terme dans une liste de définitions ou de descriptions. Cet élément n'apparaît qu'en tant qu'élément enfant d'un élément `<dl>` et est généralement suivi d'un élément `<dd>`. Plusieurs éléments `<dt>` qui se suivent indiqueront qu'ils partagent la définition/description fournie par le prochain élément `<dd>`. |
| `<figcaption>` | Représente une légende décrivant le reste du contenu de son élément parent `<figure>`. |
| `<figure>` | Représente un contenu autonome, éventuellement accompagné d'une légende facultative, qui est spécifiée à l'aide de l'élément `<figcaption>`. La figure, sa légende et son contenu sont référencés comme une seule unité. |
| `<hr>` | Représente un changement thématique entre des éléments de paragraphe (par exemple, un changement de décor dans un récit, un changement de sujet au sein d'une section). |
| `<li>` | Représente un élément dans une liste. Il doit être contenu dans un élément parent : une liste ordonnée (`<ol>`), une liste non ordonnée (`<ul>`) ou un menu (`<menu>`). Dans les menus et les listes non ordonnées, les éléments de liste sont habituellement affichés en utilisant des puces. Dans les listes ordonnées, ils sont habituellement affichés avec compteur croissant à gauche, tel qu'un nombre ou une lettre. |
| `<menu>` | L'élément HTML **`<menu>`** est une alternative sémantique à `<ul>`, mais est traité par les navigateurs, et en termes d'accessibilité comme un élément `<ul>`. Il représente une liste d'éléments non-ordonnée (chaque élément de la liste étant représenté par un élément `<li>`). |
| `<ol>` | Représente une liste ordonnée. Les éléments d'une telle liste sont généralement affichés avec un indicateur ordinal pouvant prendre la forme de nombres, de lettres, de chiffres romains ou de points. La mise en forme de la numérotation n'est pas utilisée dans la description HTML mais dans la feuille de style CSS associée grâce à la propriété `list-style-type`. |
| `<p>` | Représente un paragraphe de texte. Les paragraphes sont généralement représentés comme des blocs et séparés par un espace vertical, leur première ligne est également parfois indentée. Les paragraphes sont des éléments blocs. |
| `<pre>` | L'élément HTML **`<pre>`** représente du texte préformaté, généralement écrit avec une police à chasse fixe. Le texte est affiché tel quel, les espaces utilisés dans le document HTML seront retranscrits. |
| `<ul>` | Représente une liste d'éléments sans ordre particulier. Il est souvent représenté par une liste à puces. |

Sémantique du texte en ligne
----------------------------

Les éléments pour le texte en ligne peuvent être utilisés pour définir la signification, la structure ou la mise en forme d'un terme, d'une ligne ou d'un fragment de texte.

| Élément | Description |
| --- | --- |
| `<a>` | Avec son attribut `href`, il crée un lien hypertexte vers des pages web, des fichiers, des adresses e-mail, des emplacements se trouvant dans la même page, ou tout ce qu'une URL peut adresser. Le contenu de chaque élément `<a>` **doit** indiquer la destination du lien. Si l'attribut `href` est présent, appuyer sur la touche entrée en se concentrant sur l'élément `<a>` l'activera. |
| `<abbr>` | Représente une abréviation ou un acronyme ; l'attribut facultatif `title` peut fournir une explication ou une description de l'abréviation. S'il est présent, `title` doit contenir cette description complète et rien d'autre. |
| `<b>` | Permet d'attirer l'attention du lecteur sur un contenu qui n'a pas, pour autant, d'importance significative. Anciennement utilisé pour mettre le texte en gras. Cet élément ne doit pas être utilisé pour mettre en forme des éléments, c'est la propriété CSS `font-weight` qu'il faut utiliser. Si l'élément est d'une importance particulière, on utilisera l'élément HTML `<strong>`. |
| `<bdi>` | L'élément **`<bdi>`** (ou élément d'isolation de texte bidirectionnel) isole une portée (*span*) de texte pouvant être formatée dans une direction différente de celle du texte qui l'entoure. Cela permet, par exemple, de présenter correctement une citation en arabe (écrit de droite à gauche) au sein d'un texte écrit en français (écrit de gauche à droite). |
| `<bdo>` | Utilisé afin d'outrepasser la direction du texte. Cela permet d'imposer une direction donnée à un texte. L'orientation du texte est inversée mais pas celle des caractères. |
| `<br>` | Crée un saut de ligne (un retour chariot) dans le texte. Il s'avère utile lorsque les sauts de ligne ont une importance (par exemple lorsqu'on écrit une adresse ou un poème). |
| `<cite>` | L'élément **`<cite>`** contient le titre d'une œuvre telle qu'un livre, une chanson, un film, une sculpture… Cet élément doit inclure le titre de l'œuvre. Cette référence peut-être abrégée en accord avec les conventions d'usages pour l'ajout des métadonnées de citations. |
| `<code>` | Représente un court fragment de code machine. Par défaut, l'agent utilisateur utilise une police à chasse fixe (*monospace*) afin d'afficher le texte contenu dans cet élément. |
| `<data>` | Relie un contenu à une version de ce contenu interprétable par un ordinateur. Si le contenu possède une composante temporelle, l'élément `<time>` doit être utilisé. |
| `<dfn>` | Utilisé pour indiquer le terme défini dans le contexte d'une expression ou d'une phrase de définition. L'élément `<p>`, le couple `<dt>`/`<dd>` ou l'élément `<section>` qui est le plus proche ancêtre de `<dfn>` est considéré comme la définition du terme. |
| `<em>` | L'élément HTML **`<em>`** (pour emphase) est utilisé afin de marquer un texte sur lequel on veut insister. Les éléments `<em>` peuvent être imbriqués, chaque degré d'imbrication indiquant un degré d'insistance plus élevé. |
| `<i>` | Représente un morceau de texte qui se différencie du texte principal. Cela peut par exemple être le cas pour des termes techniques, des phrases dans une langue étrangère ou encore l'expression des pensées d'un personnage. Le contenu de cet élément est généralement affiché en italique. |
| `<kbd>` | Représente une plage de texte en ligne indiquant la saisie de texte par l'utilisateur à partir d'un clavier, d'une saisie vocale ou de tout autre dispositif de saisie de texte. Par convention, l'agent utilisateur rend par défaut le contenu d'un élément `<kbd>` en utilisant sa police monospace, bien que cela ne soit pas requis par le standard HTML. |
| `<mark>` | Représente un texte marqué ou surligné à cause de sa pertinence dans le contexte. Il peut par exemple être utilisé afin d'indiquer les correspondances d'un mot-clé recherché au sein d'un document. |
| `<q>` | Indique que le texte qu'il contient est une citation en incise. La plupart des navigateurs modernes entourent le texte de cet élément avec des marques de citation. Cet élément est destiné aux citations courtes qui ne nécessitent pas de sauts de paragraphe. Pour les plus grandes citations, on utilisera l'élément `<blockquote>`. |
| `<rp>` | Utilisé pour fournir ce qui fera office de parenthèse aux navigateurs qui ne prennent pas en charge les annotations Ruby. |
| `<rt>` | Indique la composante texte d'une annotation Ruby, il est notamment utilisé pour la prononciation, la traduction ou la translittération des caractères d'Asie orientale. Cet élément est toujours contenu dans un élément `<ruby>`. |
| `<ruby>` | Représente une annotation ruby. Les annotations Ruby servent à afficher la prononciation des caractères d'Asie orientale. |
| `
` | Permet d'afficher du texte qui est barré, car il n'est plus pertinent ou, car il est obsolète. `
` ne doit pas être employé pour indiquer des éditions dans un document (on utilisera alors `<del>` et `<ins>`). |
| `<samp>` | L'élément HTML **`<samp>`** est un élément qui permet de représenter un résultat produit par un programme informatique en incise dans du texte. Il est généralement affiché avec la police à chasse fixe du navigateur (par exemple en Courier ou en Lucida Console). |
| `<small>` | Permet de représenter des commentaires ou des textes à écrire en petits caractères (des termes d'un contrat, des mentions relatives au droit d'auteur, etc.) quelle que soit la présentation. |
| `<span>` | Un conteneur générique en ligne (*inline*) pour les contenus phrasés. Il ne représente rien de particulier. Il peut être utilisé pour grouper des éléments afin de les mettre en forme (grâce aux attributs `class` ou `id` et aux règles CSS) ou parce qu'ils partagent certaines valeurs d'attribut comme `lang`. Il doit uniquement être utilisé lorsqu'aucun autre élément sémantique n'est approprié. `<span>` est très proche de l'élément `<div>`, mais l'élément `<div>` est un élément de bloc, alors que `<span>` est un élément en ligne. |
| `<strong>` | Indique que le texte a une importance particulière ou un certain sérieux voire un caractère urgent. Cela se traduit généralement par un affichage en gras. |
| `<sub>` | Utilisé, pour des raisons typographiques, afin d'afficher du texte en indice (sous la ligne de base et généralement plus petit) par rapport au bloc de texte environnant. |
| `<sup>` | Utilisé, pour des raisons typographiques, afin d'afficher du texte en exposant (plus haut et généralement plus petit) par rapport au bloc de texte environnant. |
| `<time>` | Représente une période donnée. Cet élément permet d'utiliser l'attribut `datetime` afin de traduire la date ou l'instant dans un format informatique (permettant aux moteurs de recherche d'exploiter ces données ou de créer des rappels). |
| `<u>` | Affiche un fragment de texte qui est annoté avec des éléments non textuels. Par défaut, le contenu de l'élément est souligné. Cela pourra par exemple être le cas pour marquer un texte comme étant un nom propre chinois, ou pour marquer un texte qui a été mal orthographié. |
| `<var>` | Représente une variable dans une expression mathématique ou un texte lié à la programmation. Son contenu est généralement représenté avec une version italique de la police environnante utilisée, toutefois, ce comportement peut dépendre du navigateur utilisé. |
| `<wbr>` | Représente un emplacement où casser la ligne si nécessaire. Le navigateur pourra alors utiliser cet emplacement pour effectuer un saut de ligne si le texte est trop long et qu'en temps normal, une règle empêche le saut de ligne. |

Images et médias
----------------

HTML prend en charge différents fichiers multimédias pour les images, les fichiers audio et vidéo.

| Élément | Description |
| --- | --- |
| `<area>` | Définit une zone particulière d'une image et peut lui associer un lien hypertexte. Cet élément n'est utilisé qu'au sein d'un élément `<map>`. |
| `<audio>` | Utilisé afin d'intégrer un contenu sonore dans un document. Il peut contenir une ou plusieurs sources audio représentées avec l'attribut `src` ou l'élément `<source>` : le navigateur choisira celle qui convient le mieux. Il peut également être la destination de médias diffusés en continu, en utilisant un `MediaStream`. |
| `<img>` | L'élément HTML **`<img>`** permet d'intégrer une image dans un document. |
| `<map>` | Utilisé avec des éléments `<area>` afin de définir une image cliquable divisée en régions. |
| `<track>` | Utilisé comme élément fils d'un élément `<audio>` ou `<video>` et permet de fournir une piste texte pour le média (par exemple afin de gérer automatiquement les sous-titres). Les pistes texte utilisées avec cet élément sont formatées selon le format WebVTT (ce sont des fichiers `.vtt`) (WebVTT pour *Web Video Text Tracks*). |
| `<video>` | Intègre un contenu vidéo dans un document. |

Contenu embarqué
----------------

En plus du contenu multimédia, un document HTML peut embarquer d'autres contenus (bien que les interactions soient plutôt limitées).

| Élément | Description |
| --- | --- |
| `<embed>` | Intègre du contenu externe à cet endroit dans le document. Le contenu peut être fourni par une application externe ou une autre source telle qu'un *plugin* du navigateur. |
| `<iframe>` | Représente un contexte de navigation imbriqué qui permet en fait d'obtenir une page HTML intégrée dans la page courante. |
| `<object>` | Représente une ressource externe qui peut être interprétée comme une image, un contexte de navigation imbriqué ou une ressource à traiter comme un *plugin*. |
| `<picture>` | Un conteneur utilisé afin de définir zéro ou plusieurs éléments `<source>` destinés à un élément `<img>`. Le navigateur choisira la source la plus pertinente selon la disposition de la page (les contraintes qui s'appliquent à la boîte dans laquelle l'image devra être affichée), selon l'appareil utilisé (la densité de pixels de l'affichage par exemple avec les appareils hiDPI) et selon les formats pris en charge (ex. WebP pour les navigateurs Chromium ou PNG pour les autres). Si aucune correspondance n'est trouvée parmi les éléments `<source>`, c'est le fichier défini par l'attribut `src` de l'élément `<img>` qui sera utilisé. |
| `<portal>` | L'élément HTML **`<portal>`** permet d'embarquer une autre page HTML à l'intérieur de la page courante afin de permettre une navigation plus souple vers de nouvelles pages. |
| `<source>` | Définit différentes ressources média pour un élément `<picture>`, `<audio>` ou `<video>`. C'est un élément vide : il ne possède pas de contenu et ne nécessite pas de balise fermante. Il est généralement utilisé pour distribuer le même contenu en utilisant les différents formats d'image et de media pris en charge par les différents navigateurs. |

SVG et MathML
-------------

Vous pouvez intégrer du contenu SVG et MathML directement dans des documents HTML, en utilisant les éléments `<svg>` et `<math>`.

| Élément | Description |
| --- | --- |
| `<svg>` | Utilisé pour intégrer des fragments de code SVG à l'intérieur d'un document (par exemple, un document HTML). Ce fragment de code SVG dispose de ses propres viewport et système de coordonnées. |
| `<math>` | L'élément racine de MathML. Tout objet représenté en MathML doit être encadré de balises `<math>`. De plus, il est interdit d'imbriquer un autre élément `<math>` à l'intérieur d'un premier. Il est toutefois possible d'avoir un nombre arbitraire d'éléments fils à l'intérieur d'un élément `<math>`. |

Scripts
-------

Afin de créer du contenu dynamique et des applications web, des langages de script peuvent être utilisés pour manipuler le document HTML. Certains éléments HTML permettent de gérer les liens entre les scripts et le document.

| Élément | Description |
| --- | --- |
| `<canvas>` | On utilise l'élément **HTML `<canvas>`** avec l'API canvas, ou l'API WebGL pour dessiner des graphiques et des animations. |
| `<noscript>` | Définit un fragment HTML qui doit être affiché si les fonctionnalités de script ne sont pas prises en charge ou si elles sont désactivées. |
| `<script>` | Utilisé pour intégrer ou faire référence à un script exécutable. Cela fait généralement référence à du code JavaScript mais ce peut également être un autre type de script (par exemple WebGL). |

Gestion de l'édition
--------------------

Ces éléments permettent d'indiquer si des portions du texte ont été modifiées.

| Élément | Description |
| --- | --- |
| `<del>` | Représente une portion de texte ayant été supprimée d'un document. Cet élément est souvent (mais pas nécessairement) affiché rayé. L'élément `<ins>` est quant à lui utilisé pour représenter des portions de texte ajoutées. |
| `<ins>` | Représente un fragment de texte qui a été ajouté dans un document. |

Contenu tabulaire
-----------------

Les éléments listés ici permettent de créer et de gérer des données tabulaires.

| Élément | Description |
| --- | --- |
| `<caption>` | L'élément **`<caption>`** définit la légende (ou le titre) d'un tableau. |
| `<col>` | Définit une colonne appartenant à un tableau et est utilisé afin de définir la sémantique commune à toutes ses cellules. On trouve généralement cet élément au sein d'un élément `<colgroup>`. |
| `<colgroup>` | Définit un groupe de colonnes au sein d'un tableau. |
| `<table>` | Représente un tableau de données, c'est-à-dire des informations exprimées sur un tableau en deux dimensions. |
| `<tbody>` | L'élément HTML **`<tbody>`** permet de regrouper un ou plusieurs éléments `<tr>` afin de former le corps d'un tableau HTML (`<table>`). |
| `<td>` | L'élément HTML **`<td>`** définit une cellule d'un tableau qui contient des données. Cet élément fait partie du *modèle de tableau*. |
| `<tfoot>` | L'élément HTML **`<tfoot>`** permet de définir un ensemble de lignes qui résument les colonnes d'un tableau. |
| `<th>` | Définit une cellule d'un tableau comme une cellule d'en-tête pour un groupe de cellule. La nature de ce groupe est définie grâce aux attributs `scope` et `headers`. |
| `<thead>` | L'élément HTML **`<thead>`** définit un ensemble de lignes qui définit l'en-tête des colonnes d'un tableau. |
| `<tr>` | Définit une ligne de cellules dans un tableau. Une ligne peut être constituée d'éléments `<td>` (les données des cellules) et `<th>` (les cellules d'en-têtes). |

Formulaires
-----------

HTML fournit un certain nombre d'éléments qui peuvent être utilisés ensemble pour créer des formulaires que l'utilisateur peut remplir et soumettre au site web ou à l'application. De nombreuses informations complémentaires à ce sujet sont disponibles dans le guide des formulaires HTML.

| Élément | Description |
| --- | --- |
| `<button>` | L'élément **`<button>`** représente un bouton cliquable, utilisé pour soumettre des formulaires ou n'importe où dans un document pour une fonctionnalité de bouton accessible et standard. Par défaut, les boutons HTML sont présentés dans un style ressemblant à la plate-forme d'exécution de l'agent utilisateur, mais vous pouvez modifier l'apparence des boutons avec CSS. |
| `<datalist>` | Contient un ensemble d'éléments `<option>` qui représentent les valeurs possibles pour d'autres contrôles. |
| `<fieldset>` | Utilisé afin de regrouper plusieurs contrôles interactifs ainsi que des étiquettes (`<label>`) dans un formulaire HTML. |
| `<form>` | Représente un formulaire, c'est-à-dire une section d'un document qui contient des contrôles interactifs permettant à un utilisateur de fournir des informations. |
| `<input>` | L'élément HTML **`<input>`** est utilisé pour créer un contrôle interactif dans un formulaire web qui permet à l'utilisatrice ou l'utilisateur de saisir des données. Les saisies possibles et le comportement de l'élément `<input>` dépendent fortement de la valeur indiquée dans son attribut `type` et de ses autres attributs. Il existe différents contrôles pour la saisie, qui dépendent de l'appareil utilisé et de l'agent utilisateur. |
| `<label>` | Représente une légende pour un objet d'une interface utilisateur. Il peut être associé à un contrôle en utilisant l'attribut `for` ou en plaçant l'élément du contrôle à l'intérieur de l'élément `<label>`. Un tel contrôle est appelé *contrôle étiqueté* par l'élément `<label>`. |
| `<legend>` | Représente une légende pour le contenu de son élément parent `<fieldset>`. |
| `<meter>` | Représente une valeur scalaire dans un intervalle donné ou une valeur fractionnaire. |
| `<optgroup>` | Utilisé dans un formulaire, il permet de créer un groupe d'options parmi lesquelles on peut choisir dans un élément `<select>`. |
| `<option>` | Utilisé dans un formulaire, il permet de représenter un contrôle au sein d'un élément `<select>`, `<optgroup>` ou `<datalist>`. Cet élément peut donc représenter des éléments d'un menu dans un document HTML. |
| `<output>` | Représente un conteneur dans lequel un site ou une application peut injecter le résultat d'un calcul ou d'une action utilisateur. |
| `<progress>` | Indique l'état de complétion d'une tâche et est généralement représenté par une barre de progression. |
| `<select>` | Représente un contrôle qui fournit une liste d'options parmi lesquelles l'utilisateur pourra choisir. |
| `<textarea>` | Représente un contrôle qui permet d'éditer du texte sur plusieurs lignes. |

Éléments interactifs
--------------------

HTML fournit différents éléments qui permettent de créer des interfaces utilisateur interactives.

| Élément | Description |
| --- | --- |
| `<details>` | Utilisé comme un outil permettant de révéler une information. Un résumé ou un intitulé peuvent être fournis grâce à un élément `<summary>`. |
| `<dialog>` | Représente une boite de dialogue ou un composant interactif (par exemple un inspecteur ou une fenêtre). |
| `<summary>` | Représente une boîte permettant de révéler le contenu d'un résumé ou d'une légende pour le contenu d'un élément `<details>`. En cliquant sur l'élément `<summary>`, on passe de l'état affiché à l'état masqué (et vice versa) de l'élément `<details>` parent. |

Composants web (*web components*)
---------------------------------

Les composants web (ou *web components* en anglais) permettent de créer et d'utiliser des éléments personnalisés comme s'ils étaient des éléments HTML classiques. Cela permet également de créer ses propres versions des éléments standards HTML.

| Élément | Description |
| --- | --- |
| `<slot>` | Représente un emplacement d'un composant web qu'on peut remplir avec son propre balisage. On peut ainsi obtenir un document construit avec différents arbres DOM. Cet élément fait partie des outils relatifs aux composants web (Web Components). |
| `<template>` | Un mécanisme utilisé pour stocker du contenu HTML (côté client) qui ne doit pas être affiché lors du chargement de la page mais qui peut être instancié et affiché par la suite grâce à un script JavaScript. |

Éléments obsolètes ou dépréciés
-------------------------------

**Attention :** Ces éléments sont d'anciens éléments HTML qui sont désormais dépréciés et qui ne devraient plus être utilisés. **Ces éléments ne doivent pas être utilisés dans de nouveaux projets et doivent être remplacés dans les anciens projets dès que possible.** Ces éléments uniquement sont listés ici à des fins d'information.


| Élément | Description |
| --- | --- |
| `<acronym>` | Permet d'indiquer une séquence de caractères composant un acronyme ou une abréviation. |
| `<applet>` | Embarque un *applet* Java dans le document. Remplacé par `<object>`. |
| `<bgsound>` | Un son diffusé en arrière-plan lorsque la page est utilisée. Remplacé par `<audio>` |
| `<big>` | Affiche le texte avec une taille plus grande que le texte environnant. |
| `<blink>` | Le texte concerné clignote lentement. |
| `<center>` | Le contenu en ligne ou de bloc est centré horizontalement dans l'élément englobant. |
| `<content>` | Utilisé comme point d'insertion dans le DOM sombre. Remplacé par `<slot>` |
| `<dir>` | Un index de fichiers et de répertoires. Il faut utiliser `<ul>` à la place pour représenter les listes de fichiers. |
| `<font>` | Définit la taille de la police, sa couleur et son type. |
| `<frame>` | Définit une zone particulière dans laquelle un autre document HTML est affiché. Une `<frame>` (un « cadre » en français) doit être utilisée dans un élément `<frameset>`. |
| `<frameset>` | Utilisé pour contenir plusieurs éléments `<frame>`. |
| `<image>` | Remplacé par `<img>`. |
| `<marquee>` | Utilisé pour insérer une zone de texte défilant. |
| `<menuitem>` | Représente une commande qu'un utilisateur peut utiliser via un menu contextuel ou un menu rattaché à un bouton. |
| `<nobr>` | Évite qu'un texte soit coupé par un retour à la ligne automatique ; il est donc affiché sur une seule ligne. Il peut être alors nécessaire d'utiliser les barres de défilement pour lire le texte en intégralité. |
| `<noembed>` | Une façon obsolète et non standardisée de fournir une alternative de contenu pour les navigateurs ne supportant pas l'élément `<embed>` ou des catégories de contenu qu'un auteur aimerait utiliser. |
| `<noframes>` | Utilisé par les navigateurs qui ne prennent pas en charge les éléments `<frame>`, ou qui sont configurés afin de ne pas les prendre en charge. |
| `<param>` | Définit les paramètres qui peuvent être employés dans un élément `<object>`. |
| `<plaintext>` | Permet d'afficher du texte qui n'est pas interprété comme du HTML. Il ne possède pas de balise de fermeture, car tout ce qui suit n'est plus considéré comme du HTML. |
| `<rb>` | Utilisé afin de délimiter le composant texte de base d'une annotation `<ruby>`. Autrement dit, le texte qui est annoté. Un élément `<rb>` devrait encadrer chaque segment atomique du texte de base. |
| `<rtc>` | Permet d'ajouter des notations Ruby sémantiques. Il est donc proche des éléments liées à la représentation Ruby comme `<rb>`, `<ruby>`. Les éléments `<rb>` peuvent être annotés pour la prononciation (`<rt>`) ou pour la sémantique (`<rtc>`). |
| `<shadow>` | Était utilisé comme un point d'insertion du DOM sombre pour les composants web. |
| `<spacer>` | Utilisé pour insérer des blancs au sein d'une page web. Il a été créé par Netscape pour obtenir le même effet que celui qui était créé avec des images GIF d'un pixel, permettant d'ajouter des espaces blancs. Cependant, `<spacer>` n'est plus pris en charge par les principaux navigateurs principaux et il faut utiliser les règles CSS pour obtenir ces effets d'alignement. |
| `<strike>` | Permet de représenter du texte barré ou avec une ligne le traversant. |
| `<tt>` | Crée un élément en ligne, écrit dans la police à chasse fixe par défaut du navigateur. Cet élément a été conçu pour mettre en forme du texte comme s'il apparaissait sur un affichage à largeur fixe tel qu'un téléscripteur. |
| `<xmp>` | Affiche le texte entre les balises de début et de fin, sans interpréter le HTML contenu à l'intérieur en utilisant une police à chasse fixe. La spécification HTML2 recommande un rendu suffisamment large pour permettre 80 caractères par ligne. |