Le critère derrière
1.1.1 Contenu non textuel
Tout ce qui n'est pas du texte — une image, une icône, un graphique — a besoin d'une version textuelle qui dise la même chose.
Niveau A · EN 301 549 § 9.1.1.1
Pourquoi cette vérification existe
Un lecteur d'écran ne sait lire que du texte. Une image sans alternative, c'est du silence ; un bouton en icône sans nom, c'est le mot « bouton » et rien d'autre.
Ce qui la déclenche habituellement
- échoueUne photo de produit avec `alt=""` alors que la photo est la seule chose qui nomme le produit.
- échoueUn bouton en icône sans `aria-label`, annoncé comme « bouton ».
- échoueUn graphique livré en PNG avec `alt="graphique"` et aucun tableau de données nulle part.
- échoueDes ornements décoratifs pourvus d'une alternative descriptive, si bien que la personne entend du bruit.
Comment corriger
- à faireÉcrivez l'alternative comme vous liriez la page à quelqu'un au téléphone.
- à faireDonnez `alt=""` aux images purement décoratives — vide, pas absent — pour que les technologies d'assistance les sautent.
- à fairePour les boutons en icône, un `aria-label` qui nomme l'action, pas l'icône : « Supprimer le brouillon », pas « corbeille ».
- à fairePour les graphiques, rendez les chiffres accessibles quelque part — un tableau, une phrase de synthèse, un téléchargement.
Comment c'est signalé
A11ySignal le signale avec un impact critique. Chaque élément en échec arrive avec son sélecteur CSS et le balisage fautif, pour aller droit à la ligne plutôt que de la chercher. Deque publie le détail au niveau du moteur :
https://dequeuniversity.com/rules/axe/4.13/image-alt ↗
Vérification implémentée par axe-core 4.13.0, © Deque Systems, MPL-2.0.