【发布时间】:2022-01-15 03:09:45
【问题描述】:
在使用 NVDA 等屏幕阅读器时,当按下左键或右键时,屏幕阅读器会逐字母读取当前或下一个元素。
如果有人知道如何按左键或右键来触发元素的按键事件?
谢谢。
【问题讨论】:
标签: keyboard-shortcuts screen-readers
在使用 NVDA 等屏幕阅读器时,当按下左键或右键时,屏幕阅读器会逐字母读取当前或下一个元素。
如果有人知道如何按左键或右键来触发元素的按键事件?
谢谢。
【问题讨论】:
标签: keyboard-shortcuts screen-readers
屏幕阅读器有两种模式:浏览模式(键盘事件被发送到屏幕阅读器)和表单模式(键盘事件被发送到 html 元素)。
大多数屏幕阅读器的默认设置是为某些类型的 html 元素在两种模式之间自动切换,尽管您也可以在两种模式之间手动切换。
因此,将键盘事件发送到您的元素的关键是使用right html element(这些元素需要键盘焦点管理)或为该元素使用role。
以下元素将自动在浏览模式(箭头键读取下一个字符)和表单模式(html 元素处理箭头键)之间切换:
其中一些元素具有原生 html 元素(例如,<input type='radio'>),但其他元素需要角色(例如,<div role='tablist'>)。
如果您的组件不属于这些小部件之一,那么您可以使用role="application",但我总是谨慎使用该角色。它经常被滥用,如果角色使用不正确,可能会使屏幕阅读器用户难以使用网站。
【讨论】:
Forms Mode。而且由于它在第三方组件中,我无法使用application 角色对其进行测试。谢谢你的帮助。如果我有新的发现,我会告诉你的。