上下文菜单和下拉菜单怎么选?
一句话做出判断
上下文菜单会显示当前对象的操作。下拉菜单则从看得见、用途清楚的按钮打开。
上下文菜单只能当额外快捷入口,不能是唯一入口。需要让人清楚看到入口时,用下拉菜单。
看看每个界面模式会做什么
先试试每个例子,再看它适合处理什么工作。
macOS Context Menu
↗ macOS 上下文菜单
macOS 上下文菜单是针对鼠标指针下项目提供的精简操作列表,可用右键等辅助点按方式打开。
在已选文件上右键,会显示重命名、制作副本、共享和移到废纸篓。用户不必离开列表。
- 什么时候用
- 少量次要操作会随当前项目变化时,可以使用。项目可以是鼠标所指或当前选中的内容。
- 什么时候不要用
- 重要命令不能只藏在上下文菜单里,也不要把无关的 App 全局命令混入对象操作。
- 代码里的名称
AppKit NSMenu / SwiftUI contextMenu
Dropdown & Context Menu — Learning Bundle
↗ 下拉菜单与上下文菜单(教学组合)
这个教学组合按打开方式比较菜单。下拉菜单(Dropdown)从控件打开;上下文菜单(Context Menu)属于某个对象,通常出现在鼠标指针旁。这个组合不是单一标准菜单术语。
DropdownMenu / ContextMenu“更多”按钮会打开常规操作;右键点击文件,则会打开只属于该文件的操作。
- 什么时候用
- 请根据触发方式和操作对象选择正确的菜单,接着实现相应的键盘操作。
- 什么时候不要用
- 不要把表单字段或网站主导航放进命令菜单。
- 代码里的名称
DropdownMenu / ContextMenu
快速比较
| 界面模式 | 最适合 | 不适合 | 代码里的名称 |
|---|---|---|---|
| macOS 上下文菜单macOS Context Menu | 少量次要操作会随当前项目变化时,可以使用。项目可以是鼠标所指或当前选中的内容。 | 重要命令不能只藏在上下文菜单里,也不要把无关的 App 全局命令混入对象操作。 | AppKit NSMenu / SwiftUI contextMenu |
| 下拉菜单与上下文菜单(教学组合)Dropdown & Context Menu — Learning Bundle | 请根据触发方式和操作对象选择正确的菜单,接着实现相应的键盘操作。 | 不要把表单字段或网站主导航放进命令菜单。 | DropdownMenu / ContextMenu |
上线前检查
- 01
先写下用户要完成什么事。
- 02
测试键盘、焦点、触控、缩放、加载、空白与错误状态。
- 03
不用鼠标悬停或动画,也要能取得相同信息。
- 04
放入真实内容,并在小屏幕和大屏幕上测试。
04
可以直接复制的比较需求
团队还不知道该选哪一种界面模式时,可以复制这段需求。
请在 macOS 上下文菜单(macOS Context Menu)、下拉菜单与上下文菜单(教学组合)(Dropdown & Context Menu — Learning Bundle) 中,为真实用户流程选出最合适的界面模式。判断规则:上下文菜单会显示当前对象的操作。下拉菜单则从看得见、用途清楚的按钮打开。。请写下任务、内容量和打断流程的代价,并检查键盘、触控、加载、错误与减少动态效果。说明选择理由,再沿用项目的设计系统,做出最小且无障碍的版本。