Les attributs universels

Les attributs universels sont des attributs communs à l'ensemble des éléments HTML. Ces attributs peuvent donc être ajoutés sur tous les éléments (dans certains cas, les attributs n'auront aucun effet).

Les attributs universels peuvent être définis sur tous les éléments HTML, y compris pour les éléments non définis dans le standard. Autrement dit, les éléments non-standards doivent pouvoir accepter ces attributs. Cela permettra au navigateur de les gérer selon certains des aspects de la spécification. Par exemple, pour un navigateur conforme, un élément <toto hidden>...<toto> sera masqué bien que <toto> ne soit pas un élément HTML valide.

En plus des attributs universels HTML, il existe également les attributs universels suivants :

  • xml:lang et xml:base : ces attributs proviennent des spécifications XHTML. Ils sont désormais dépréciés mais conservés pour des raisons de compatibilité.
  • Les nombreux attributs aria-* utilisés afin d'améliorer l'accessibilité.
  • Les attributs utilisés pour les gestionnaires d'événements déclarés directement sur les éléments : onabort, onautocomplete, onautocompleteerror, onblur, oncancel, oncanplay, oncanplaythrough, onchange, onclick, onclose, oncontextmenu, oncuechange, ondblclick, ondrag, ondragend, ondragenter, ondragexit, ondragleave, ondragover, ondragstart, ondrop, ondurationchange, onemptied, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect, onshow, onsort, onstalled, onsubmit, onsuspend, ontimeupdate, ontoggle, onvolumechange, onwaiting.

Description

accesskey
Cet attribut fournit une indication permettant de générer un raccourci clavier pour l'élément courant. Cet attribut se compose d'une liste de caractères séparés par des espaces. Le navigateur doit utiliser le premier caractère qui existe selon la disposition du clavier utilisée.
class
Une liste de classes, séparées par des espaces, qui permettent de catégoriser l'élément. Les classes permettent au CSS et à JavaScript de manipuler des éléments spécifiques grâce à des sélecteurs de classe (pour CSS) ou grâce à des fonctions telles que Document.getElementsByClassName() (pour JavaScript).
contenteditable
Un attribut à valeur contrainte qui indique si l'élément peut être édité par l'utilisateur. Si c'est le cas, le navigateur modifie l'interface utilisateur afin de permettre l'édition. Les valeur autorisées pour cet attribut sont :
  • true ou la chaîne vide : ces valeurs indiquent que l'élément doit pouvoir être édité
  • false qui indique que l'élément ne doit pas pouvoir être édité.
contextmenu
La valeur de cet attribut correspond à la valeur de l'attribut id d'un élément <menu> qui doit être utilisé comme menu contextuel par cet élément.
data-*
Cette classe d'attribut, appelée « attributs de données personnalisés »,  permet d'échanger des informations dans un format propriétaire entre le HTML et le DOM afin de pouvoir les manipuler via des langage de scripts. La propriété HTMLElement.dataset permet d'accéder à l'ensemble des attribut définis de cette façon.
dir
Un attribut à valeur contrainte qui indique la directionnalité du texte de l'élément. Les valeurs autorisées pour cet attribut sont :
  • ltr (l'abbréviation anglaise pour Left To Right) indique que le contenu est écrit de gauche à droite (comme le français par exemple)
  • rtl (l'abbréviation anglaise pour Right To Left) indique que le contenu est écrit de droite à gauche (comme l'arabe par exemple)
  • auto : c'est l'agent utilisateur qui décide. Il utilise un algortihme qui analyse les caractères du contenu de l'élément jusqu'à trouver un caractère avec une forte directionnalité qu'il applique alors à l'ensemble de l'élément.
draggable
Un attribut à valeur contrainte qui indique qu'un élément peut être glissé/déposé grâce à l'API Drag & Drop. Les valeurs autorisées pour cet attribut sont :
  • true : l'élément peut être glissé/déposé
  • false : l'élément ne peut pas être glissé/déposé.
dropzone
Un attribut à valeur contrainte qui indique le type de contenu qui peut être déposé sur un élément grâce à l'API Drag & Drop. Les valeurs autorisées pour cet attribut sont :
  • copy : lorsque l'élément est déposé, une copie de l'élément est créée
  • move : lorsque l'élément est déposé, il est déplacé vers ce nouvel emplacement
  • link : un lien est créé vers les données qui sont déplacée.
hidden
Un attribut booléen dont la valeur indique que l'élément n'est pas encore, ou n'est plus pertinent. Cet attribut peut ainsi être utilisé pour masque les éléments d'une page qui ne peuvent pas être utilisés tant que la procédure de connexion n'est pas terminée. Le navigateur n'affichera pas les éléments pour lesquels cet attribut est utilisé. Cet attribut ne doit pas être utilisé afin de masquer du contenu qui aurait pu être affiché de façon pertinente.
id
Cet attribut définit un identifiant, unique au sein de tout le document, ,pour un élément. Il doit permettre d'identifier un élément lorsqu'on crée un lien vers lui et/ou lorsque le manipule avec des scripts ou avec CSS.
itemid
L'identifiant unique, global, d'un objet. Cet attribut est lié aux microdonnées.
itemprop
Cet attribut permet d'ajouter des propriétés à un objet. Cet attribut est une paire entre un nom et une valeur. Cet attribut est lié aux microdonnées.
itemref
Les propriétés d'un objet qui ne sont pas les éléments descendants de l'élément courant peuvent être associée via l'attribut itemscope contenant une référence vers un itemref. itemref fournit une liste d'identifiants d'éléments qui correspondent aux propriétés supplémentaires définies autre part dans le document. Cet attribut est lié aux microdonnées.
itemscope
itemscope fonctionne généralement avec itemtype afin d'indiquer que le coded HTML contenu dans un bloc donné concerne un objet en particulier. itemscope crée l'objet et définit la portée de l'itemtype associée. itemtype est une URL valide construite à partir d'un vocabulaire (par exemple schema.org) qui décrit les objets et leurs propriétés. Cet attribut est lié aux microdonnées.
itemtype
Cet attribut indique l'URL du vocabulaire utilisé pour définir les propriétés d'un objet. Cet attribut est lié aux microdonnées.
lang
Cet attribut contribue à la définition de la langue utilisée pour l'élément. Pour les éléments non-éditables, c'est la langue dans laquelle ils sont écrits et pour les éléments éditables, c'est la langue dans laquelle ils devraient être écrits. Cet attribut contient une seule valeur telle que définie dans le document IETF Tags for Identifying Languages (BCP47). L'attribut xml:lang est prioritaire par rapport à cet attribut lorsqu'il s'agit de déterminer la langue d'un élément.
slot 
Si l'élément fait partie d'un créneau shadow DOM (au travers d'un élément <slot>), cet attribut désigne le nom du créneau.
spellcheck
Un attribut à valeur contrainte qui définit s'il faut détecter les fautes d'orthographe/grammaire dans le texte de l'élément. Les valeurs autorisées pour cet attribut sont :
  • true qui indique que, si possible, il faut vérifier les erreurs d'orthographe
  • false qui indique qu'il ne faut pas vérifier les erreurs.
style
Cet attribut contient les déclarations CSS utilisées pour mettre en forme l'élément. Note : il est recommande d'utiliser un ou plusieurs fichiers séparés, plutôt que cet attribut, pour définir les règles de mise en forme. Le rôle de l'élément <style> consiste à permettre une mise en forme rapide, notamment pour des tests.
tabindex
Cet attribut à valeur entière indique l'ordre dans lequel l'élément participe à la navigation au clavier via la tabulation. Il peut prendre différente valeur :
  • une valeur négative indiquera que l'élément peut recevoir le focus mais n'est pas accessible via la navigation séquentielle au clavier
  • 0 indiquera que l'élément peut recevoir le focus et être accessible via la navigation au clavier mais l'ordre est relatif et déterminé par l'agent utilisateur
  • une valeur positive indiquera que l'élément peut recevoir le focus et qu'il est accessible via la navigation au clavier. La valeur utilisée indique l'ordre relatif de l'élément dans la navigation. Autrement dit, la navigation au clavier ira dans le sens croissant des éléments selon leurs valeurs respectives de tabindex. Si plusieurs éléments ont la même valeur, ce sera leur ordre relatif dans le document qui sera utilisé.
title
Cet attribut contient une représentation textuelle de l'information auquel il est lié. Une telle information est généralement, mais pas nécessairement, affichée sous la forme d'une bulle d'informations.
translate
Un attribut à valeur contrainte qui est utilisé pour définir si les valeurs des attributs et des éléments fils de type Text doivent être traduits lorsque la page est localisée. Les valeurs autorisées pour cet attribut sont :
  • La chaîne vide ou "yes" qui indiquent que l'élément doit être traduit
  • "no" qui indique que l'élément ne sera pas traduit.

Spécifications

Spécification État Commentaires
WHATWG HTML Living Standard
La définition de 'Global attributes' dans cette spécification.
Standard évolutif Les attributs itemid, itemprop, itemref, itemscope, itemtype ont été ajoutés depuis la version HTML5.1.
HTML5.1
La définition de 'Global attributes' dans cette spécification.
Recommendation Les attributs spellcheck, draggable, et dropzone ont été ajoutés depuis HTML5.
HTML5
La définition de 'Global attributes' dans cette spécification.
Recommendation Le concept d'attribut universel est introduit et les attributs dir, lang, style, id, class, tabindex, accesskey, title sont désormais des attributs universels.
xml:lang which qui faisait initialement partie de XHTML est inclus dans HTML. Les attributs
hidden, data-*, contextmenu, contenteditable et translate sont ajoutés.
HTML 4.01 Specification Recommendation Aucun attribut universel n'est défini. Plusieurs attributs, devenus universels par la suite, sont définis sur un sous-ensemble d'élément.
class et style sont pris en charge pour tous les éléments à l'exception de <base>, <basefont>, <head>, <html>, <meta>, <param>, <script>, <style> et <title>.
dir est pris en charge pour tous les éléments à l'exception de <applet>, <base>, <basefont>, <bdo>, <br>, <frame>, <frameset>, <iframe>, <param> et <script>.
id est pris en charge pour tous les éléments à l'exception de <base>, <head>, <html>, <meta>, <script>, <style> et <title>.
lang est pris en charge pour tous les éléments à l'exception de <applet>, <base>, <basefont>, <br>, <frame>, <frameset>, <iframe>, <param> et <script>.
tabindex est uniquement pris en charge pour les éléments <a>, <area>, <button>, <object>, <select> et <textarea>.
accesskey est uniquement pris en charge pour <a>, <area>, <button>, <input>, <label>, <legend> et <textarea>.
title est pris en charge pour tous les éléments à l'exception de <base>, <basefont>, <head>, <html>, <meta>, <param>, <script> et <title>.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
accesskey (Oui) (Oui) (Oui) (Oui) (Oui)
class (Oui) (Oui) (Oui) (Oui) (Oui)
contenteditable (Oui) 3.0 (1.9) (Oui) (Oui) (Oui)
contextmenu Pas de support 9 (9) Pas de support Pas de support Pas de support
data-* (Oui) 6 (6) (Oui) (Oui) (Oui)
dir (Oui) (Oui) (Oui) (Oui) (Oui)
draggable (Oui) 2.0 (1.8.1) (Oui) (Oui) (Oui)
dropzone ? Pas de support ? ? ?
hidden (Oui) 4.0 (2) (Oui) (Oui) (Oui)
id (Oui) (Oui) (Oui) (Oui) (Oui)
itemid, itemprop, itemref, itemscope, itemtype ? (Oui) ? ? ?
lang (Oui) (Oui) (Oui) (Oui) (Oui)
spellcheck (Oui) 2.0 (1.8.1) (Oui) (Oui) (Oui)
style (Oui) (Oui) (Oui) (Oui) (Oui)
tabindex (Oui) (Oui) (Oui) (Oui) (Oui)
title (Oui) (Oui) (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
accesskey (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
class (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
contenteditable (Oui) (Oui) 1.0 (1.9) (Oui) (Oui) ?
contextmenu Pas de support Pas de support Pas de support Pas de support Pas de support Pas de support
data-* (Oui) (Oui) 6.0 (6) (Oui) (Oui) ?
dir (Oui) (Oui) (Oui) (Oui) (Oui) ?
draggable (Oui) (Oui) 1.0 (1.8.1) (Oui) (Oui) ?
dropzone ? ? Pas de support ? ? ?
hidden (Oui) (Oui) 4.0 (2) (Oui) (Oui) (Oui)
id (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
itemid, itemprop, itemref, itemscope, itemtype ? ? (Oui) ? ? ?
lang (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
spellcheck (Oui) (Oui) 1.0 (1.8.1) (Oui) (Oui) ?
style (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
tabindex (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
title (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, wakooka, claudepache, louuis, msherefel, tregagnon, mistyrouge, Shz, xaky
 Dernière mise à jour par : SphinxKnight,