我实现了一个需求,将焦点放在模式对话框中出现的第一个选项卡(基本上是一个<a>
元素)上。
当使用NVDA屏幕阅读器测试特性时,观察到在读取对话框标签和描述(由aria-labelledby和aria- description reader by指向)之后,它读取了焦点选项卡元素。但是,在此之后,它会继续读取以模式标题开头的整个模式对话框内容。这不是我们想要的阅读行为。
如果我们将焦点放在模式对话框中的第一个输入元素上,而不是tab(<a>
)元素上,它会工作得很好。NVDA在读取聚焦的输入元素后暂停。只有当我们使用Tab键导航时,才会读出更多元素。这是我们想要的读取行为,但是我们不想关注input元素。
演示链接可以在这里找到:https://codepen.io/kaashan/pen/KOmGYe。使用的代码来自W3.org accessibility guidelines for modal dialogs,稍作修改即可显示选项卡,并将第一个选项卡元素的焦点放在模式打开上。
我正在使用带有最新版本的Chrome和Firefox浏览器的NVDA2019.1.1版本进行测试。
有人能帮我解释一下,在NVDA读取了焦点选项卡(<a>
)元素后,应该做些什么来暂停它?
发布于 2019-08-02 00:33:33
您误解了NVDA的使用方式。
您试图阻止的行为就是预期的行为,它允许用户查看表单包含的内容,并了解他们要填写的内容。
不要试图让NVDA按照您希望的方式工作。
只需遵循最佳实践(就像您所做的那样),让用户担心他们希望阅读器如何工作。
很难完全断章取义地测试一些东西,但在您给出的示例中,您似乎是在正确的轨道上。
需要检查的两件事(在您使用的文档中)
希望这能有所帮助。
https://stackoverflow.com/questions/57302603
复制相似问题