Accéder au contenu principalAccéder à la navigationAccéder au pied de page
Page d'accueil IncluddyPage d'accueil Includdy
  • FAQ
  • Blog
  • Glossaire
  • Contact
Includdy

Rendons le web accessible à tous

Produit

  • Scan automatique
  • Correction guidée
  • Collaboration

Ressources

  • FAQ
  • Blog
  • Glossaire
  • Plan du site

Légal

  • CGU
  • CGV
  • Mentions légales
  • Politique de confidentialité

© 2026 Includdy. Tous droits réservés.

  1. Accueil
  2. Glossaire
  3. WAI-ARIA

WAI-ARIA


WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) est une spécification du W3C qui ajoute des attributs sémantiques au HTML : rôles, états et propriétés. Ces attributs permettent aux technologies d'assistance de comprendre les composants d'interface dynamiques que le HTML natif ne peut pas décrire seul. La version 1.2 est la recommandation officielle depuis juin 2023.


Un bouton personnalisé en <div>, un système d'onglets, une notification asynchrone : le HTML natif ne sait pas décrire ces composants aux lecteurs d'écran. WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) est la spécification du W3C qui comble ce vide. La version 1.2, publiée en juin 2023, est la recommandation officielle.

#Rôles, états, propriétés

La spécification repose sur trois types d'attributs :

  • Les rôles indiquent ce qu'est un élément : role="tab", role="dialog", role="alert". Chaque rôle a des contraintes : un tab doit être enfant d'un tablist, un option doit se trouver dans un listbox.
  • Les états décrivent la situation actuelle : aria-expanded="false" pour un panneau replié, aria-checked="true" pour une case cochée. Ils changent au fil des interactions.
  • Les propriétés apportent des informations complémentaires : aria-label nomme un élément sans texte visible, aria-describedby y associe une explication, aria-required signale un champ obligatoire.

En combinant ces trois types, le développeur restitue un composant complet aux technologies d'assistance :

<button aria-expanded="false" aria-controls="panel-1">
  Détails du produit
</button>
<div id="panel-1" role="region" hidden>
  Contenu masqué par défaut.
</div>

Le lecteur d'écran annonce : « Détails du produit, bouton, réduit ». L'utilisateur sait qu'il peut déplier la section. Sans aria-expanded, il n'a aucune indication sur l'état du panneau.

#ARIA ne remplace pas le comportement

C'est le piège le plus courant. Ajouter role="button" à un <div> modifie l'annonce vocale, mais ne gère ni le focus clavier, ni la touche Entrée, ni la touche Espace. Le composant ment.

<!-- ❌ Annoncé "bouton", inutilisable au clavier -->
<div role="button" onclick="save()">Enregistrer</div>
 
<!-- ✅ Focusable, activable, sémantique natif -->
<button onclick="save()">Enregistrer</button>

La spécification ARIA in HTML formalise ce principe : si un élément HTML natif avec la sémantique voulue existe, utilisez-le. « No ARIA is better than bad ARIA » résume toute la philosophie.

Quand le HTML natif ne suffit pas, ARIA prend le relais. Onglets, menus déroulants, sliders, zones de notification dynamiques : le W3C APG documente chaque motif de conception avec sa structure, sa gestion clavier et ses attributs requis.

#En résumé

WAI-ARIA donne une voix aux composants que le HTML ne sait pas décrire. Chaque attribut ARIA est un engagement : le développeur doit fournir le comportement correspondant. Le RGAA vérifie cette cohérence dans sa thématique 7 (Scripts). Commencez par le HTML sémantique. ARIA vient après.

Retour au glossaire

Partagez cet article

Partagez cet article

Pour aller plus loin

ARIA

ARIA (Accessible Rich Internet Applications) est un ensemble d'attributs HTML qui décrivent les composants d'interface aux technologies d'assistance. Un bouton personnalisé, un système d'onglets, une notification dynamique : quand le HTML sémantique ne suffit pas, ARIA ajoute les informations manquantes. Mais un attribut ARIA sans le comportement correspondant fait plus de mal que de bien.

Rôle WAI-ARIA

Un rôle WAI-ARIA est un attribut HTML qui indique aux technologies d'assistance la nature d'un élément : bouton, onglet, alerte, zone de navigation. Les éléments HTML sémantiques portent déjà un rôle implicite. Un <button> est annoncé comme bouton sans configuration. Les rôles ARIA ne servent que lorsque le HTML natif ne peut pas exprimer la sémantique voulue.

Landmarks

Les landmarks sont des repères structurels qui découpent une page web en grandes régions : en-tête, navigation, contenu principal, pied de page. Les lecteurs d'écran s'en servent pour proposer une navigation directe vers chaque section, sans parcourir tout le HTML séquentiellement.