Программа чтения с экрана NVDA не читает aria-labelledby и aria-describeby в Internet Explorer

Я начал работать над доступностью. aria-labelledby и aria-describeby отлично работают в Chrome и Firefox, но не читаются NVDA в IE.

<div id="div1">div 1</div>
<div id="div2">div 2</div>
<div>div 3</div>
<button aria-labelledby="div1 div2 buttonName1"><span id="buttonName1">Test1</span></button>
<br>
<button aria-describedby="div1 div2 buttonName2"><span id="buttonName2">Test2</span></button>

person Pankaj Kumar Singh    schedule 17.02.2017    source источник
comment
Какая версия IE? Какая версия NVDA?   -  person aardrian    schedule 17.02.2017
comment
IE 10, Edge, IE 11 и NVDA 2016.2.1   -  person Pankaj Kumar Singh    schedule 18.02.2017
comment
Ах, тогда мой ответ ниже определенно применим. Что касается Edge, это совершенно другой браузер, который не использует те же хуки, что и IE. Обычно пользователи NVDA и JAWS избегают этого, но он работает с экранным диктором.   -  person aardrian    schedule 18.02.2017


Ответы (1)


Это известная ошибка в Internet Explorer. Вряд ли это будет исправлено, поскольку усилия по разработке сосредоточены на Edge. Таким образом, многие пользователи NVDA работают с Firefox.

IE 11 не поддерживает aria-labelledby или aria-describedby с одной или несколькими id ссылками , если указанный элемент не является тем, что Microsoft классифицирует как доступный элемент. Недоступные элементы IE могут быть преобразованы в доступные элементы путем добавления tabindex="-1", как описано в документации, или путем добавления ARIA role (при необходимости).

(Неудачный) пример:

<p tabindex="-1" id="label-1">label text</p>
...
<input type="text" aria-labelledby="label-1">

Подробнее читайте здесь: https://www.paciellogroup.com/blog/2014/06/aria-labelledby-aria-describedby-support-popular-windows-browsers/

person aardrian    schedule 17.02.2017