我遇到一个问题,当一个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>
如果您选项卡导航到“Click ME”单元格并使用JAWS键盘快捷键,例如insert + ctrl + b(在页面快捷方式上显示按钮),在焦点元素上触发click事件并显示JS警报,报告“click”事件。
这是JAWS的预期行为吗?如何在使用键盘shrotcut时避免触发元素?
答案 0 :(得分:0)
尝试了您的示例代码。使用IE11和JAWS17删除role="grid"
可以正常工作。
要获取复选框列表,请按insert+ctrl+x
。
如果我们有role="grid"
,则在按insert+ctrl+x
时切换复选框。
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>clicking issue</title>
</head>
<body>
<table summary="sample">
<tbody>
<tr>
<td>
<a href="#" onclick="alert(event.type);">Gridcell Role Cell</a>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="testcheckbox" id="gcCheckbox"><label for="gcCheckbox">Gridcell Checkbox</label>
</td>
</tr>
</tbody>
</table>
<input type="checkbox" name="testcheckbox2" id="nonGcCheckbox"><label for="nonGcCheckbox">Non-Gridcell Checkbox 2</label>
</body>
</html>