JAWS键盘快捷键在aria role =“gridcell”上触发点击事件

时间:2016-09-02 15:58:53

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

我遇到一个问题,当一个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时避免触发元素?

1 个答案:

答案 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>