DonnIA
Toutes les ressources
GuideBonnes pratiques14 min

Faire auditer l'accessibilité d'une page

Des prompts qui rendent des contrastes mesurés et un ordre de tabulation relevé, pas des impressions rassurantes.


« Est-ce que ma page est accessible ? » est une mauvaise question à poser à un agent. Il répondra par un texte plausible, structuré, encourageant, et entièrement inventé s'il n'a rien mesuré. Tu ressors rassuré et rien n'a changé.

La bonne question demande un chiffre ou un fait vérifiable : quel est le rapport de contraste de ce texte, dans quel ordre le focus se déplace, quel est le nom accessible de ce bouton, l'indicateur de focus est-il visible sur cet élément.

Ce guide te donne les prompts qui produisent des faits mesurés, les seuils de référence pour interpréter les résultats, et la partie qu'aucun outil ne fera à ta place.

Avant de commencer

  • Une page accessible depuis un navigateur, en local ou en ligne
  • Un agent capable de piloter un navigateur
  • Node.js, si tu veux ajouter un contrôle automatique en ligne de commande

Les seuils, une fois pour toutes

Ce qu'on mesureSeuilCritère
Texte courant sur son fond4,5:1WCAG 1.4.3, niveau AA
Texte de grande taille (au moins 18 pt, ou 14 pt gras)3:1WCAG 1.4.3, niveau AA
Éléments d'interface, icônes porteuses de sens, indicateurs de focus3:1WCAG 1.4.11, niveau AA
Focus clavier visiblevisible, pas de ratio imposé par ce critèreWCAG 2.4.7, niveau AA

Les logos et le texte purement décoratif sont exemptés de l'exigence de contraste.

1Demander des mesures, jamais des impressions

La différence entre un audit utile et une impression tient à la formulation du prompt. Compare :

Cette page est-elle accessible ?

et :

Ouvre [URL]. Pour chaque element de texte visible, releve la couleur du
texte, la couleur de fond effective, la taille en px et la graisse.
Calcule le rapport de contraste. Rends-moi un tableau : selecteur, texte,
ratio, seuil applicable (4,5:1 ou 3:1 selon la taille), conforme ou non.
Ne me donne aucune appreciation generale.

Le second te rend un tableau que tu peux contester ligne par ligne. Le premier te rend un avis.

La couleur de fond effective

Un texte posé sur un dégradé, une image ou une superposition semi-transparente n'a pas de couleur de fond unique. Demande explicitement le cas le plus défavorable, et méfie-toi d'un ratio annoncé sur un fond « moyen ».

2Relever l'ordre de tabulation

L'ordre du focus doit suivre l'ordre de lecture. Il s'en écarte dès qu'on déplace visuellement un bloc en CSS sans toucher au HTML.

Ouvre [URL]. Simule des appuis successifs sur Tab depuis le haut de la
page. Apres chaque appui, rends-moi : le rang, la balise, le nom
accessible de l'element focalise, et sa position (x, y) a l'ecran.
Arrete-toi apres 30 appuis ou en fin de page.

Ce que tu cherches dans le tableau obtenu :

  • Un saut de position qui remonte. L'ordre visuel et l'ordre du focus divergent.
  • Un nom accessible vide. Un bouton sans libellé, souvent une icône seule.
  • Un élément focalisable invisible. Un menu fermé dont les liens restent dans l'ordre de tabulation.
  • Un piège. Le focus qui ne sort plus d'une zone, typiquement une fenêtre modale mal fermée.

3Vérifier les libellés et les noms accessibles

Un champ sans libellé associé n'est pas utilisable au lecteur d'écran, même si un texte est posé juste à côté visuellement.

Ouvre [URL]. Pour chaque champ de formulaire, bouton et lien, rends-moi :
la balise, le nom accessible calcule, et d'ou il vient (element label,
aria-label, aria-labelledby, ou contenu textuel). Signale ceux dont le nom
est vide, ou vaut « Lire la suite », « Cliquez ici », « En savoir plus ».

Les noms génériques ne sont pas un défaut de style : un lecteur d'écran peut lister les liens d'une page hors de leur contexte, et douze liens « En savoir plus » y deviennent indiscernables.

Même travail pour les images :

Liste toutes les images de la page avec leur attribut alt. Signale celles
sans attribut alt, celles dont le alt reprend le nom de fichier, et celles
dont le alt est vide alors que l'image porte de l'information.

Un alt vide est correct et même recommandé pour une image décorative. C'est l'absence d'attribut qui pose problème.

4Regarder le focus visible

Le critère 2.4.7 demande que l'indicateur de focus clavier soit visible. La règle outline: none posée sans remplacement le supprime, et c'est un des défauts les plus fréquents.

Cherche dans le CSS du projet toutes les regles qui mettent outline a
none ou a 0. Pour chacune, dis-moi si une alternative visible est definie
sur le meme selecteur (bordure, ombre portee, changement de fond).

Puis en visuel :

Ouvre [URL]. Pour les cinq premiers elements focalisables, prends une
capture avec le focus dessus. Dis-moi pour chacun si un indicateur est
visible et decris-le.

Focus au clavier, pas au clic

Le sélecteur :focus-visible permet d'afficher l'indicateur pour la navigation au clavier sans le faire apparaître au clic à la souris. C'est le bon compromis quand l'anneau de focus gêne visuellement au clic.

5Ajouter un contrôle automatique

Deux outils en ligne de commande, tous deux installables depuis npm.

npm install -g @axe-core/cli
axe https://ton-site.fr

La commande s'appelle axe. Elle accepte notamment --tags pour restreindre à un jeu de règles, --include et --exclude pour cibler une zone par sélecteur, --save pour écrire le résultat en JSON, et --exit pour renvoyer un code d'échec en cas de violation, ce qui la rend utilisable dans une intégration continue.

npm install -g lighthouse
lighthouse https://ton-site.fr --only-categories=accessibility --output=json

L'option --only-categories accepte accessibility, best-practices, performance et seo.

Ce que ces outils ne voient pas

Un contrôle automatique détecte des défauts formels : contraste, attribut manquant, structure de titres. Il ne dit pas si un texte alternatif décrit correctement l'image, si l'ordre de tabulation a du sens, si un message d'erreur est compréhensible, ni si une interaction est utilisable au clavier de bout en bout. Un score de 100 signifie « aucun défaut automatiquement détectable », pas « accessible ».

Les dix minutes qui ne se délèguent pas

Aucun agent ne remplace ces trois manipulations, et elles trouvent ce que le reste rate.

  1. Range la souris. Fais le parcours principal entièrement au clavier : Tab, Entrée, Espace, Échap pour fermer. Note chaque endroit où tu es bloqué.
  2. Zoome à 200 %. Le texte doit rester lisible et la page ne doit pas exiger un défilement horizontal.
  3. Coupe les images. Ou regarde la page dans un lecteur qui n'affiche que le texte : ce qui reste doit rester compréhensible.

Quelques prompts pour aller plus loin

ObjectifPrompt à adapter
ContrasteRends-moi un tableau selecteur / couleurs / ratio / seuil / conforme pour tout le texte visible de [URL].
Ordre du focusSimule 30 appuis sur Tab et rends-moi rang, balise, nom accessible et position a l'ecran.
LibellésListe les champs, boutons et liens dont le nom accessible est vide ou generique, avec leur selecteur.
StructureRends-moi la hierarchie des titres de la page dans l'ordre du document, et signale les niveaux sautes.
RégressionCompare le rapport axe d'avant et d'apres mes corrections, et liste ce qui a change dans les deux sens.

Tu as d’autres ressources comme ça ?

Ce que tu viens de lire est entièrement gratuit. Une nouvelle ressource part chaque semaine dans la newsletter : guides, modèles à copier et liens triés, sans compte à créer.

Cette page est en accès libre, n’hésite pas à la partager.