Référence des attributs HTML
============================

Les éléments HTML ont des **attributs** ; ce sont des valeurs supplémentaires qui configurent les éléments ou ajustent leur comportement de différentes manières pour répondre aux critères souhaités par les utilisateurs.

Liste des attributs
-------------------

| Nom de l'attribut | Éléments concernés | Description |
| --- | --- | --- |
| `accept` | `<form>`,
 `<input>` | 
 La liste des types acceptés par le serveur. Généralement, il s'agit de
 types de fichier.
  |
| `accept-charset` | `<form>` | La liste des jeux de caractères pris en charge. |
| `accesskey` | Attribut universel | 
 Cet attribut permet de définir un raccourci clavier pour activer un
 élément ou lui passer le focus.
  |
| `action` | `<form>` | 
 L'URI d'un programme qui traite les informations envoyées par le
 formulaire.
  |
| `align` | `<applet>`,
 `<caption>`, `<col>`,
 `<colgroup>`, `<hr>`,
 `<iframe>`, `<img>`,
 `<table>`,
 `<tbody>`, `<td>`,
 `<tfoot>`
 , `<th>`,
 `<thead>`, `<tr>` | Cet attribut définit l'alignement horizontal de l'élément. |
| `allow` | `<iframe>` | 
 Cet attribut définit les règles des fonctionnalités pour cette
 *iframe*.
  |
| `alt` | `<applet>`, `<area>`, `<img>`,
 `<input>` | 
 Un texte alternatif à afficher lorsque l'élément ne peut pas être
 affiché.
  |
| `async` | `<script>` | 
 Cet attribut indique que le script devrait être exécuté de façon
 asynchrone.
  |
| `autocapitalize` | Attribut universel | 
 Cet attribut contrôle la façon dont un champ texte est saisi en
 majuscules de façon automatique.
  |
| `autocomplete` | 
`<form>`,
 `<input>`,
 `<select>`,
 `<textarea>`
 | 
 Cet attribut indique que ces contrôles ou que ce formulaire peuvent être
 remplis automatiquement par le navigateur.
  |
| `autofocus` | `<button>`,
 `<input>`,
 `<select>`,
 `<textarea>` | 
 Cet attribut indique que l'élément doit recevoir le focus
 automatiquement une fois que la page est chargée.
  |
| `autoplay` | `<audio>`,
 `<video>` | 
 Cet attribut indique que l'élément audio ou vidéo doit être lancé dès
 que possible.
  |
| `background` | `<body>`,
 `<table>`, `<td>`, `<th>` | Définit l'URL vers un fichier qui est une image.

**Note :**Bien que les navigateurs et les clients
 *e-mails* prennent en charge cet attribut, cet attribut est
 obsolète. On utilisera plutôt la propriété
 `background-image`.

 |
| `bgcolor` | `<body>`, `<col>`,
 `<colgroup>`,
 `<marquee>`,
 `<table>`,
 `<tbody>`,
 `<tfoot>`, `<td>`, `<th>`, `<tr>` | Cet attribut indique la couleur d'arrière-plan pour l'élément.

**Note :**Cet attribut est un attribut historique.
 Veuillez utiliser la propriété CSS standard
 `background-color`.

 |
| `border` | `<img>`,
 `<object>`,
 `<table>` | Cet attribut indique la largeur de la bordure.

**Note :**Cet attribut est un attribut historique.
 Veuillez utiliser la propriété CSS standard
 `border`.

 |
| `buffered` | `<audio>`,
 `<video>` | 
 Cet attribut contient la valeur de l'intervalle de temps d'ores et déjà
 mis en mémoire tampon pour le média de l'élément.
  |
| `capture` | `<input>` | À partir de la spécification *HTML Media Capture*, spécifie qu'un nouveau fichier peut être capturé. |
| `charset` | `<meta>`,
 `<script>` | 
 Cet attribut déclare l'encodage de caractères utilisé pour la page ou le
 script.
  |
| `checked` | `<command>`,
 `<input>` | 
 Cet attribut indique si l'élément doit être vérifié au chargement de la
 page.
  |
| `cite` | `<blockquote>`, `<del>`, `<ins>`, `<q>` | 
 Cet attribut est une URI qui pointe vers la source de la citation ou de
 la modification.
  |
| `class` | Attribut universel | 
 Cet attribut permet de définir la ou les classes auxquelles appartient
 un élément afin de le manipuler en script ou de le mettre en forme avec
 CSS.
  |
| `code` | `<applet>` | 
 Cet attribut définit l'URL du fichier de classe qui doit être utilisé
 pour le chargement et l'exécution de l'applet.
  |
| `codebase` | `<applet>` | 
 Cet attribut fournit une URL absolue ou relative du dossier contenant
 les fichiers `.class` de l'applet.
  |
| `color` | `<basefont>`, `<font>`, `<hr>` | 
 Cet attribut définit la couleur du texte grâce à un nom de couleur ou
 grâce à un code hexadécimal dans le format #RRGGBB.


**Note :**Cet attribut est un attribut historique.
 Veuillez utiliser la propriété CSS standard
 `color`.

 |
| `cols` | `<textarea>` | 
 Cet attribut définit le nombre de colonnes pour le texte contenu dans
 un `textarea`.
  |
| `colspan` | `<td>`, `<th>` | 
 Cet attribut définit le nombre de colonnes sur lequel une cellule doit
 s'étendre.
  |
| `content` | `<meta>` | 
 Une valeur associée avec `http-equiv` ou
 `name` selon le contexte.
  |
| `contenteditable` | Attribut universel | Cet attribut indique si le contenu de l'élément peut être édité. |
| `contextmenu` | Attribut universel | 
 Cet attribut fait référence à l'identifiant d'un élément
 `<menu>`
 qui sera utilisé comme menu contextuel pour l'élément.
  |
| `controls` | `<audio>`,
 `<video>` | 
 Cet attribut indique si le navigateur doit afficher les contrôles de
 lecture du média pour l'utilisateur.
  |
| `coords` | `<area>` | Un ensemble de valeurs qui définit les coordonnées de la zone d'intérêt. |
| `crossorigin` | `<audio>`, `<img>`, `<link>`,
 `<script>`,
 `<video>` | Cet attribut gère les requêtes de différentes origines. |
| `csp`

Expérimental
 | `<iframe>` | 
 Cet attribut définit la politique de sécurité de contenu que le document
 intégré doit respecter.
  |
| `data` | `<object>` | Cet attribut définit l'URL de la ressource. |
| `data-*` | Attribut universel | 
 Grâce aux attributs de donnée, on peut associer des attributs
 personnalisés afin de transporter des informations spécifiques.
  |
| `datetime` | `<del>`, `<ins>`, `<time>` | Cet attribut indique la date et l'heure associées à l'élément. |
| `decoding` | `<img>` | Cet attribut indique la méthode préférée pour décoder l'image. |
| `default` | `<track>` | 
 Cet attribut indique que la piste devrait être activée sauf si les
 préférences de l'utilisateur indiquent un autre choix.
  |
| `defer` | `<script>` | 
 Cet attribut indique que le script doit être exécuté une fois que la
 page a été analysée.
  |
| `dir` | Attribut universel | 
 Cet attribut définit la direction du texte (gauche à droite ou droite à
 gauche).
  |
| `dirname` (en-US) | `<input>`,
 `<textarea>` |  |
| `disabled` | `<button>`,
 `<command>`,
 `<fieldset>`,
 `<input>`,
 `<optgroup>`,
 `<option>`,
 `<select>`,
 `<textarea>` | Cet attribut indique si l'utilisateur peut interagir avec l'élément. |
| `download` | `<a>`, `<area>` | 
 Cet attribut indique si l'hyperlien est utilisé afin de télécharger une
 ressource.
  |
| `draggable` | Attribut universel | Cet attribut indique si l'élément peut être déplacé/glissé. |
|
| `enctype` | `<form>` | 
 Cet attribut définit le type de contenu des données de formulaire
 envoyées lorsque la méthode utilisée est `POST`.
  |
| `enterkeyhint`

Expérimental
 | `<textarea>`,
 `contenteditable` | 
 Cet attribut indique le libellé ou l'icône à afficher sur la touche
 entrée des claviers virtuels. Cet attribut peut être utilisé sur les
 contrôles de formulaires ou sur les éléments qui sont éditables (par
 exemple avec l'attribut `contenteditable`).
  |
| `for` | `<label>`,
 `<output>` | Cet attribut décrit l'élément auquel se rapporte l'élément courant. |
| `form` | `<button>`,
 `<fieldset>`,
 `<input>`,
 `<label>`,
 `<meter>`,
 `<object>`,
 `<output>`,
 `<progress>`,
 `<select>`,
 `<textarea>` | Cet attribut indique le formulaire auquel l'élément se rapporte. |
| `formaction` | `<input>`,
 `<button>` | 
 Cet attribut est l'URI du programme qui traite les données pour ces
 champs du formulaire. Il prend le pas sur l'attribut
 `action` défini pour
 `<form>`.
  |
| `formenctype` | `<input>`,
 `<button>` | 
 Si le bouton ou le champ sert à l'envoi (`type="submit"`),
 cet attribut indique l'encodage utilisé pour l'envoi des données. Si cet
 attribut est indiqué, il surcharge l'attribut `enctype` du
 formulaire auquel est
 rattaché le bouton/champ.
  |
| `formmethod` | `<input>`,
 `<button>` | 
 Si le bouton ou le champ sert à l'envoi (`type="submit"`),
 cet attribut indique la méthode HTTP pour envoyer les données
 (`GET`, `POST`, etc.). Si cet attribut est
 indiqué, il surcharge l'attribut `method` du formulaire
 auquel est rattaché le bouton/champ.
  |
| `formnovalidate` | `<input>`,
 `<button>` | 
 Si le bouton ou le champ sert à l'envoi (`type="submit"`),
 cet attribut booléen indique que le formulaire ne doit pas être validé à
 l'envoi. Si cet attribut est indiqué, il surcharge l'attribut
 `novalidate` du formulaire auquel est rattaché le
 bouton/champ.
  |
| `formtarget` | `<input>`,
 `<button>` | 
 Si le bouton ou le champ sert à l'envoi (`type="submit"`),
 cet attribut indique le contexte de navigation (onglet, fenêtre ou
 *iframe*) dans lequel afficher la réponse après l'envoi du
 formulaire. Si cet attribut est indiqué, il surcharge l'attribut
 `target` du formulaire auquel est rattaché le bouton/champ.
  |
| `headers` | `<td>`, `<th>` | 
 Les identifiants des éléments `<th>` qui s'appliquent à
 cet élément.
  |
| `height` | `<canvas>`,
 `<embed>`,
 `<iframe>`, `<img>`,
 `<input>`,
 `<object>`,
 `<video>` | 
 Pour ces éléments, cet attribut définit la hauteur occupée par
 l'élément. Pour les autres éléments, on utilisera
 `height` property.


**Note :**Pour certains éléments comme
 `<div>`,cet attribut est un reliquat et ne devrait plus être utilisé.
 C'est la propriété CSS
 `height` qui est la
 méthode standard pour définir la hauteur d'un élément.

 |
| `hidden` | Attribut universel | 
 Cet attribut empêche le rendu d'un élément sur une page tout en
 conservant les éléments fils actifs.
  |
| `high` | `<meter>` | Cet attribut indique la borne inférieure de l'intervalle haut. |
| `href` | `<a>`, `<area>`, `<base>`, `<link>` | L'URL de la ressource liée. |
| `hreflang` | `<a>`, `<area>`, `<link>` | Cet attribut indique la langue utilisée pour la ressource liée. |
| `http-equiv` | `<meta>` | 
 Définit une directive
 Pragma (en-US).
  |
| `icon` | `<command>` | Cet attribut indique une image qui représente la commande. |
| `id` | Attribut universel | 
 Cet attribut permet d'identifier un élément d'un document de façon
 unique. Il est généralement utilisé pour manipuler l'élément avec des
 scripts ou pour le mettre en forme avec CSS.
  |
| `importance`

Expérimental
 | `<iframe>`, `<img>`, `<link>`,
 `<script>` | 
 Cet attribut indique la priorité relative pour la récupération
 (*fetch*) des ressources.
  |
| `integrity` | `<link>`,
 `<script>` | 
 Une fonctionnalité relative à la sécurité qui permet aux navigateurs
 de vérifier les fichiers qu'ils récupèrent.
  |
| `intrinsicsize`

Obsolète
 | `<img>` | 
 Cet attribut indique au navigateur qu'il faut ignorer la taille
 intrinsèque de l'image et qu'il faut utiliser la taille indiquée avec
 les attributs.
  |
| `inputmode` | `<textarea>`,
 `contenteditable` | 
 Cet attribut fournit une indication sur le type de donnée qui pourrait
 être saisi par l'utilisateur lors de l'édition du formulaire ou de
 l'élément. Cet attribut peut être utilisé sur les contrôles de
 formulaires ou sur les éléments qui sont éditables (par exemple avec
 l'attribut `contenteditable`).
  |
| `ismap` | `<img>` | 
 Cet attribut indique que l'image contribue à une mosaïque d'images
 interactive côté serveur.
  |
| `itemprop` | Attribut universel |  |
| `kind` | `<track>` | Cet attribut définit le type de piste textuelle. |
| `label` | `<optgroup>`,
 `<option>`,
 `<track>` | 
 Cet attribut définit un titre, lisible par un utilisateur, pour
 l'élément.
  |
| `lang` | Attribut universel | Cet attribut définit la langue utilisée dans l'élément. |
| `language` | `<script>` | Cet attribut définit le langage de script utilisé dans l'élément. |
| `loading` 
Expérimental
 | `<img>`,
 `<iframe>` | Cet attribut indique que l'élément doit être chargé à la demande. |
| `list` | `<input>` | 
 Cet attribut constitue une liste d'options prédéfinie qui est suggérée à
 l'utilisateur.
  |
| `loop` | `<audio>`,
 `<bgsound>`,
 `<marquee>`,
 `<video>` | 
 Cet attribut indique si le média courant doit recommencer au début une
 fois que sa lecture est terminée.
  |
| `low` | `<meter>` | Cet attribut indique la borne supérieure de l'intervalle bas. |
| `manifest`

Obsolète
 | `<html>` | 
 Cet attribut définit l'URL du manifeste du document pour la gestion du
 cache.


**Note :**Cet attribut est obsolète, utilisez
 `<link rel="manifest">`
 à la place.

 |
| `max` | `<input>`,
 `<meter>`,
 `<progress>` | Cet attribut indique la valeur maximale autorisée. |
| `maxlength` | `<input>`,
 `<textarea>` | 
 Cet attribut définit le nombre maximal de caractères autorisé dans
 l'élément.
  |
| `minlength` | `<input>`,
 `<textarea>` | 
 Cet attribut définit le nombre minimal de caractères qui doivent être
 saisis dans l'élément.
  |
| `media` | `<a>`, `<area>`, `<link>`,
 `<source>`,
 `<style>` | 
 Cet attribut est indication à propos du type de média pour la ressource
 liée.
  |
| `method` | `<form>` | 
 Cet attribut définit la méthode HTTP à
 utiliser pour l'envoi des données du formulaire (`GET` par
 défaut ou `POST`)
  |
| `min` | `<input>`,
 `<meter>` | Cet attribut indique la valeur minimale autorisée. |
| `multiple` | `<input>`,
 `<select>` | 
 Cet attribut indique si plusieurs valeurs peuvent être saisies pour des
 entrées de type `email` ou `file`.
  |
| `muted` | `<audio>`,
 `<video>` | 
 Cet attribut indique si le son de la vidéo doit être coupé lorsque la
 page est chargée initialement.
  |
| `name` | `<button>`, `<form>`,
 `<fieldset>`,
 `<iframe>`,
 `<input>`,
 `<object>`,
 `<output>`,
 `<select>`,
 `<textarea>`, `<map>`, `<meta>`,
 `<param>` | 
 Le nom de l'élément qui peut être utilisé par le serveur pour identifier
 le champ d'un formulaire.
  |
| `novalidate` | `<form>` | 
 Cet attribut indique que les données du formulaire ne doivent pas être
 validées lors de l'envoi.
  |
| `open` | `<details>` | 
 Cet attribut indique si les détails seront affichés lors du chargement
 de la page.
  |
| `optimum` | `<meter>` | Cet attribut indique la valeur numérique optimale. |
| `pattern` | `<input>` | 
 Cet attribut définit une expression rationnelle contre laquelle valider
 la valeur de l'élément.
  |
| `ping` | `<a>`, `<area>` |  |
| `placeholder` (en-US) | `<input>`,
 `<textarea>` | 
 Cet attribut fournit une indication à l'utilisateur sur ce qu'il peut
 saisir dans le champ.
  |
| `poster` | `<video>` | 
 Cet attribut est une URL qui indique l'image à afficher tant que
 l'utilisateur n'a pas lancé la vidéo ou déplacé le curseur.
  |
| `preload` | `<audio>`,
 `<video>` | 
 Cet attribut indique si toute ou partie, voire aucune partie de la
 ressource doit être téléchargée en avance.
  |
| `radiogroup` | `<command>` |  |
| `readonly` | `<input>`,
 `<textarea>` | Cet attribut indique si l'élément peut être édité. |
| `referrerpolicy` | `<a>`, `<area>`,
 `<iframe>`, `<img>`, `<link>`,
 `<script>` | 
 Définit le référent (*referrer*) envoyé lors de la récupération
 de la ressource.
  |
| `rel` | `<a>`, `<area>`, `<link>` | Cet attribut définit la relation entre l'objet cible et l'objet du lien. |
| `required` | `<input>`,
 `<select>`,
 `<textarea>` | 
 Cet attribut indique si l'élément doit obligatoirement être renseigné
 dans le formulaire.
  |
| `reversed` | `<ol>` | 
 Cet attribut indique si la liste doit être affichée dans un ordre
 décroissant plutôt que dans un ordre croissant.
  |
| `rows` | `<textarea>` | Cet attribut définit le nombre de lignes pour la zone de texte. |
| `rowspan` | `<td>`, `<th>` | 
 Cet attribut définit le nombre de lignes sur lesquelles une cellule doit
 s'étendre.
  |
| `sandbox` | `<iframe>` | 
 Empêche un élément chargé dans une *iframe* d'utiliser certaines
 fonctionnalités (envoyer des formulaires ou ouvrir de nouvelles fenêtres
 par exemples).
  |
| `scope` | `<th>` | Définit les cellules sur lesquelles porte la cellule d'en-tête. |
| `scoped`
Non-standard

Obsolète
 | `<style>` |  |
| `selected` | `<option>` | 
 Cet attribut définit la valeur qui sera sélectionnée au chargement de la
 page.
  |
| `shape` | `<a>`, `<area>` |  |
| `size` | `<input>`,
 `<select>` | 
 Cet attribut définit la largeur de l'élément en pixels, si l'attribut
 `type` de l'élément vaut `text` ou
 `password`, cela correspond au nombre de caractères du champ.
  |
| `sizes` | `<link>`, `<img>`,
 `<source>` |  |
| `slot` | Attribut universel | 
 Cet attribut affecte un créneau pour un élément dans le
 *shadow DOM*.
  |
| `span` | `<col>`,
 `<colgroup>` |  |
| `spellcheck` | Attribut universel | 
 Cet attribut indique si la vérification orthographique est activée pour
 l'élément courant.
  |
| `src` | `<audio>`,
 `<embed>`,
 `<iframe>`, `<img>`,
 `<input>`,
 `<script>`,
 `<source>`,
 `<track>`,
 `<video>` | Cet attribut indique l'URL du contenu embarqué. |
| `srcdoc` | `<iframe>` |  |
| `srclang` | `<track>` |  |
| `srcset` | `<img>`,
 `<source>` | Une ou plusieurs images candidates adaptatives. |
| `start` | `<ol>` | 
 Cet attribut définit le premier nombre de la liste si celui-ci est
 différent de 1.
  |
| `step` | `<input>` |  |
| `style` | Attribut universel | 
 Cet attribut définit des styles CSS qui auront la priorité sur ceux
 définis précédemment. Il ne devrait être utilisé qu'à des fins de tests,
 car il est conseillé d'utiliser un/des fichier(s) à part pour gérer la
 mise en forme.
  |
| `summary`
Obsolète
 | `<table>` |  |
| `tabindex` | Attribut universel | 
 Cet attribut permet de modifier l'ordre dans la navigation à la
 tabulation.
  |
| `target` | `<a>`, `<area>`, `<base>`, `<form>` |  |
| `title` | Attribut universel | 
 Cet attribut définit un texte expliquant le contenu de l'élément et qui
 est généralement affiché sous la forme d'une bulle d'information au
 survol de l'élément.
  |
| `translate` | Attribut universel | 
 Cet attribut indique si le contenu textuel de l'élément doit être
 traduit ou non.
  |
| `type` | `<button>`,
 `<input>`,
 `<command>`,
 `<embed>`,
 `<object>`,
 `<script>`,
 `<source>`,
 `<style>`, `<menu>` | Cet attribut définit le type de l'élément. |
| `usemap` | `<img>`,
 `<input>`,
 `<object>` |  |
| `value` | `<button>`,
 `<option>`,
 `<input>`, `<li>`,
 `<meter>`,
 `<progress>`,
 `<param>` | 
 Cet attribut définit la valeur par défaut qui sera affichée dans
 l'élément au chargement de la page.
  |
| `width` | `<canvas>`,
 `<embed>`,
 `<iframe>`, `<img>`,
 `<input>`,
 `<object>`,
 `<video>` | Pour ces éléments, cet attribut définit la largeur occupée sur l'écran.


**Note :**Pour tous les autres éléments, comme
 `<div>`, il faut utiliser la propriété CSS standard
 `width` afin de
 définir la largeur.

 |
| `wrap` | `<textarea>` | 
 Cet attribut indique l'utilisation du retour automatique à la ligne pour
 le texte de l'élément.
  |

Attribut de contenu ou attribut IDL ?
-------------------------------------

En HTML, la plupart des attributs ont deux aspects : l'**attribut de contenu** et l'**attribut IDL** (pour *Interface Definition Language* ou langage de définition des interfaces).

L'attribut de contenu est l'attribut qu'on définit via le contenu (le code HTML) et qu'on obtient et/ou définit via les méthodes `element.setAttribute()` et `element.getAttribute()`. L'attribut de contenu sera toujours une chaîne de caractères, y compris lorsque la valeur attendue est un entier. Ainsi, pour indiquer une `maxlength` d'un élément `<input>` à 42, on utilisera `setAttribute("maxlength", "42")` sur cet élément.

L'attribut IDL est également connu sous la forme d'une propriété JavaScript. Ce sont les attributs qu'on peut obtenir ou modifier via JavaScript sous la forme `élément.toto`. L'attribut IDL utilisera toujours la valeur de l'attribut de contenu sous-jacent, éventuellement en la modifiant pour renvoyer une valeur ou pour la modifier. Autrement dit, les attributs IDL, reflètent les attributs de contenu.

La plupart du temps, les attributs IDL renverront leurs valeurs, telles qu'elles sont utilisées. Par exemple, le type (l'attribut `type`) par défaut des éléments `<input>` vaut `"text"`, et si on définit `input.type="tototruc"`, l'élément `<input>` se comportera comme un élément de type `text` (en termes d'apparence et de comportement) mais le contenu de l'attribut `type` sera "tototruc". Cependant, l'attribut de type IDL renverra la chaîne `"text"`.

Les attributs IDL ne sont pas toujours des chaînes de caractères. `input.maxlength` est un nombre par exemple (un entier long signé pour être précis). Lorsqu'on manipule des attributs IDL on utilisera toujours le type défini pour l'interface. Ainsi, `input.maxlength` renverra toujours un nombre et si on souhaite le définir, il faudra le faire avec un nombre, si on passe une valeur d'un autre type, cette valeur sera convertie grâce aux mécanismes de conversion habituels de JavaScript.

Les attributs IDL peuvent refléter d'autres types tels que les unsigned long, les URL, les booléens, etc. Malheureusement, il n'existe pas de règles claires et la façon dont les attributs IDL se comportent en conjonction avec leurs attributs de contenu correspondants, cela dépend de l'attribut. La plupart du temps, il suivra les règles énoncées dans la spécification, mais parfois, il ne le fera pas. Les spécifications HTML essaient de rendre cela aussi convivial que possible pour les développeurs, mais pour diverses raisons (principalement historiques), certains attributs se comportent bizarrement (`select.size`, par exemple) et vous devriez lire les spécifications pour comprendre comment ils se comportent exactement.

Attributs booléens
------------------

Certains attributs de contenu (ex. `required`, `readonly`, `disabled`) sont des attributs booléens. Si un attribut booléen est présent, sa valeur correspondra à *vrai* (*true*), s'il est absent, sa valeur correspondra à *faux* (*false*).

HTML5 définit des restrictions sur les valeurs autorisées des attributs booléens : Si l'attribut est présent, sa valeur doit être soit la chaîne vide (équivalente, l'attribut peut avoir une valeur non attribuée), soit une valeur qui est une correspondance ASCII insensible à la casse pour le nom canonique de l'attribut, sans espace avant ou après. Les exemples suivants sont des façons valides de baliser un attribut booléen :


```html
<div itemscope>Ce fragment est du HTML valide mais du XML invalide.</div>
<div itemscope="itemscope">
  Ce fragment est du HTML valide mais du XML invalide.
</div>
<div itemscope="">Ce fragment est du HTML valide et du XML valide.</div>
<div itemscope="itemscope">
  Ce fragment est du HTML et du XML valide mais est plus verbeux.
</div>
```


Pour être tout à fait explicite, les valeurs `"true"` et `"false"` ne sont pas autorisées pour les attributs booléens. Pour représenter une valeur fausse, il faudra ne pas écrire l'attribut du tout. Cette règle peut entraîner quelques incompréhensions : si on écrit `checked="false"` l'attribut `checked` sera présent et donc considéré comme *vrai* (*true*).

Voir aussi
----------

* Les éléments HTML