Используя Bootstrap modal, я видел эти атрибуты aria
много, но я никогда не знал, как их использовать.
Кто-нибудь знает, какие случаи использовать эти атрибуты? Я googled - просто не нашел прямых ответов.
HTML5 ARIA - это то, что вы ищете. Он может использоваться в вашем коде даже без начальной загрузки.
Доступные расширенные интернет-приложения (ARIA) определяют способы создания веб-сайтов контент и веб-приложения (особенно те, которые разработаны с помощью Ajax и JavaScript) более доступным для людей с ограниченными возможностями.
Чтобы быть точным для вашего вопроса, вот что ваши атрибуты называются состояниями ARIA и моделью
aria-labelledby
. Идентифицирует элемент (или элементы), который маркирует текущий элемент.
aria-hidden (state)
: указывает, что элемент и все его потомки не отображаются или не воспринимаются каким-либо пользователем, как реализовано автор.
Основными потребителями этих свойств являются пользовательские агенты, такие как считыватели экрана для слепых. Таким образом, в случае с модальным бутстрапом модальный div
имеет role="dialog"
. Когда читатель экрана заметит, что a div
становится видимым, у которого есть эта роль, он будет говорить на этикетке для этого div
.
Существует много способов маркировки вещей (и нескольких новых с ARIA), но в некоторых случаях целесообразно использовать существующий элемент как метку (семантику) без использования тега <label>
HTML. С HTML-модалами метка обычно представляет собой заголовок <h>
. Таким образом, в модальном случае Bootstrap вы добавляете aria-labelledby=[IDofModalHeader]
, и программа чтения с экрана будет говорить об этом заголовке, когда появится модальный текст.
Вообще говоря, программа чтения с экрана будет замечать, когда элементы DOM становятся видимыми или невидимыми, поэтому свойство aria-hidden
часто избыточно и, вероятно, может быть пропущено в большинстве случаев.
aria-hidden="true"
будет скрывать декоративные элементы, такие как значки глификона, от экранных читателей, которые не имеют значимого произношения, чтобы не создавать путаницы. Хорошая вещь - дело хорошей практики.
ARIA не изменяет функциональность, она только изменяет представленные роли/свойства пользователям экрана. Панель инструментов WebAIMs WAVE определяет роли ARIA на странице.