Here is my code snippet
div { border: 1px solid orange; margin: 10px; }
<div id="header" tabindex="0">Header</div>
<div id="slats-component" tabindex="0">
<div id="totals-wrapper">Total [2]</div>
<div id="slats-component-body">
<div id="slat" tabindex="0">Slat1</div>
<div id="slat" tabindex="0">Slat2</div>
</div>
</div>
I am using only NVDA and only for FireFox.
Here is the actual behavior (what you do / focused element id / what NVDA reads):
- when moving forward (using
Tab
):- Navigate to Header / header / Header
Tab
/ slats-component / Total [2], Slat 1, Slat 2Tab
/ slat1 / Slat 1Tab
/ slat2 / Slat 2
- when moving backward (using
Shift + Tab
):- Navigate to Slat 2 / slat2 / Slat 2
Shift + Tab
/ slat1 / Slat 1Shift + Tab
/ slats-component / [nothing]Shift + Tab
/ header / Header
Actual behavior: while moving backward on step #3 NVDA reads nothing
Expected behavior: on the same step NVDA reads: Total [2], Slat 1, Slat 2
Pure CSS/HTML solution is preferable. In the meantime the html-snippet above is a part of AngularJS directive's template, so another solution is also possible.