2017-02-17 17 views
0

나는 접근성 작업을 시작했습니다. aria-labelledby 및 aria-describedby는 Chrome 및 Firefox에서 제대로 작동하지만 IE의 NVDA에서 제대로 읽을 수 없습니다.NVDA 스크린 리더가 Internet Explorer의 aria-labelledby 및 aria-describedby를 읽지 않습니다.

<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

버전? 어떤 버전의 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은 하나 또는 여러 개의 id 참조로 aria-labelledby 또는 aria-describedby를 지원하지 않습니다 참조 된 요소가 접근 가능한 요소로 무엇을 마이크로 소프트의 클래스가 아닌. IE에 접근 할 수없는 요소는 문서화 된대로 tabindex="-1"을 추가하거나 ARIA role을 추가하여 접근 가능한 요소로 만들 수 있습니다 (해당하는 경우).

(불운) 예 :

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

읽기 자세한 내용은 여기 : IE의 https://www.paciellogroup.com/blog/2014/06/aria-labelledby-aria-describedby-support-popular-windows-browsers/