Outils

axe-core

Voir aussi : axe

Un moteur de test d'accessibilité automatisé open source de Deque, utilisé par les extensions de navigateur (axe DevTools, Accessibility Insights), les scripts CI et Lighthouse. Détecte environ 30 à 40 % des problèmes WCAG.

axe-core est le moteur de test d’accessibilité automatisé open source développé par Deque Systems. Il alimente un large écosystème d’outils de test — extensions de navigateur (axe DevTools, Accessibility Insights), scripts CI (axe-cli, jest-axe, cypress-axe, playwright-axe), et notamment l’audit d’accessibilité de Lighthouse.

Depuis une décennie, axe-core est le vérificateur d’accessibilité automatisé le plus déployé au monde. La plupart des pipelines CI liés à l’accessibilité actuellement en production font tourner axe-core sous le capot, souvent sans que les équipes le réalisent.

Ce qu’axe-core fait bien

L’ensemble de règles d’axe-core est conservateur par conception : une règle n’est incluse que lorsque son taux de faux positifs est essentiellement nul. Cela rend axe-core fiable comme porte CI — lorsqu’il signale une violation, la violation est réelle et l’équipe peut agir sans se soucier d’une chasse aux vérifications instables.

Les règles qu’axe-core détecte de façon fiable incluent :

  • Labels manquants ou vides sur les contrôles de formulaire.
  • Attributs alt manquants (et alt manifestement inutile comme des noms de fichiers).
  • Contraste des couleurs insuffisant (texte et composants d’interface).
  • ARIA invalide — rôles inexistants, propriétés requises manquantes, structures d’enfants interdites.
  • IDs en double qui brisent les références ARIA.
  • Attribut de langue manquant sur <html>.
  • Boutons sans nom accessible.
  • Champs de formulaire sans étiquette programmatique.
  • Liens vides (<a href>...</a> sans texte ni alt).
  • Sauts de niveaux de titre et absence de <h1> dans certaines configurations.

Cette liste couvre un pourcentage significatif des erreurs d’accessibilité les plus faciles à corriger. Exécuter axe-core en CI les détecte au moment de la revue de code plutôt qu’au moment de l’audit.

Le plafond

Les auteurs d’axe-core sont explicites sur le plafond : les outils automatisés peuvent détecter au maximum 30 à 40 % des problèmes WCAG. Le reste requiert un jugement humain et des tests avec des technologies d’assistance.

Plus précisément, axe-core ne peut pas détecter :

  • Un texte alternatif incorrect — il peut signaler qu’un alt est absent, mais pas que alt="icône hamburger" est erroné pour un bouton qui ouvre un menu.
  • Un texte de lien trompeur — les liens « Cliquez ici » sont conformes à la spécification, mais inutiles pour les utilisateurs de lecteurs d’écran.
  • Un ordre de focus brisé — un ordre de tabulation qui ne correspond pas à l’ordre visuel constitue un échec au critère 2.4.3 qu’aucun vérificateur statique ne peut détecter.
  • Une structure de titres incorrecte — axe-core détecte l’absence de h1 et les sauts de niveaux, mais ne peut pas déterminer qu’une page a utilisé h2 là où h1 aurait été approprié.
  • Du contenu qui ne fonctionne que pour certains groupes d’utilisateurs — conforme à WCAG mais inutilisable pour les personnes malvoyantes, les personnes ayant des déficiences cognitives, etc.

Un site qui obtient zéro violation dans axe-core est une condition nécessaire pour l’accessibilité, mais non suffisante. Le travail restant — ordre de focus, qualité du contenu, comportement avec les lecteurs d’écran, tests avec de vrais utilisateurs — représente la majeure partie du temps réel.

Comment utiliser axe-core en pratique

Trois modes de déploiement fonctionnent bien ensemble :

  1. Dans l’éditeur. axe DevTools et Accessibility Insights s’exécutent à la demande sur le DOM rendu dans un onglet de navigateur. À utiliser pendant le développement.
  2. En CI. axe-cli, jest-axe, cypress-axe ou playwright-axe font échouer le build en cas de nouvelles violations. À utiliser pour prévenir les régressions.
  3. Au moment de l’audit. Les auditeurs externes utilisent axe-core comme point de départ, puis superposent des tests manuels. À utiliser pour valider la base de référence automatisée.

Cette combinaison maintient les problèmes détectables automatiquement à zéro tandis qu’un véritable programme d’accessibilité traite le reste.