gpt4 book ai didi

Javascript keyevent 和 JAWS 屏幕阅读器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:44 25 4
gpt4 key购买 nike

我有一个应用程序,它会在每次按下空格键时执行某些操作(例如警报)。如果我不使用 JAWS 屏幕阅读器,这可以正常工作。但是,一旦我加载 JAWS 屏幕阅读器,当我按下空格键时它不会执行警报。我需要使用 JAWS,所以我需要它才能工作。这是代码片段。

$(document).keypress(function(event) {
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
if (chCode == 32){ //32 is keyCode for spacebar
alert("spacebars!!!");
}
});

根据我的观察,JAWS 似乎捕获了键盘焦点并且不允许空格键事件触发。当我按下空格键时,JAWS 始终读取“Space”,但不会触发警报事件。当按下空格键时,我怎样才能让 alert 或 doSomething() 触发?我怎样才能从 JAWS 获得控制权或与 JAWS 共享键盘控制,这样即使 JAWS 读出我按下的字符(在本例中为空格键),它也会允许我的事件(警报)触发。谢谢。

更多代码:

$(document).keypress(function(event) {
var cc= ('charCode' in event) ? event.charCode : event.keyCode;
if (cc == 32)
{
spArray.push(Number(new Date()));
}
});

最佳答案

一般来说,不建议覆盖屏幕阅读器,即使他们允许。有不少JAWs keyboard commands (与 INS 一起使用)使用空格键,您可能会将这些命令锁定。

如果该区域主要是形成的控件或交互式小部件,那么您可以将其包装在一个带有 role="application" 的元素中。 .这将 (windows) 屏幕阅读器置于“表单”模式,其中键被传递到网页。

不要将所有东西都包裹在 role="application" 中,只是交互区域。

更新:根据更多信息,这是关于基于音频的捕获,用户触发音频文件,然后再次触发某些东西以设置时间并传递捕获。

使用 native 按钮,Jaws 将通过使用 enter(不确定空格,这不是通常的“激活”键)。我建议检查回车键(我认为是 charcode 13),甚至 onclick 都可以。在原生按钮/链接上,它可以跨屏幕阅读器工作。

$(document).click(function() {
spArray.push(Number(new Date()));
});

假设它位于正确的位置,以便在需要时才会激活。 (JS 不是我的强项,但可以使用回车键或 onclick

关于Javascript keyevent 和 JAWS 屏幕阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23064334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com