我正在尝试让JAWS在html页面(编辑模式下的Confluence页面)中读取表格。 这些表位于iframe内部,我认为这是JAWS无法识别表格的原因。
我在表格渲染后为表格添加了一些属性
<caption>
<table role="grid" aria-live="polite" tabindex="0">
<tr role="row"></tr>
<th role="columnheader"></th>
<td role="gridcell"></td>
</table>
此表处于编辑模式。因此用户可以编辑此表并添加更多行。 我还需要做些什么来让JAWS识别表并读取所有单元格。 请找到下图,显示整个html结构。
更新:此页面使用的是wysiwyg(tinymce)编辑器。身体是contenteditable = true,其中表位于哪个位置,这是造成问题的原因。为了验证它,我从正文中删除了contenteditable属性,JAWS能够识别表,但我根本不能使用编辑器。
所以现在的问题是如何使JAWS读取内容可编辑元素内的表。
提前谢谢。
答案 0 :(得分:1)
我一直在iframe中有表格,并且没有JAWS的问题。我的第一个建议是摆脱所有多余的咏叹调属性。您过度使用它们并且实际上违反了规范。您不应该为本机元素指定角色。 (目前w3.org网站已关闭。我可以在网站恢复时提供网址。)
<table>
<th>
<td>
<th>
中移除colspan = 1。一列是默认列。<td>
s 为了测试,我也会
<table>
和<tbody>
然后添加
<th>
然后使用虚拟PC光标测试JAWS。使用&#39; T&#39;导航到表格。然后你可以使用ctrl + alt +箭头在表格中移动。 (或者您可以使用表格层命令,ins + space,T,然后使用简单的箭头键移动)。
如果您导航到表格然后向左和向右移动,您应该听到在数据值之前读取列标题(如果您将scope = col添加到<th>
,尽管JAWS可能会宣布列标题即使你没有范围= col)。