【发布时间】:2019-02-13 10:18:20
【问题描述】:
我遇到的问题是,当使用特定于 JAWS 的键盘快捷键而网格单元聚焦且 JAWS 处于表单模式时,JAWS 会触发点击事件。
下面的示例最终会产生我描述的行为:我发现在 Firefox 和 JAWS 17 中重现这种行为最容易:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head><title>clicking issue</title></head>
<body>
<table role="grid" summary="sample">
<tbody>
<tr>
<td>
<a href="#" onclick="alert(event.type);">Gridcell Role Cell</a>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="testcheckbox">Gridcell Checkbox
</td>
</tr>
</tbody>
</table>
<input type="checkbox" name="testcheckbox2">Non-Gridcell Checkbox 2
</body>
</html>
如果您使用标签导航到“单击我”单元格并使用 JAWS 键盘快捷键,例如insert+ctrl+b(在页面快捷方式上显示按钮),在焦点元素上触发点击事件并出现 JS 警报,报告“点击”事件。
这是 JAWS 的预期行为吗?使用键盘快捷键时如何避免触发元素?
【问题讨论】:
-
对不起,您为什么在这里使用
presentation角色? AFAIK,除非万不得已,否则不应使用它。 -
我认为这是一个红鲱鱼。 rule="grid"(甚至在 table 标记上没有角色)在点击事件问题方面产生相同的行为。
-
你有网址吗?我怀疑您在这里遇到了一些问题,例如
<td>上的tabindex在现在去语义化的table以及没有href的a中改变了它的角色。鉴于我在这段代码中看到的内容,我认为查看整个页面是必要的。 -
刚刚进行了几次测试,我同意@aardrian:我们需要一个 URL 来查明这一点。我无法在此处重现此内容,因此 JAWS 的行为可能是因为 HTML 格式错误(链接上没有
tr,没有href)。 -
不幸的是,我没有外部可用的站点来完全在上下文中显示它。但是,我确实更新了问题中的示例 HTML,以便更容易在 IE11 和 Firefox 中重现。我可以使用给定的 HTML 获得结果。
标签: accessibility roles wai-aria jaws-screen-reader