这是我的代码段
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>
&#13;
我只使用NVDA,仅用于FireFox。
以下是实际行为(你做什么/关注的元素id / NVDA读取的内容):
Tab
):
Tab
/ slats-component / Total [2],Slat 1,Slat 2 Tab
/ slat1 / Slat 1 Tab
/ slat2 / Slat 2 Shift + Tab
):
Shift + Tab
/ slat1 / Slat 1 Shift + Tab
/ slats-component / [nothing] Shift + Tab
/ 标题 /标题实际行为:在步骤#3向后移动时,NVDA不会读取任何内容
预期行为:在同一步骤NVDA上写着:总计[2],Slat 1,Slat 2
纯CSS / HTML解决方案更可取。与此同时,上面的html-snippet是AngularJS指令模板的一部分,因此另一种解决方案也是可能的。