如何使用表格单元格捕获按键事件 - Web辅助功能?

时间:2017-02-09 12:42:38

标签: accessibility jaws-screen-reader

我有可访问性启用Web应用程序

在单元格表格中,我有屏幕阅读器JAWS正在读取的数据。在相同的单元格上,我有菜单,在输入按键时激活。 我没有在细胞上定义任何角色。如下:

问题1.输入按键转换为鼠标点击事件Jaws这样做,因为没有Jaws ON,它的工作正常。所以如何让Enter键在这里工作。 我有2个不同的菜单在鼠标点击时打开并输入按键。

下面是示例代码,当钳口打开时,输入按键成为点击事件。

    <!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){



     $( "td" ).click(function() {
     alert( "Handler for .click() called." );
    });

    $("td").keydown(function(e){
        if(e.which == 13) {
        alert('You pressed enter!');
      }

    });



});
</script>
</head>
<body>

<table> 
  <tbody>
  <tr>
    <th>Parameter</th>
    <th>Description</th>
  </tr>  
  <tr>
    <td tabindex="0" >function</td>
    <td>Specifies </td>
  </tr>
  <tr>
    <td>function2</td>
    <td>Optional.</td>
  </tr>
  </tbody>
  </table>

</body>
</html>

intial table

After mouse click

1 个答案:

答案 0 :(得分:0)

我遇到类似的问题,JAWS将在表单元格(keypress)上发生的TD事件转换为在该表单元格中的锚标记上发生的click事件。不会触发表单元格上的keypress事件处理程序,而是将其中的链接导航到。

我发现的解决方案是在选择表格单元格时将aria-hidden添加到锚标记,然后在不再选择表格单元格时将其删除。为了保持屏幕阅读功能,我还必须在选择表格单元格时将锚标记的aria-label属性复制到表格单元格,然后在不使用该单元格的情况下将其移回到锚定标记选择更长的时间。

不幸的是,它非常骇人,但JAWS也是如此。我希望类似的东西对您有用!