aria-text

Les éléments role="text" ne devraient avoir aucun descendant focalisable

manualconfiance : mediumgravité : minorrobust

Vérifie que les éléments dotés de role="text" ne contiennent aucun descendant focalisable (lien, bouton, contrôle de formulaire, tabindex, iframe ou contenteditable).

Applicabilité. Éléments dont l’attribut role se résout en text : son premier jeton désignant un rôle connu, sans tenir compte de la casse, est text, donc role="foo text" et role="TEXT" comptent, alors que role="link text" (un lien) non.

Attendu. role="text" indique aux technologies d’assistance de traiter tout le sous-arbre d’un élément comme une seule unité de texte brut (p. ex. un texte découpé visuellement en plusieurs <span> pour la mise en forme). Selon les WAI-ARIA Authoring Practices, cela n’a de sens que si ce sous-arbre ne contient aucun contenu focalisable : un descendant focalisable dans une zone « ceci n’est que du texte » est inaccessible ou déroutant pour les utilisateurs du clavier ou de technologies d’assistance.

Exemples

pass
<span role="text">Plain text with no interactive content.</span>

Aucun descendant focalisable n’existe dans l’élément role="text".

can't tell
<span role="text">Some text with <a href="#">a link</a> inside it.</span>

role="text" indique aux technologies d’assistance de traiter ceci comme une seule chaîne plate, mais le lien imbriqué reste focalisable et interactif en dessous.

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.

ROLE_TEXT_HAS_FOCUSABLE_DESCENDANT

  1. Inspectez l’élément indiqué par le rapport et trouvez l’élément focalisable qu’il contient.
  2. Appuyez sur Tab jusqu’à ce que cet élément ait le focus, avec un lecteur d’écran en marche, et écoutez ce qui est annoncé.
  3. Essayez de l’activer avec Entrée ou Espace.

Réussite. L’élément focalisable est annoncé avec son rôle et son nom et peut être utilisé, ou il n’a pas besoin d’être focalisable.

Échec. L’élément focalisable est annoncé comme du texte simple, ou pas du tout : les utilisateurs ne peuvent pas savoir qu’il est interactif (bonne pratique, WAI-ARIA Authoring Practices).

Voir le code source