我正在为一个项目开发一个网页,目前我们正在使用一个表来控制内容的布局。当屏幕阅读器(我正在使用NVDA进行测试)关注表中的第一个项目时,它会说“有7行3列的表”,然后读取该项目。
<table role="presentation">
<tr>
<td tabindex="0" class="bold">Item</td>
</tr>
</table>
有没有办法防止屏幕阅读器说出表格信息?我试过将角色设置为演示文稿,但它仍然能说明问题。我知道使用表作为设计布局的方法是不好的实践,但这是一个原型。
谢谢
最佳答案
提供一个URL将允许我们测试它来听到您听到的内容。告诉我们你使用的是什么版本的NVDA会有帮助。了解您正在使用的浏览器也非常重要,因为它们通过可访问性api公开了不同的内容。因此,请提供以下信息:
测试的URL,
你使用的NVDA版本,
与NVDA一起使用的web浏览器。
至于兼容性预期,有一个方便的图表跟踪问题(上次更新时间为2016年10月):
Layout table with role presentation: Screen reader compatibility
对于这些组合,每个站点都应该表现良好:
好:NVDA和IE稳定-从NVDA 2014.1到NVDA 2016.2正常
良好:NVDA和FF稳定-从NVDA 2014.1到NVDA 2016.2正常
另外,我在细胞上看到了tabindex
。屏幕阅读器用户不需要它来获取内容。当你移除它时,NVDA有没有行为?
两项总体建议:
不要使用表格进行布局,即使是用于原型制作;
删除所有内容中的tabindex
,除非您还添加了所有必需的角色和键盘交互,以使其成为真正的交互控件。