Pourquoi les onglets Bootstrap ont-ils un rôle="présentation"?

je travaille sur un système de conception qui s'étend du cadre de Bootstrap. L'un des principaux objectifs est l'accessibilité. Lors de L'implémentation des onglets Bootstrap, je vois qu'ils s'appliquent role="presentation" pour la liste des éléments à leur valeur liquidative de la liste.

alors j'ai rassemblé un petit morceau de HTML test du modèle Bootstrap:

<ul class="nav nav-tabs">
  <li role="presentation" class="active"><a href="#">Home</a></li>
  <li role="presentation"><a href="#">Profile</a></li>
  <li role="presentation"><a href="#">Messages</a></li>
</ul>

<ul class="nav nav-tabs">
  <li class="active"><a href="#">Home</a></li>
  <li><a href="#">Profile</a></li>
  <li><a href="#">Messages</a></li>
</ul>

L'ARIA spec dit que la présentation est un rôle pour lequel:

l'utilisation prévue est lorsqu'un élément est utilisé pour changer l'apparence de la page mais n'a pas tous les fonctionnelle, interactive, ou structurelle la pertinence implicite par le type d'élément,

Il me semble que l' <li> les éléments ont une pertinence structurelle pour quelqu'un qui utilise un dispositif d'accessibilité car ils vous disent combien d'onglets sont présents. Si vous deviez découvrir, par exemple, que le troisième onglet contenait les informations qui vous intéressaient, en naviguant vers la liste et en sachant qu'il y a trois onglets vous permettrait d'obtenir ce que vous voulez plus rapidement.

en outre, lors de l'accès à ce HTML de test avec ChromeVox, les listes sont annoncées de façon identique. Il semble donc que l' role n'a aucun effet pratique.

J'ai cherché cette question sur Google, mais je n'en ai trouvé aucune discussion. Donc, quelqu'un sait pourquoi cela fait partie du cadre de Bootstrap?

19
demandé sur theJBRU 2015-06-24 16:30:24

2 réponses

voir l'écriture sur les onglets accessibles par Marco à https://www.marcozehe.de/2013/02/02/advanced-aria-tip-1-tabs-in-web-apps/

son implémentation a role="presentation" sur le li pour indiquer "que le lecteur d'écran devrait ignorer les éléments de liste eux-mêmes" et ajoute ensuite le rôle "tab" sur les liens "faisant correspondre les rôles au type d'élément reconnaissable par le lecteur d'écran visé."

Un point qui a été faite à un problème dans le bootstrap projet d'accessibilité (https://github.com/paypal/bootstrap-accessibility-plugin/issues/59) est que (bon ou mauvais) les onglets sont assez couramment utilisés comme navigation de sorte qu'il serait inapproprié d'inclure toujours les rôles tablist et tab. Comme le note L'article de Marco: "il y a beaucoup de circonstances où les onglets ne sont pas la sémantique appropriée."

BTW notre travail n'est pas rendu plus facile par le fait que des combinaisons individuelles de lecteurs d'écran et de navigateurs ne supportent pas cela de la même manière. (Voir cet article pour une écriture sur: http://john.foliot.ca/aria-hidden/)

6
répondu peater 2016-02-12 23:45:27

il est principalement à des fins d'accessibilité. http://john.foliot.ca/aria-hidden/. Vous pouvez supprimer ou modifier le "rôle"

2
répondu user2557504 2015-07-08 19:34:17