ARIA (Accessible Rich Internet Applications) est une spécification du W3C qui définit des attributs HTML permettant de rendre les interfaces web dynamiques accessibles aux technologies d'assistance. ARIA ajoute des rôles (role), des états (aria-expanded, aria-checked) et des propriétés (aria-label, aria-describedby) aux éléments HTML pour communiquer leur fonction et leur état aux lecteurs d'écran. La spécification ne modifie pas le comportement visuel ni fonctionnel d'un élément : elle agit uniquement sur la couche sémantique exposée à l'arbre d'accessibilité. ARIA 1.2 est la version courante, publiée en 2023. La première règle d'ARIA est de ne pas utiliser ARIA si un élément HTML natif peut remplir la même fonction.
Les développeurs front-end ajoutent des attributs ARIA sur les composants interactifs qui n'ont pas d'équivalent HTML natif : onglets, menus déroulants, modales, carrousels, arbres de navigation. Un menu de navigation reçoit role="navigation", un panneau d'onglets utilise role="tablist", role="tab" et role="tabpanel" avec les attributs aria-selected et aria-controls. Les états dynamiques (ouvert/fermé, sélectionné/désélectionné) doivent être mis à jour en JavaScript à chaque interaction. Mal utilisé, ARIA dégrade l'accessibilité au lieu de l'améliorer. Les audits RGAA et WCAG vérifient systématiquement la conformité des attributs ARIA.
Un carrousel d'images sur le site de la SNCF utilise role="region", aria-roledescription="carrousel" et aria-label="Destinations populaires". Chaque diapositive porte role="group" avec aria-roledescription="diapositive". Les boutons précédent/suivant ont aria-label="Diapositive précédente" et "Diapositive suivante". Un lecteur d'écran annonce la structure complète sans voir l'interface.