Table des matières

Anselm Hannemann teste Lighthouse, ARCToolkit, axe DevTools… e des IA pour voir ce que ça donne pour tester l’accessibilité numérique.

Les tests avec les IA

Claude AI

Comme on pouvait s’y attendre, l’IA est bavarde et un peu plus complexe à manier que les outils classiques. Comme je réalise ici un audit externe, je m’appuie sur la version classique de Claude AI avec le modèle Sonnet 4.5 plutôt que sur Claude Code. Les résultats se sont avérés plutôt bons lorsque j’ai fourni le code HTML tel qu’il est rendu (leur analyseur web ne parvient pas à traiter le balisage) :

Au total, 9 problèmes critiques ont été identifiés :

  • Utilisation incorrecte des repères, 1.3.1, niveau A, 1x
  • Hiérarchie des titres manquante, 2.4.6, niveau AA, 11x
  • Badges non descriptifs, 1.1.1 niveau A, 11x
  • Logo décoratif marqué comme fonctionnel, 1.1.1, niveau A
  • Indicateurs de focus manquants, 2.4.7, niveau AA
  • Risque de piège de clavier multiple, 2.1.2, niveau A
  • Lien de saut manquant, 2.4.1, niveau A
  • Contexte de lien insuffisant, 2.4.4, niveau A, 11x
  • Indication de lien externe, 3.2.4, niveau AA, 11x

Il a été capable de hiérarchiser ces problèmes et d’en fournir les preuves (en montrant l’extrait de code où se trouve le problème ainsi que les critères de spécification).

Dans l’ensemble, il a donc du mal à analyser l’intégralité du site web, n’a pas pu détecter l’élément title qui existe pourtant, mais à part cela, il a identifié quelques problèmes et a fourni de nombreux conseils génériques que je n’avais pas demandés.

La pertinence des résultats dépend fortement de votre capacité à formuler / préciser la requête. Si vous demandez simplement de vérifier l’accessibilité du site web, les résultats sont corrects mais pas excellents. Vous devez être très précis ici, demander des preuves et ne pas vous faire d’illusions. C’est

La pertinence des résultats dépend fortement de votre capacité à formuler correctement la requête. Si vous demandez simplement de vérifier l’accessibilité du site web, les résultats sont corrects sans plus. Il faut ici être très précis, demander des preuves et ne pas se laisser induire en erreur.

Il reste nécessaire de réévaluer l’exactitude des problèmes et la pertinence des résultats. L’IA n’interprète pas toujours les choses correctement.

Qwen3-vl-4b (LLM local)

J’ai également testé la même requête avec un modèle local. Étant donné que j’alimente le LLM avec beaucoup de données (et avec ce contexte), je n’ai pas pu choisir parmi de nombreux modèles et j’ai opté pour un modèle Qwen — ils sont généralement assez rapides et légers (modèle 4b) pour fonctionner en local. Dans ce cas, cela n’a pas été le cas : J’ai interrompu la tâche après près d’une heure, alors qu’elle commençait à peine à évaluer le code.

Elle a détecté près d’une centaine de problèmes, mais les résultats n’étaient pas très utiles. Les 52 premiers résultats concernaient le contraste des couleurs, m’indiquant que le rapport de contraste était respecté mais qu’il pourrait ne pas l’être pour les petites tailles de police. Il était difficile de déterminer quels problèmes étaient réels ; cela m’a donc pris plus de temps que cela n’a apporté de valeur ajoutée à mon évaluation.

Allen AI Olmo 3 32b Think (LLM local)

Il s’agit d’un autre modèle relativement récent, doté d’un contexte beaucoup plus riche et bien plus lourd à exécuter. Mais il est plus puissant et pourrait mieux comprendre ma question. Il est plus performant et, lorsqu’on examine son protocole de raisonnement, il est intéressant de voir à quel point il évalue ce qui est pertinent et ce qui ne l’est pas. On voit bien qu’il s’agit toujours de grands modèles linguistiques (Large Language Models), et non de modèles semblables au cerveau (brain-like models). Par exemple, il évalue si un attribut de données personnalisé sur un élément de lien est pertinent pour l’accessibilité ou non — ce qu’aucun humain ne ferait.

Dans l’ensemble, ce n’était pas terrible. Il a interrompu son raisonnement au bout d’un moment, la longueur du contexte ayant atteint 4 096 tokens. Sur mon Macbook Air M3, ce n’est pas une bonne idée d’exécuter un modèle 32 bits avec une longueur de contexte beaucoup plus importante. Ce qu’il a découvert jusqu’à présent, ce sont deux problèmes d’accessibilité potentiels :

  • “Absence de rôles ou d’étiquettes ARIA pour les éléments interactifs : toutefois, l’extrait de code fourni ne contient ni contrôles de formulaire ni éléments interactifs ; cette remarque n’est donc pas applicable ici.”
  • “La balise meta viewport ne contient pas initial-scale=1 : bien que cela ne constitue pas en soi une violation des WCAG, les bonnes pratiques recommandent d’inclure les trois attributs : width=device-width, initial-scale=1 et user-scalable=yes/no. L’absence de ces attributs ne compromet peut-être pas la conformité, mais pourrait affecter l’ergonomie sur mobile. Cependant, étant donné que l’utilisateur demande strictement les violations des WCAG 2.1, cela pourrait ne pas compter à moins que cela n’entraîne l’échec d’un critère spécifique.”

Le premier point est en effet un problème, la conclusion est erronée car ce modèle n’exécute pas le code et n’a donc pas pu identifier correctement l’interactivité des éléments.
Le deuxième point n’est pour l’instant qu’une réflexion sans conclusion. Par conséquent, n’entrons pas plus dans les détails ici.

Dans l’ensemble, je ne peux pas dire si ce modèle serait adapté ou non, mais étant donné qu’il était toujours en train d’évaluer après 10 minutes, je dirais que cela ne vaut pas la peine de l’utiliser comme assistant local.

Qwen3 Coder 30b (LLM local)

Le résultat a été assez rapide et plutôt satisfaisant. Le modèle a fourni les recommandations suivantes en seulement une dizaine de secondes :

  • “Supprimer le contenu masqué visuellement mais accessible aux lecteurs d’écran de la citation 1”
  • “Mettre en place une structure HTML sémantique appropriée avec des repères et une hiérarchie des titres”
  • “Ajoutez des attributs alt à toutes les images du contenu”
  • “Assurez-vous que la navigation au clavier et la gestion du focus fonctionnent correctement”
  • “Mettez en place des polices de secours pour l’accessibilité”
  • “Ajoutez des attributs de langue appropriés dans tout le contenu”

La première recommandation est un cas particulier que j’avais moi-même repéré manuellement. Il s’agit d’une région active ARIA masquée visuellement qui annonce le nom de l’entreprise.
Le deuxième est correct, il n’y a pratiquement aucune structure sémantique ici, c’est l’un des plus gros problèmes du site.
Le reste est bon, mais les deux derniers ne sont pas très pertinents, voire pas corrects dans tous les cas.

Dans l’ensemble, j’ai été impressionné par les performances et la qualité de ce LLM, et je dirais que c’est un bon moyen d’obtenir rapidement un retour d’information. Comparé à Claude AI, ses performances n’étaient pas moins bonnes, mais il fonctionne en local sans frais supplémentaires et offre une bien meilleure confidentialité.

Vérification manuelle

Ma vérification manuelle a pris un peu plus de temps que celle de l’IA (1 min 32 s), mais pas beaucoup plus (6 minutes). En réalité, lire la réponse de l’IA et la vérifier m’a pris presque autant de temps que mon examen manuel.

J’ai facilement identifié des repères manquants et une utilisation incorrecte des éléments, des liens de saut manquants, des déclarations d’images manquantes, une structure de balisage sémantique insuffisante (à de nombreux endroits, et pas seulement une fois comme le suggèrent l’IA et d’autres), un contraste trop faible pour les indicateurs de focus, des indicateurs de focus manquants, des relations manquantes (navigations), et bien d’autres choses encore.

Ce qui m’est difficile, c’est de définir les critères de réussite exacts pour chacun de ces problèmes lors d’une révision aussi rapide, et pour être clair, je n’ai pas non plus rédigé tout cela, mais j’ai simplement identifié ces problèmes.

Résumé

Les outils d’accessibilité sont indispensables pour établir des rapports détaillés et mener une analyse approfondie du sujet. Cependant, ils ne font que compléter vos connaissances personnelles et ne peuvent en aucun cas se substituer entièrement à un examen manuel rigoureux.

Pour une vérification rapide d’un site web, je considère ces outils comme secondaires. Je commence par vérifier le balisage et effectue un test avec un logiciel de lecture d’écran — cela m’en dit plus sur la situation actuelle que n’importe quel résultat fourni par des outils automatisés. Mais ils peuvent être d’une grande aide, s’ils sont choisis et utilisés correctement.

Pour être honnête, j’ai trouvé les résultats du modèle Claude LLM plutôt bons et utiles. C’est formidable de pouvoir compter sur l’IA pour vous assister, vous servir de soutien ou de référence en matière de données.