back to The state of hidden content support in 2016

Screen reader support for hidden content

Software used for testing


screen reader support for various methods of hiding content
test expected behavior JAWS 17 + Firefox 43 JAWS 17 +IE 11 JAWS 17 +chrome 47 Window Eyes 9 + Firefox 43 Window Eyes 9 +IE 11 Window Eyes 9 +chrome 47 NVDA 2015 + Firefox 43 NVDA 2015 + IE 11 NVDA 2015 + +chrome 47 VoiceOver Mac OSX El Capitan + Safari VoiceOver iOS + Safari ChromeVox Chrome OS 47 Orca 3.4.2 Epiphany 3.4.1/ Webkit 1.8.3 + Orca 3.16, Firefox 43, Ubuntu 15.10 Talkback, Android 4.4, Chrome 31 Talkback, Android 4.4 + Firefox 25 Narrator 10 +IE 11
1. aria-hidden content visible on screen ignored by screen reader Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass
2. html5 hidden content hidden (in supporting browsers) and ignored by screen reader Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass
3. CSS display:none content hidden (in supporting browsers) and ignored by screen reader Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass
4. CSS off screen content hidden (in supporting browsers) and announced by screen reader Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass
5. HTML5 hidden aria-hidden=false

content hidden (in supporting browsers)

and ignored by AT.

Pass Fail Pass Pass Pass Pass Pass Pass Pass Fail Fail Pass Pass Pass Fail Fail Pass
6. CSS display:none aria-hidden=false

content hidden (in supporting browsers)

and ignored by AT.

Pass Fail Pass Pass Pass Pass Pass Pass Pass Fail Fail Pass Pass Pass Fail Fail Pass
7. CSS off screen aria-hidden=true content hidden (in supporting browsers) and ignored by screen reader Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass
8. HTML5 hidden aria-hidden=false on child element content hidden (in supporting browsers) and ignored by AT. Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass Pass

Tests

test 1 aria-hidden

code

<p id="a" aria-hidden="true">test aria hidden</p>

test 2 HTML5 hidden

code

<p id="b" hidden>test html5 hidden</p>

test 3 CSS display:none

code

<p id="c" style="display:none">test display:none</p>

test 4 CSS off screen

test 4 position:absolute;left:-9999px

code

<p id="d" style="position:absolute;left:-9999px">test position:absolute;left:-9999px</p>


test 5 HTML5 hidden aria-hidden=false

code

<p id="e" hidden aria-hidden="false">test html5 hidden</p>

test 6 CSS display:none aria-hidden=false

code

<p id="f" style="display:none" aria-hidden="false">test display:none</p>

test 7 CSS off left aria-hidden=true

code

<p id="g" style="position:absolute;left:-9999px" aria-hidden="true">test 7 position:absolute;left:-9999px aria-hidden="true"</p>

test 8 HTML5 hidden aria-hidden=false on child element

code

<p id="h" hidden><span aria-hidden="false">patrick is a knob</span> test 8 html5 hidden aria-hidden="false" on child element;</p>