如何让JAWS识别并读取TINYMCE编辑器中的表格

时间:2017-02-02 23:26:27

标签: iframe accessibility wai-aria jaws-screen-reader

我正在尝试让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结构。

enter image description here 更新:此页面使用的是wysiwyg(tinymce)编辑器。身体是contenteditable = true,其中表位于哪个位置,这是造成问题的原因。为了验证它,我从正文中删除了contenteditable属性,JAWS能够识别表,但我根本不能使用编辑器。 所以现在的问题是如何使JAWS读取内容可编辑元素内的表。 enter image description here

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我一直在iframe中有表格,并且没有JAWS的问题。我的第一个建议是摆脱所有多余的咏叹调属性。您过度使用它们并且实际上违反了规范。您不应该为本机元素指定角色。 (目前w3.org网站已关闭。我可以在网站恢复时提供网址。)

  1. 删除角色=&#39;网格&#39;来自<table>
  2. 删除角色=&#39;列标题&#39;来自<th>
  3. 删除角色=&#39; gridcell&#39;来自<td>
  4. 从第三个<th>中移除colspan = 1。一列是默认列。
  5. 从所有<td> s
  6. 中删除colspan = 1

    为了测试,我也会

    1. <table><tbody>
    2. 删除aria-live
    3. 从所有单元格和表格中删除tabindex
    4. 然后添加

      1. scope = col to <th>
      2. 然后使用虚拟PC光标测试JAWS。使用&#39; T&#39;导航到表格。然后你可以使用ctrl + alt +箭头在表格中移动。 (或者您可以使用表格层命令,ins + space,T,然后使用简单的箭头键移动)。

        如果您导航到表格然后向左和向右移动,您应该听到在数据值之前读取列标题(如果您将scope = col添加到<th>,尽管JAWS可能会宣布列标题即使你没有范围= col)。