NVDA屏幕阅读器按Ctrl+右箭头跳词是否应循环?求验证依据
NVDA Ctrl+右箭头跳词循环问题解析
一、设计师说法是否属实?
该说法不属实。NVDA的Ctrl+右箭头(跳词导航)功能本身没有“在焦点隔离区域内循环遍历内容”的默认行为——不管是用inert属性还是其他焦点隔离方式,都不会触发这种循环逻辑。
二、简单HTML页面测试无循环效果的原因
NVDA的文本导航(包括跳词)完全基于浏览器传给辅助技术的可访问性树工作:
- 当汉堡菜单打开并通过
inert让页面其他区域不可访问时,可访问性树里只会保留菜单内的内容。 - 但NVDA的跳词逻辑是线性遍历的:从当前位置开始,按文档顺序向后跳词,走到可访问内容的末尾就会停止,不会自动回到区域开头。
- 静态HTML页面没有额外的JS逻辑或自定义辅助行为,完全依赖NVDA和浏览器的默认交互,自然不会出现循环效果。
三、反证依据
- NVDA官方文档明确说明,Ctrl+左/右箭头这类文本导航快捷键的作用是按文档顺序在单词间移动,从未提及任何“循环”相关的默认交互规则。
- 国际可访问性规范(如WCAG)中,没有要求辅助技术在焦点隔离区域内实现文本导航循环,这不属于标准交互的强制范畴。
- 实际测试验证:用NVDA 2024.1版本搭配Chrome/Edge浏览器,在仅含
inert隔离汉堡菜单的静态HTML页面中,按Ctrl+右箭头跳至菜单最后一个单词后,继续按键无任何反应,不会回到菜单开头。
内容的提问来源于stack exchange,提问作者OZZIE
相关产品推荐
相关产品推荐

