我已经实现了关注<a>
模态对话框中出现的第一个选项卡(基本上是一个元素)的要求。
当使用 NVDA 屏幕阅读器测试该功能时,观察到在读取对话框标签和描述(由 aria-labelledby 和 aria- describeby 指向)后,它会读取焦点选项卡元素。但是,之后它会继续读取从模态标题开始的整个模态对话框内容。这不是我们想要的阅读行为。
如果我们将焦点放在模态对话框内的第一个输入元素上,而不是 tab( <a>
) 元素上,它就可以正常工作。NVDA 在读取焦点输入元素后暂停。只有当我们使用 Tab 键导航时,才会读取更多元素。这是我们想要的阅读行为,但我们不想关注输入元素。
演示链接可以在这里找到:https ://codepen.io/kaashan/pen/KOmGYe 。使用的代码来自 W3.org 模式对话框的可访问性指南,对显示选项卡进行了细微修改,并将第一个选项卡元素聚焦在模式打开上。
我正在使用 NVDA2019.1.1 版本和最新版本的 Chrome 和 Firefox 浏览器进行测试。
<a>
有人可以帮助解释在 NVDA 读取聚焦的 tab( ) 元素后应该做什么来暂停它吗?