小编jen*_*DVT的帖子

NVDA 屏幕阅读器未按预期切换到对焦模式

我有一段简单的代码,我试图在使用 NVDA 屏幕阅读器时使键盘可访问。

具体来说,我有一个角色为“按钮”的 div,另一个角色为“按钮”的 div 嵌套在其中。每个 div 都有一个不同的 onkeydown 事件,当用户切换到该 div 并按下“enter”键时会触发该事件。

当我没有打开 NVDA 屏幕阅读器时,这个键盘功能都可以正常工作。

但是,当我打开屏幕阅读器时,不再触发嵌套的 keydown 事件。相反,即使嵌套事件是具有焦点的事件,也只会触发父事件。

但是,如果我手动将 NVDA 从“浏览模式”更改为“聚焦模式”(通过按 NVDA 键 + 空格键),那么按键事件将再次按需要工作。

不幸的是,我不能期望使用 NVDA 的人知道手动切换到“对焦模式”。它要么需要自动更改为“对焦模式”,要么需要在“浏览模式”下工作。

这是代码:

HTML:

<div role="button" 
   tabindex="1" 
   onkeydown="keyEvent(event, outerDivAction)"
   class="outerDiv">
   Outer Div

   <div role="button" 
     tabindex="1"
     onkeydown="keyEvent(event, innerDivAction)"
     class="innderDiv">
     Inner Div</div>
   </div>

<div class="result"></div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

function outerDivAction(event) {
  event.stopPropagation();
  console.log('outer div');
   $('.result').html('<p>outer div!</p>');
}

function innerDivAction(event) {
  event.stopPropagation();
  console.log('inner div')
  $('.result').html('<p>inner div!</p>');
}

function keyEvent(event, callback) {
  event.stopPropagation();
  if (event.which === 13) {
    callback(event); …
Run Code Online (Sandbox Code Playgroud)

javascript accessibility nvda

3
推荐指数
1
解决办法
3514
查看次数

标签 统计

accessibility ×1

javascript ×1

nvda ×1