2014-02-17 7 views
8

Ist es möglich, Elemente mit aria-hidden="true" und aria-hidden="false" zu verschachteln?Verschachtelte Aria versteckt

Zum Beispiel:

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

Dies scheint nicht für mich zu arbeiten. Ich habe es mit NVDA und seiner Funktionalität getestet, um eine vollständige Liste der Links auf der Seite anzuzeigen. Wenn ich aria true auf den Körper gesetzt habe, gelang es mir nicht, irgendwelche Links zu bekommen, auch wenn ich anfing, aria auf einigen Kindelementen auf false zu setzen. Derzeit sieht es so aus, als könnte ich den versteckten aria-Status in einem Kindelement nicht überschreiben.

Ich weiß, dass dies ein ziemlich ungewöhnlicher Ansatz ist, aber das Problem selbst ist auch ungewöhnlich. Eine riesige Lichtbox, die eine ganze Site selbst enthält (kein einfacher modaler Dialog, um kurz zu sein).

Antwort

9

Nein, das ist nicht möglich. Sie verbergen das Element und seine untergeordneten Elemente.

Als Beispiel, wenn ein modales Fenster zu schaffen verstecken Sie alles, aber die modal, wie folgt aus:

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

Dies wird die # page-wrap dann verstecken und die #myModal zu unterstützenden Technologien zeigen

+0

Danke für die Antwort, die ich fast vermutet hätte – Playerwtf

Verwandte Themen