2017-02-17 16 views
0

Я начал работать над доступностью. aria-labelledby и aria, которые описаны в Chrome и Firefox, но не читаются NVDA в IE.Считыватель экрана NVDA не читает aria-labelled и арию, описанные в Internet Explorer

<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> 
+0

Какая версия IE? Какая версия NVDA? – aardrian

+0

IE 10, Edge, IE 11 и NVDA 2016.2.1 –

+0

Ах, тогда мой ответ ниже определенно применяется. Что касается Edge, это совершенно другой браузер и не использует те же самые крючки, что и IE. Как правило, пользователи NVDA и JAWS избегают этого, но он работает с «Рассказчиком». – aardrian

ответ

4

Это известная ошибка в 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/