aria-valid-attr
Les attributs aria-* doivent être des attributs ARIA réels et définis
Vérifie que chaque nom d’attribut aria-* présent dans le DOM est un attribut réel défini par la spécification WAI-ARIA.
Applicabilité. S’applique à tout élément du DOM composé qui porte au moins un attribut dont le nom commence par « aria- ».
Attendu. Chaque nom d’attribut aria-* est un attribut réel défini par la spécification WAI-ARIA (détecte les fautes de frappe et les noms d’attributs inventés, ignorés silencieusement par les technologies d’assistance et donc un défaut réel et déterministe). Signalé en cantTell plutôt qu’en fail : un attribut aria-* que la spécification ne définit pas est inerte, donc sa présence ne change rien au nom, au rôle ou à la valeur exposés de l’élément. Lorsque l’auteur visait un attribut réel et que l’élément se retrouve sans nom, cette absence relève des règles de nommage, pas de celle-ci. ACT 5f99a7 associe 1.3.1/4.1.2 comme exigences secondaires, « less strict » que la règle elle-même.
Ce que rapporte un constat.
attr: le nom de l’attribut aria-* que WAI-ARIA ne définit pas.
Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.
Exemples
<button aria-label="Save">Save</button>
aria-label est un attribut ARIA réel et défini.
<button aria-labeledby="x">Save</button>
aria-labeledby est une faute de frappe (l’attribut réel est aria-labelledby) et est ignoré silencieusement par les technologies d’assistance.
Comment vérifier
Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.
ARIA_ATTR_INVALID
- Inspectez l’élément indiqué par le rapport et notez l’attribut aria-* inconnu.
- Vérifiez s’il s’agit d’une faute de frappe sur un attribut réel (aria-lable, aria-labeledby, aria-describeby, aria-hiden) ou d’un crochet inventé (aria-qa, aria-test).
- S’il s’agit d’une faute de frappe, ouvrez le panneau Accessibilité des outils de développement du navigateur et vérifiez si ce que l’attribut réel apporterait (nom, description, état masqué) est présent malgré tout.
- Avec un lecteur d’écran, placez-vous sur l’élément et écoutez ce qui est annoncé.
Réussite. L’attribut est un crochet de données qui n’est pas destiné aux technologies d’assistance, ou ce qu’il visait est fourni d’une autre manière.
Échec. Il s’agit d’une faute de frappe sur un attribut réel et son effet manque, par exemple un contrôle sans nom ou un contenu décoratif non masqué, ce qui ne respecte pas le critère WCAG 4.1.2 (ACT 5f99a7).