ARIA (Accessible Rich Internet Applications) est une spécification du W3C qui permet d'enrichir la sémantique HTML pour les technologies d'assistance. Mais attention : mal utilisée, ARIA aggrave l'accessibilité.
La règle d'or : ARIA en dernier recours
Avant d'utiliser ARIA, posez-vous la question : existe-t-il un élément HTML natif qui fait la même chose ? Un <button> est préférable à un <div role="button">. La sémantique native est toujours plus robuste.
Les 5 attributs ARIA les plus utilisés
aria-label: donne un nom accessible à un élément sans texte visiblearia-labelledby: associe un élément à un titre existant dans la pagearia-describedby: fournit une description supplémentairearia-live: annonce les mises à jour dynamiques aux lecteurs d'écranaria-hidden: masque un élément décoratif aux technologies d'assistance
Exemple concret : une modale accessible
Une fenêtre modale doit piéger le focus, annoncer son titre et permettre la fermeture au clavier. Voici les attributs indispensables :
<div role="dialog" aria-modal="true" aria-labelledby="modal-title">
<h2 id="modal-title">Titre de la modale</h2>
...
</div>Les erreurs les plus fréquentes
- Utiliser
aria-hidden="true"sur un élément focusable - Oublier de gérer le focus à l'ouverture d'une modale
- Ajouter
role="button"sur un<a>sans href
La meilleure façon d'apprendre ARIA reste de tester avec un vrai lecteur d'écran. NVDA (gratuit, Windows) et VoiceOver (intégré à macOS/iOS) sont vos meilleurs alliés.