Я просто заметил, что, хотя атрибуты aria-label
, aria-labelledby
и aria-describedby
говорят работать на каждом элементе (см http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby), они, кажется, только для работы несколько элементов, таких как a
, а не для, например, div
или p
в NVDA и JAWS.ария этикетки, ария-labelledby и ария-describedby: очень непредсказуемое поведение в экранном
Я создал небольшую codepen продемонстрировать вопрос (просмотреть его с помощью просматривания и режима фокусировки):
http://codepen.io/jmuheim/pen/avWbPe
К примеру, в NVDA, на a
элементе, то aria-label
и aria-labelledby
, кажется, работают как в режиме просмотра, так и в режиме фокусировки. Но aria-describedby
объявляется только в режиме фокуса, а не в режиме просмотра.
Для элемента input
ни один из атрибутов не работает в режиме просмотра, но все работают в режиме фокусировки.
Для «голых» текстовых элементов, таких как p
или div
, ни один из атрибутов не работает.
В JAWS это очень похожее поведение, но, по крайней мере, для элемента p
, когда есть aria-describedby
, он сообщает, что описание можно прочитать, нажав «JAWS + alt + r».
Я действительно не вижу ясного шаблона для этого, поэтому я задаюсь вопросом, каковы общие правила в прошивках о том, как использовать эти атрибуты? Или лучше: почему они не просто работают для каждого элемента, как предлагает спецификация?
Спасибо за объяснение и предоставление источников. Я задал [тот же вопрос по трекеру NVDA] (http://community.nvda-project.org/ticket/5398), есть некоторая информация, характерная для NVDA. –