Объяснение и пример aria-owns, aria-invalid, aria-expanded

Я просматривал какой-то код, и один из тегов имел атрибуты aria-owns и aria-expanded. Я погуглил их и не нашел достаточно подробностей, чтобы полностью понять, что они делают.

Может ли кто-нибудь объяснить использование этих конкретных атрибутов? У меня есть общее представление о том, что делают атрибуты aria (я использовал aria-labelledby)?


person user1410270    schedule 19.06.2013    source источник
comment
Это теги, помогающие программам чтения с экрана определить, какая информация предоставляется пользователю. Вот спецификация W3C: w3.org/WAI/intro/aria   -  person thatidiotguy    schedule 19.06.2013
comment
Я знаю, что такое ария. Я не понимаю, что делает конкретный атрибут aria-owns.   -  person user1410270    schedule 19.06.2013
comment
Думаю, мне следовало задавать более конкретные вопросы. Я читал это до публикации... По сути, он связывает дочерний узел dom с чем-то, чем он физически не является дочерним, верно? В чем польза от его использования?   -  person user1410270    schedule 19.06.2013
comment
См. пример дерева и W3C возможно?   -  person Ryan B    schedule 20.06.2013
comment
Если вы хотите учиться на примерах, перейдите по следующей ссылке. oaa-accessibility.org/examples   -  person Keen Sage    schedule 29.06.2013


Ответы (2)


ария-помечено

aria-labelledby имеет тот же конечный результат, что и aria-label, то есть значение атрибута будет прочитано программами чтения с экрана. Разница в том, что значение aria-label — это метка, которую вы хотите использовать, а значение атрибута aria-labelledby — это ссылка на идентификатор другого элемента. Текстовое значение этого другого элемента будет меткой для первого.

ария-владеет

Обычно родительско-дочерние отношения элементов подразумеваются иерархией DOM. Однако при некоторых обстоятельствах имеет больше смысла думать об элементе как имеющем другого родителя, чем это технически в DOM, и для таких обстоятельств используется «aria-owns».

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

ария-расширенная

aria-expanded проще. Он всегда имеет значение true или false (если атрибут не находится в элементе, он считается ложным). Когда средство чтения с экрана переходит к элементу, который можно развернуть (например, к элементу меню, содержащему вложенное меню), чтение тега «aria-expanded» позволяет пользователю узнать, активирована ли подключенная всплывающая секция или нет.

Разработчик несет ответственность за активное управление состоянием расширенных тегов aria по мере того, как пользователи активируют и деактивируют расширяемые элементы.

Существует множество состояний и свойств арии, которые могут сбивать с толку. В документах удивительно легко ориентироваться, а основы не слишком сложны, поэтому не бойтесь погрузиться в них: https://www.w3.org/TR/wai-aria/states_and_properties

person gmeyr    schedule 03.10.2016

aria-labelledby (свойство)

# Идентифицирует элемент (или элементы), который помечает текущий элемент.

Назначение aria-labelledby такое же, как у aria-label. Он предоставляет пользователю узнаваемое имя объекта. Наиболее распространенным сопоставлением API специальных возможностей для метки является доступное свойство имени.

Если текст метки виден на экране, авторам СЛЕДУЕТ использовать aria-labelledby и НЕ СЛЕДУЕТ использовать aria-label. Используйте aria-label только в том случае, если интерфейс таков, что невозможно иметь видимую метку на экране. Пользовательские агенты отдают предпочтение aria-labelledby над aria-label при вычислении доступного свойства имени.

Атрибут aria-labelledby очень похож на описание объекта с помощью aria-describedby, где описание предназначено для предоставления дополнительной информации, которая может понадобиться некоторым пользователям.

См. эту ссылку.

person Kamyar Gilak    schedule 19.11.2013