Что это за атрибуты: `aria-labelledby` и` aria-hidden`

232

Используя Bootstrap modal, я видел эти атрибуты aria много, но я никогда не знал, как их использовать.

Кто-нибудь знает, какие случаи использовать эти атрибуты? Я googled - просто не нашел прямых ответов.

Теги:
wai-aria
twitter-bootstrap-3

4 ответа

229
Лучший ответ

HTML5 ARIA - это то, что вы ищете. Он может использоваться в вашем коде даже без начальной загрузки.

Доступные расширенные интернет-приложения (ARIA) определяют способы создания веб-сайтов контент и веб-приложения (особенно те, которые разработаны с помощью Ajax и JavaScript) более доступным для людей с ограниченными возможностями.

Чтобы быть точным для вашего вопроса, вот что ваши атрибуты называются состояниями ARIA и моделью

aria-labelledby. Идентифицирует элемент (или элементы), который маркирует текущий элемент.

aria-hidden (state): указывает, что элемент и все его потомки не отображаются или не воспринимаются каким-либо пользователем, как реализовано автор.

63

Основными потребителями этих свойств являются пользовательские агенты, такие как считыватели экрана для слепых. Таким образом, в случае с модальным бутстрапом модальный div имеет role="dialog". Когда читатель экрана заметит, что a div становится видимым, у которого есть эта роль, он будет говорить на этикетке для этого div.

Существует много способов маркировки вещей (и нескольких новых с ARIA), но в некоторых случаях целесообразно использовать существующий элемент как метку (семантику) без использования тега <label> HTML. С HTML-модалами метка обычно представляет собой заголовок <h>. Таким образом, в модальном случае Bootstrap вы добавляете aria-labelledby=[IDofModalHeader], и программа чтения с экрана будет говорить об этом заголовке, когда появится модальный текст.

Вообще говоря, программа чтения с экрана будет замечать, когда элементы DOM становятся видимыми или невидимыми, поэтому свойство aria-hidden часто избыточно и, вероятно, может быть пропущено в большинстве случаев.

  • 3
    Это более конкретно, чем принятый ответ
  • 1
    Это более полезный ответ ИМО.
17

aria-hidden="true" будет скрывать декоративные элементы, такие как значки глификона, от экранных читателей, которые не имеют значимого произношения, чтобы не создавать путаницы. Хорошая вещь - дело хорошей практики.

9

ARIA не изменяет функциональность, она только изменяет представленные роли/свойства пользователям экрана. Панель инструментов WebAIMs WAVE определяет роли ARIA на странице.

  • 0
    Разве изменение ролей и свойств, так что пользователи программы чтения с экрана получают разный опыт, не подпадает под само определение изменения функциональности?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню