We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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.

Liste des attributs universels

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.
autocapitalize
Cet attribut contrôle la façon dont le texte saisi est automatiquement converti en majuscules. Les valeurs autorisées pour cet attribut sont :
  • off ou none : il n'y pas de convertion en majuscules réalisée.
  • on ou sentences : la première lettre de chaque phrase est écrite en majuscule par défaut. Les autres lettres sont en minuscules par défaut.
  • words : la première lettre de chaque mot est écrite en majuscule par défaut, les autres lettres sont en minuscules par défaut.
  • characters : toutes les lettres sont écrites en majuscules par défaut
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é.
d<code>ropzone</code>
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 masquer 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.
is
Cet attribut indique qu'un élément HTML standard devrait se comporter comme un élément personnalisé natif (voir Manipuler les custom elements pour plus d'informations).
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 aide à définir 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
Cet attribut affecte un créneau de l'arbre du shadow DOM pour un élément. L'élément ayant l'attribut slot est affecté au créneau créé par l'élément <slot> pour lequel l'attribut name correspond à la valeur de l'attribut slot.
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 recommandé 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
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 HTML 5.1.
HTML 5.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éChromeEdgeFirefoxInternet ExplorerOperaSafari
accesskey Oui Oui Oui Oui Oui Oui
autocapitalize ? ? ? ? ? ?
class Oui Oui32 Oui Oui Oui
contextmenu

522 3

Oui — 524

Non9 Non

392 6

Oui — 397

Non
data-* attributes Oui Oui Oui Oui Oui Oui
dir Oui Oui Oui Oui Oui Oui
dropzone Oui — 58 -webkit- Non Non Non Non Non
hidden Oui Oui Oui11 Oui Oui
id Oui Oui

32

Oui — 328

Oui Oui Oui
is66 Non

599

Oui — 5910

Non53 Non
itemid Oui Oui Oui Oui Oui Oui
itemprop Oui Oui Oui Oui Oui Oui
itemref Oui Oui Oui Oui Oui Oui
itemscope Oui Oui Oui Oui Oui Oui
itemtype Oui Oui Oui Oui Oui Oui
lang Oui Oui Oui Oui Oui Oui
slot53 ?

5911

Oui — 5912

?4010 -webkit-
spellcheck9 Oui Oui11 Oui Oui
style Oui Oui Oui Oui Oui Oui
tabindex Oui Oui Oui Oui Oui Oui
title Oui Oui Oui Oui Oui Oui
translate Non Non Non Non Non Non
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
accesskey Oui Oui Oui Oui Oui Oui Oui
autocapitalize ? ? ? ? ? ? ?
class Oui Oui Oui32 Oui Oui Oui
contextmenu Oui — 521 Oui — 524 Non32 — 565 Non Non Oui
data-* attributes Oui Oui Oui Oui Oui Oui Oui
dir Oui Oui Oui Oui Oui Oui Oui
dropzone Oui — 58 -webkit- Oui — 58 -webkit- Non Non Non Non Oui
hidden4 Oui Oui Oui Oui Oui Oui
id Oui Oui Oui

32

Oui — 328

Oui Oui Oui
is6666 Non

599

Oui — 5910

53 Non Non
itemid Oui Oui Oui Oui Oui Oui Oui
itemprop Oui Oui Oui Oui Oui Oui Oui
itemref Oui Oui Oui Oui Oui Oui Oui
itemscope Oui Oui Oui Oui Oui Oui Oui
itemtype Oui Oui Oui Oui Oui Oui Oui
lang Oui Oui Oui Oui Oui Oui Oui
slot5353 ?

5911

Oui — 5912

4010.16.0
spellcheck4747 Oui57379.35.0
style Oui Oui Oui Oui Oui Oui Oui
tabindex Oui Oui Oui Oui Oui Oui Oui
title Oui Oui Oui Oui Oui Oui Oui
translate Non Non Non Non Non Non Non

1. Until version 52 (exclusive): this feature is behind the Enable experimental Web Platform features preference.

2. This was removed from the Enable Experimental Web Platform Features due to a Web compatibility issue. In June 2017, it was removed entirely from the browsers. This is documented in Chromium bug 87553.

3. From version 52: this feature is behind the --enable-blink-features runtime flag (needs to be set to ContextMenu).

4. Until version 52 (exclusive): this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.

5. Support for the contextmenu attribute has been removed from Firefox for Android (See bug 1424252).

6. From version 39: this feature is behind the --enable-blink-features runtime flag (needs to be set to ContextMenu).

7. Until version 39 (exclusive): this feature is behind the Enable experimental Web Platform features preference.

8. id is a true global attribute only since Firefox 32.

9. From version 59: this feature is behind the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

10. Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

11. From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

12. Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Voir aussi

Étiquettes et contributeurs liés au document

Dernière mise à jour par : SphinxKnight,