Я работаю над системой проектирования, которая простирается от рамки 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?