Rôle ARIA conflictuel
Silktide vérifie les éléments qui déclarent un rôle explicite par rapport à la signification qu’ils ont déjà en HTML. Il signale les rôles qui ne sont pas autorisés pour cet élément, ainsi que les rôles qui ne font que répéter ce que l’élément signifie déjà.
<!-- Problème : un élément nav ne peut pas être un bouton -->
<nav role="button">…</nav>
<!-- Problème : redondant, nav a déjà ce rôle -->
<nav role="navigation">…</nav>
<!-- Correction : laissez l’élément parler de lui-même -->
<nav>…</nav>
Pourquoi c’est important
Chaque élément a une signification intégrée sur laquelle les s’appuient. Un rôle qui entre en conflit avec cette signification crée un élément qui ressemble à une chose et s’annonce comme une autre — une personne qui utilise un pourrait entendre « lien » pour un élément qui se comporte comme un bouton, avec des raccourcis clavier et des attentes qui ne correspondent plus. Les rôles redondants sont moins nuisibles, mais ils ajoutent du bruit, favorisent les erreurs futures et indiquent que ARIA est utilisé là où ce n’est pas nécessaire.
Comment corriger le problème
- Pour un rôle conflictuel, supprimez le rôle ou utilisez plutôt un élément
qui a réellement la signification souhaitée — s’il doit agir comme un
bouton, utilisez
<button>. - Pour un rôle redondant tel que
<nav role="navigation">ou<button role="button">, supprimez l’attribut de rôle. L’élément expose déjà ce rôle par lui-même.
Comment Silktide effectue cette vérification
- Trouver chaque élément de la page ayant un attribut
role, en ignorant les rôles inconnus ou abstraits (ceux-ci sont signalés par Rôle ARIA non valide). - Comparer le rôle aux combinaisons que la spécification ARIA in HTML autorise pour cet élément, et signaler les rôles que l’élément ne permet pas.
- Signaler les rôles qui reproduisent le rôle implicite de l’élément.
- Lorsqu’un attribut de rôle énumère plusieurs rôles, seul le premier est pris en compte.
Les résultats distinguent les deux cas afin que vous puissiez prioriser les conflits plutôt que la redondance.
Dépannage
Le rôle redondant est présent pour les anciens navigateurs
Les rôles de repère explicites comme role="navigation" étaient autrefois recommandés comme
filet de sécurité pour les anciennes technologies d’assistance. La prise en charge des éléments natifs
est universelle depuis des années, et le rôle dupliqué coûte maintenant davantage en
maintenance qu’il ne rapporte. Supprimez-le ou
le résultat si votre politique de prise en charge
exige de le conserver.
Cette vérification ne signale rien, même si je m’attends à des résultats
Les vérifications ARIA peuvent être désactivées pour chaque site Web. Consultez les paramètres avancés du site Web.