Accessibilité & WAI-ARIA

49 attributs documentés

WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) est une spécification du W3C qui définit des attributs supplémentaires pour améliorer l'accessibilité des interfaces web dynamiques et des widgets personnalisés. Ces attributs permettent aux technologies d'assistance (lecteurs d'écran, commandes vocales…) de comprendre et d'annoncer correctement des composants que le HTML seul ne peut pas décrire.

Règle fondamentale : utiliser ARIA en dernier recours. Un élément HTML sémantique natif (<button>, <nav>, <input>…) est toujours préférable à un <div> avec des attributs ARIA.

Rôles

L'attribut role définit la nature sémantique d'un élément pour les technologies d'assistance — composant d'interface, région de la page, structure de document…

États de widget

Ces attributs décrivent l'état dynamique d'un composant interactif — coché, développé, sélectionné, désactivé…

Propriétés de widget

Ces attributs décrivent les caractéristiques stables d'un composant — son libellé, ses valeurs min/max, son niveau hiérarchique…

Régions live

Ces attributs contrôlent la façon dont les mises à jour dynamiques du DOM sont annoncées par les lecteurs d'écran.

Relations

Ces attributs établissent des liens entre éléments — libellés, descriptions, contrôles, positions dans des tableaux virtualisés…

Les 5 règles d'ARIA

  1. Ne pas utiliser ARIA si un élément HTML natif fait le travail. <button> plutôt que <div role="button">.
  2. Ne pas changer la sémantique native d'un élément. Ne pas ajouter role="heading" sur un <button>.
  3. Tout widget interactif ARIA doit être utilisable au clavier. Un role="slider" doit répondre aux touches fléchées.
  4. Ne pas masquer d'éléments focusables avec aria-hidden="true". Cela piège les utilisateurs de clavier dans un contenu silencieux.
  5. Tout élément interactif doit avoir un nom accessible. Via aria-label, aria-labelledby, ou un contenu textuel visible.