2014-02-17 1 views
8

aria-hidden="true"aria-hidden="false"으로 요소를 중첩 할 수 있습니까? 예를 들어중첩 된 아리아 숨김

는 :

<div aria-hidden="true"> 
    some hidden content 
    <div aria-hidden="false"> 
     some visible content 
    </div> 
</div> 

이 나를 위해 작동하지 않는 것 같다. 필자는 NVDA와 그 기능을 테스트하여 페이지에 전체 링크 목록을 표시했습니다. 몸에 아리아가 숨겨져있는 것을 설정하면 일부 자식 요소에서 아리아를 거짓으로 숨기기 시작했을 때도 링크를 얻을 수 없었습니다. 현재 아리아 숨겨진 상태를 자식 요소로 덮어 쓸 수없는 것 같습니다.

나는 이것이 아주 드문 접근법 일지 모르지만 그 자체가 문제이기도하다. 거대한 라이트 박스는 전체 사이트 자체를 포함합니다 (간단한 모달 대화 상자가 없습니다).

답변

9

아니요, 불가능합니다. 요소와 그 자식을 숨 깁니다. 모달 창을 만들 때 예를 들어

, 당신은 다음과 같이 모달 제외한 모든 것을 숨길 수 :

<div aria-hidden="true" id="page-wrap"> 
    <main role="main"> 
    <p>content</p> 
    </main> 
</div> 
<div aria-hidden="false" id="myModal" aria-labelledby="myModal-title"> 
    <h1 id="myModal-title">Sign up!</h1> 
    ... 
</div> 

이 다음 보조 기술에 #myModal를 # 페이지 랩을 숨기고 표시됩니다

+0

대답 주셔서 감사합니다. – Playerwtf