RSS DEV 社区
关注
在不破坏无障碍性的情况下为确认对话框添加箭头键快捷键
本文讨论了为确认对话框添加键盘快捷键,特别是用于在“取消”和“确认”按钮之间通过方向键进行导航。文章强调,这是一项增强功能,而非对基础无障碍功能的替代。针对警报式确认对话框,列出了关键的无障碍要求,包括可访问名称、焦点管理、键盘约束、Esc 键关闭、可见焦点以及焦点返回。文中引用 WAI-ARIA 作者实践指南中的警报对话框模式(Alert Dialog Pattern)作为模态语义和键盘交互的基础。提出的解决方案将新的方向键映射隔离为一个纯函数和一个事件处理器,该处理器仅拦截特定的方向键按下事件,而保留其他键盘交互(如 Tab、Shift+Tab 和 Escape)不受影响。文中提供了一个使用原生 HTML 语义的最小化对话框示例,演示默认焦点位于“取消”按钮上。随后,文章概述了测试流程,包括运行纯映射测试,以及使用键盘和屏幕阅读器手动测试对话框。核心设计原则是在语义控件周围添加快捷键作为增强功能,同时确保未处理的按键仍能按预期工作。作者注明其对 MonkeyCode 项目的贡献,并声明所述行为基于公开的问题报告和代码。