Attribut ARIA interdit
Silktide vérifie que chaque attribut ARIA sur vos pages est pris en charge par le rôle de l'élément concerné. Les attributs qu'un rôle ne prend pas en charge, et les attributs qui ne font pas du tout partie de la norme ARIA, sont ignorés par les navigateurs - le comportement prévu par l'auteur ne se produit jamais.
<!-- Problème : aria-checked n'a aucune signification sur un bouton -->
<button aria-checked="true">Gras</button>
<!-- Correctif : utilisez un rôle qui prend en charge l'état dont vous avez besoin -->
<button role="switch" aria-checked="true">Gras</button>
Pourquoi c'est important
Chaque rôle prend en charge un ensemble spécifique d'états et de propriétés, et les navigateurs écartent tout ce qui sort de cet ensemble. La page peut alors sembler correcte lors d'une relecture de code tandis que les utilisateurs de n'obtiennent rien : un interrupteur dont l'état n'est jamais annoncé, une description jamais lue. Cette catégorie détecte également les attributs mal orthographiés comme aria-lable - le cas le plus dommageable, car l'auteur croit qu'un libellé existe et l'utilisateur d'un n'en a aucun.
Comment corriger
- Corrigez les noms d'attribut mal orthographiés (
aria-labledoit êtrearia-label,aria-labeledbydoit êtrearia-labelledby). - Si l'attribut est correct mais non pris en charge, changez le rôle de l'élément pour un rôle qui le prend en charge - ou demandez-vous si un élément natif ne fournit pas déjà ce comportement.
- Si l'attribut n'apporte rien d'utile, supprimez-le.
Comment Silktide réalise ce test
- Rechercher chaque élément de la page qui porte au moins un attribut
aria-. - Déterminer l'ensemble des attributs ARIA valides pour cet élément : les attributs
globaux qui fonctionnent partout (comme
aria-labeletaria-hidden), plus les attributs pris en charge par le rôle de l'élément. - Signaler les noms d'attribut qui ne font pas partie d'ARIA 1.2 - généralement des fautes de frappe.
- Signaler les attributs reconnus utilisés sur un élément dont le rôle ne les prend pas en charge, ou qui exigent un rôle que l'élément n'a pas.
Les attributs obsolètes sont signalés séparément par Attribut ARIA obsolète, et les valeurs d'attribut sont validées par Valeur d'attribut ARIA non valide.
Dépannage
L'attribut fonctionne dans mes tests
Certaines paires lecteur d'écran/navigateur tolèrent des combinaisons non standard que d'autres rejettent. Le respect de la norme est ce qui rend le comportement prévisible sur les technologies d'assistance que vous ne pouvez pas tester.
Ce contrôle ne signale rien alors que je m'attendais à des résultats
Les tests ARIA peuvent être désactivés par site web. Vérifiez les paramètres avancés du site web.