Windows рассказчик и ария-описана
Я использую aria-описанный на нескольких переключателях, чтобы программы чтения с экрана сначала читали ярлык радио, а затем текст описания, чтобы дать больше информации.
Из-за структуры страницы я не могу использовать набор полей. Многие валидаторы доступности исходного кода будут отображать ошибку, если у вас есть метка без атрибута for, поэтому я использую div для текста описания.
<div id="desc">Choose a fruit</div>
...
<label><input type="radio" aria-describedby="desc" />Apple</label>
<label><input type="radio" aria-describedby="desc" />Orange</label>
Однако Windows 8.1 Narrator против IE11 не будет читать текст описания.
Если я добавлю role="heading" в div, то это произойдет (это уместно?). Если я изменю div на метку, это также произойдет (но не пройдет проверку).
Руководящие принципы для приложения JavaScript WinRT, похоже, указывают на то, что эта простая структура является действительной ( http://msdn.microsoft.com/en-au/library/windows/apps/hh700323.aspx). Ведет ли рассказчик против IE другие правила? Кто они такие?
2 ответа
Windows Narrator - это не настоящая программа для чтения с экрана, это игрушка! Вместо этого используйте бесплатную программу чтения с экрана NVDA http://www.nvaccess.org/. Размещенный вами код соответствует требованиям и должен работать с соответствующим программным обеспечением для чтения с экрана, таким как NVDA.
В качестве доказательства этого посмотрите на то, что на самом деле используется сообществом читателей экрана.
Я запустил NVDA поверх какого-то похожего HTML с атрибутами ARIA и ничего не получил, так же, как для Рассказчика. В любом случае не уверен, как программа чтения с экрана будет читать HTML-страницу. Мне кажется, должна быть некоторая интеграция в браузер, чтобы теги работали. NVDA действительно читает ссылки.