C1.10.3Context-menu alternative access设计

上下文菜单的功能不能只存在于右键路径

别名: 右键替代 · keyboard context menu · accessible context menu

概念解释

上下文菜单替代访问(context-menu alternative access)要求右键菜单中的功能不能只通过右键到达。触屏、键盘、单开关、触控笔与某些辅助技术没有右键或不便精确右击;关键命令需要有等价的可见、键盘或其他输入路径。

机制

右键把对象定位和命令展开合并为一个指针动作,但其他通道可能只能先聚焦或选择对象,再调用菜单或命令。若功能只绑定右键,系统虽有命令却没有所有用户都可执行的事件入口。等价路径可由应用菜单、工具栏、快捷键、命令面板或焦点菜单提供。

这个问题的根源在于右键本质上是"设备特定的事件",不是"意图特定的事件":鼠标右键、触控板双指点按、键盘上的菜单键(Menu key / Shift+F10)、触屏长按,各自触发的是不同的操作系统级事件,应用如果只监听其中一种(通常是鼠标右键),就把功能和设备绑死了。反过来,如果应用把"打开上下文菜单"实现为一个与设备无关的抽象命令,再让多种输入各自映射到这个命令上,替代路径就不需要额外开发——它本来就该是同一份逻辑的多个入口,而不是为无障碍单独补一套平行实现。

边界

并非每一个低频快捷命令都要在屏幕上重复出现,但它必须可发现并能在无右键环境中完成。长按常可打开触控上下文菜单,却会与选择和滚动冲突(长按同时可能触发拖动候选或文本选择),不能是唯一替代。不同平台的键盘菜单键或辅助动作也需遵从本地约定:Windows 键盘的 Menu 键和 Shift+F10 等价,macOS 没有专用菜单键,通常靠 VoiceOver 的旋转控制或触控板双指点按替代,跨平台应用不能假设某一种按键组合普遍存在。

怎么落地

  • 为右键命令建立可检索的等价入口,并让其作用于与右键相同的当前对象;实现上让"打开上下文菜单"成为一个设备无关的命令,而不是给每种输入各写一份逻辑。
  • 支持键盘聚焦后调用上下文操作(Menu 键 / Shift+F10),且在触屏上提供明确的更多操作入口(如列表项右侧的三点按钮),不要求用户必须先发现长按。
  • 验证办法:用无鼠标、无长按和辅助输入场景逐条完成每项关键命令,比较结果与右键路径是否一致;重点检查长按与滚动/拖动冲突时命令是否仍能可靠触发。

延伸

  • 同组C1.10.1 上下文菜单的内容随作用对象变化 · C1.10.2 菜单项数量增长时查找成本超过菜单收益
  • 相邻C1.06 悬停状态及其在触屏上的缺失 · J1 运动与操作无障碍
  • 站内检索context menu accessibility · keyboard menu key · device-independent command

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C1.10.3