首页 > 解决方案 > IE 11 和 JAWS for role="presentation" 在尝试读取表格时的兼容性问题?

问题描述

我有多个表,我试图一起读取行。这是一个示例表:

<table class="data-table" role="presentation">
  <tr role="rowgroup">
    <td role="gridcell">
      <strong>Name</strong>
    </td>
    <td role="gridcell">
      John Doe
    </td>
  </tr>
  <tr role="rowgroup">
    <td role="gridcell">
      <strong>Size</strong>
    </td>
    <td role="gridcell">
      XL
    </td>
  </tr>
  <tr role="rowgroup">
    <td role="gridcell">
      <strong>Color</strong>
    </td>
    <td role="gridcell">
      blue
    </td>
  </tr>
</table>

在这个呈现的示例中,这应该读取第一个完整行“Name - John Doe”。它在 Chrome 上按预期工作,但无法使用 IE11 读取整行。发生这种情况有什么原因吗?

编辑,我进一步研究了它,如果表格用标签包裹,它似乎会发生。不知道为什么会这样,但至少我可以更一致地重现这个问题。

标签: htmlinternet-explorer-11jaws-screen-reader

解决方案


这个标记非常复杂,我不确定你的目标是什么。这对我来说似乎是一个数据表。您能否删除该role="presentation"表以将表作为数据表公开给 AT,然后将第一列标记为<th>列标题,将第二列标记为<td>单元格?这样,您就无需尝试控制屏幕阅读器的内容和时间,而且您使用的是语义标记。大多数屏幕阅读器用户都知道如何与数据表交互以提取他们需要的信息,并且试图掩盖这种交互并控制用户体验不太可能奏效。相信你的用户:-)


推荐阅读