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