Почему вкладки Bootstrap имеют роль = "презентация"?

Я работаю над системой проектирования, которая простирается от рамки Bootstrap. Одной из ключевых целей является доступность. При реализации вкладок Bootstrap я вижу, что они применяют role="presentation" к элементам списка в своем навигационном списке.

Итак, я собрал небольшой кусок тестового HTML из шаблона 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>

Спецификация ARIA говорит, что представление - это роль, для которой:

Предполагаемое использование - это когда элемент используется для изменения внешнего вида но не имеет всех функциональных, интерактивных или структурных релевантность типа элемента,

Мне кажется, что элементы <li> имеют структурную значимость для кого-то, использующего устройство доступности, поскольку они сообщают вам, сколько вкладок присутствует. Например, если вы обнаружили, что на третьей вкладке была информация, которую вы интересовали, переходите к списку и знаете, что есть три вкладки, которые позволят вам быстрее получить то, что вы хотите.

Кроме того, при доступе к этому тесту HTML с помощью ChromeVox списки объявляются одинаково. Таким образом, кажется, что role не имеет практического эффекта.

Я задал этот вопрос, но не нашел его обсуждения. Итак, кто-нибудь знает, почему это является частью структуры Bootstrap?

Ответы

Ответ 1

См. запись о доступных вкладках Марко в https://www.marcozehe.de/2013/02/02/advanced-aria-tip-1-tabs-in-web-apps/

В его реализации есть role="presentation" на ли, чтобы указать, что "экранный читатель должен игнорировать элементы списка самостоятельно", а затем добавляет роль "табуляции" в ссылках "сопоставление ролей с предполагаемым типом элемента считывателя экрана". "

Один момент, который был сделан в проблеме в проекте начальной загрузки (https://github.com/paypal/bootstrap-accessibility-plugin/issues/59), заключается в том, что (правильные или неправильные) вкладки обычно используется в качестве навигации, поэтому было бы нецелесообразно всегда включать вкладки ролей и вкладку. Как отмечает статья Марко: "Есть много обстоятельств, когда вкладки не являются соответствующей семантикой".

Кстати, наша работа не упрощается благодаря тому, что отдельные комбинации экранных устройств и браузеров не поддерживают это точно так же. (См. Эту статью для написания: http://john.foliot.ca/aria-hidden/)

Ответ 2

Это в основном для целей доступности. http://john.foliot.ca/aria-hidden/. Вы можете удалить или изменить "роль"