Javascript keyevent和JAWS屏幕阅读器
Javascript keyevent and JAWS screen reader
我有一个应用程序,每次按下空格键时都会执行某些操作(例如警报)。如果我没有使用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",但警报事件不会触发。当按下空格键时,我怎么还能让警报或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()));
}
});
通常,不建议过度使用屏幕阅读器,即使他们允许您这样做。有相当多的JAW键盘命令(与INS结合使用)使用空格键,您可能会将这些命令锁定。
如果该区域主要是窗体控件或交互式小部件,那么您可以将其封装在一个具有role="application"的元素中。这使(windows)屏幕阅读器进入"表单"模式,在该模式下,按键被传递到网页。
不要将所有内容都封装在role="application"
中,只封装在交互区域中。
更新:关于更多信息,这是一个基于音频的捕获,用户触发一个音频文件,然后再次触发一些东西来设置时间并通过捕获。
使用本机button
,Jaws将通过enter的使用(不确定空格,这不是通常的"激活"键)。我建议检查回车键(我认为是charcode 13),甚至onclick
也可以。在本机按钮/链接上,它可以跨屏幕阅读器工作。
$(document).click(function() {
spArray.push(Number(new Date()));
});
假设它在正确的位置,这样它在需要之前不会变得活跃。(JS不是我的强项,但使用回车键或onclick
。
像这样声明的事件处理程序在我们的应用程序中工作:
doKeyDown_: function (evt) {
var key = evt.keyCode || evt.which;
//arrows
if (key == 27 || (key >= 37 && key <= 40)) {
try {
if (key >= 37 && key <= 40) {
this.handleArrwos(evt);
} else {
this.handleEsc(evt);
}
...
尽管它是基于ZK平台的,但内部引擎仍然是JQuery。请注意,事件是keyDown(而不是keyPress),以及检测按键的方式。例如Esc键和箭头键-空格应该没有问题。
至于可访问性,我们的etire页面被声明为role="application",因为整个内容是动态生成的页面,所以它实际上是一个应用程序。只有这样,大白鲨才不会吃掉任何可能的按键组合。
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如何打开/移动主屏幕左侧的浏览器窗口
- 如何在屏幕外或项目的中心视口中跟随YUI驱动的动画
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 调整屏幕大小时更改属性值
- 检测非移动页面上的移动设备屏幕宽度和高度
- 更改屏幕上对象的宽度调整大小
- 获取屏幕截图并在电子邮件中发送的按钮
- 如何获得pickadate.js使用JAWS屏幕阅读器
- JAWS 屏幕阅读器误读确认对话框消息.IE11.
- Javascript keyevent和JAWS屏幕阅读器