Les tests d'accessibilité automatisés (Accessibility Testing, a11y) ont pris une importance particulière avec le développement d'initiatives visant à assurer l'inclusivité numérique. À l'origine, les vérifications étaient effectuées manuellement, ce qui entraînait souvent des omissions de défauts critiques ou une découverte tardive des problèmes. L'approche moderne suppose l'automatisation par le biais d'outils spécialisés et l'intégration des contrôles a11y dans CI/CD.
Contexte : Les premières vérifications d'accessibilité étaient entièrement manuelles, ce qui était laborieux et exposé au facteur humain. Avec l'apparition de normes (WCAG, Section 508), des outils comme axe, pa11y et Lighthouse ont été développés, permettant d'automatiser considérablement le processus.
Problème : La principale difficulté est l'incapacité de l'automatisation à couvrir tous les aspects de l'accessibilité (par exemple, une alternative correcte pour un contenu graphique complexe ou l'adéquation des textes pour les lecteurs d'écran). Des difficultés émergent souvent avec le soutien de widgets spécifiques, d'interfaces asynchrones et du bon placement des plugins a11y dans le pipeline de tests.
Solution :
Il convient de combiner l'automatisation des contrôles standard (contrastes, aria-*, tabindex, structure, labels) et la validation manuelle des processus commerciaux critiques en faisant appel à des spécialistes de l'accessibilité. Une bonne pratique consiste à intégrer des scanners a11y lors des pull requests et des versions clés, afin de ne pas créer un "passif technique en matière d'accessibilité".
Caractéristiques clés :
Question 1 piégeuse
"Est-il suffisant d'utiliser uniquement des scanners automatisés pour garantir une accessibilité complète ?"
Réponse : Non, les outils automatiques ne couvrent qu'environ 30-50 % des exigences en matière d'accessibilité. Le reste peut être détecté uniquement par des tests manuels et des tests avec de vraies technologies d'assistance.
Question 2 piégeuse
"Est-ce que l'ajout de simplement role="button" ou d'un attribut similaire rendra l'élément accessible ?"
Réponse : Pas toujours. Il est nécessaire d'assurer une gestion correcte du focus, un support clavier, un traitement des événements et des textes informatifs pour les lecteurs d'écran.
Question 3 piégeuse
"Les tests d'accessibilité ralentissent considérablement CI : a-t-il un sens de ne les exécuter qu'une fois par mois ?"
Réponse : Non, ces tests doivent être exécutés à chaque modification, sinon les régressions liées à l'accessibilité ne seront pas détectées à temps, et leur correction sera plus difficile (et coûteuse).
L'équipe a décidé de faire passer Lighthouse une fois et de se calmer, en cochant une case dans la liste de contrôle. Plusieurs erreurs ont été trouvées et corrigées, mais il a été découvert plus tard que dans une application bancaire réelle, les utilisateurs aveugles ne pouvaient pas correctement créer une carte : des messages importants n'étaient pas lus, des boutons étaient "invisibles" pour les lecteurs d'écran.
Points positifs :
Points négatifs :
Dès le départ, les vérificateurs a11y ont été intégrés dans le pipeline et le règlement du projet, des vérifications manuelles régulières ont été effectuées avec des technologies d'assistance et des interviews avec des experts externes. En conséquence, il était facile pour les clients aveugles d'utiliser l'interface web de la banque.
Points positifs :
Points négatifs :