在使用 NVDA 等屏幕阅读器时,如何按向左或向右键?
Posted
技术标签:
【中文标题】在使用 NVDA 等屏幕阅读器时,如何按向左或向右键?【英文标题】:While using screen reader such as NVDA, how to press Left or Right key? 【发布时间】:2022-01-15 03:09:45 【问题描述】:在使用 NVDA 等屏幕阅读器时,当按下左键或右键时,屏幕阅读器会逐字母读取当前或下一个元素。
如果有人知道如何按左键或右键来触发元素的按键事件?
谢谢。
【问题讨论】:
【参考方案1】:屏幕阅读器有两种模式:浏览模式(键盘事件被发送到屏幕阅读器)和表单模式(键盘事件被发送到 html 元素)。
大多数屏幕阅读器的默认设置是为某些类型的 html 元素在两种模式之间自动切换,尽管您也可以在两种模式之间手动切换。
因此,将键盘事件发送到您的元素的关键是使用right html element(这些元素需要键盘焦点管理)或为该元素使用role。
以下元素将自动在浏览模式(箭头键读取下一个字符)和表单模式(html 元素处理箭头键)之间切换:
组合框 网格 列表框 菜单或菜单栏 无线电组 标签 工具栏 树形网格 树视图其中一些元素具有原生 html 元素(例如,<input type='radio'>
),但其他元素需要角色(例如,<div role='tablist'>
)。
如果您的组件不属于这些小部件之一,那么您可以使用role="application"
,但我总是谨慎使用该角色。它经常被滥用,如果角色使用不正确,可能会使屏幕阅读器用户难以使用网站。
【讨论】:
感谢 slugolicious。在我通过按 [NVDA] +Forms Mode
。而且由于它在第三方组件中,我无法使用application
角色对其进行测试。谢谢你的帮助。如果我有新的发现,我会告诉你的。以上是关于在使用 NVDA 等屏幕阅读器时,如何按向左或向右键?的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 如何检测用户向左或向右滑动?