键盘可访问性是让用户无需鼠标或触摸操作,也能通过键盘接口完成界面中的主要功能。它属于交互设计与无障碍设计,既涉及控件行为,也涉及焦点、视觉反馈和操作路径。
为什么需要
部分用户因视力、运动能力或使用环境而无法精确操作指针,也可能使用把操作转换为键盘输入的辅助设备。键盘支持应覆盖实际任务,而不只是提供几个快捷键。例如,能够依次找到搜索框、输入条件、提交搜索并打开结果,才构成可完成的操作路径。
需要依据连续移动轨迹本身进行输入的功能,如自由手绘,存在特定例外;普通选择、提交、移动项目等操作不能仅因采用拖拽界面就省略键盘替代方式。
参考:W3C:键盘操作要求。
焦点与按键约定
焦点表示当前接收键盘输入的目标,应有清晰可见的反馈。常规界面使用 Tab、Shift+Tab 在控件间移动,按钮通常使用 Enter 或空格激活;复合控件还应遵循相应的方向键等操作约定。
在 Web 页面中,优先使用原生链接、按钮和表单控件。仅给 div 添加点击事件,并不会自动赋予完整的键盘行为。焦点顺序应符合阅读及操作逻辑,避免用大量正数 tabindex 拼凑顺序。
参考:键盘可访问性实践指南。
避免键盘陷阱
用户进入一个区域后,应能通过键盘离开。模态对话框可以在打开期间将焦点限制在内部,但必须提供可发现的键盘关闭方式,关闭后把焦点放回合理位置;这与无法退出的焦点陷阱不同。
参考:W3C:无键盘陷阱。
检查方法
作为实践检查,可以暂时不用鼠标,完成页面的关键任务:观察焦点是否可见、顺序是否合理,菜单或弹窗能否打开与关闭,以及动态更新后焦点是否仍在有意义的位置。仅确认 Tab 能移动,不足以证明整个任务可操作。