决策指南 · 02

上下文菜单和下拉菜单怎么选?

一句话做出判断

上下文菜单会显示当前对象的操作。下拉菜单则从看得见、用途清楚的按钮打开。

上下文菜单只能当额外快捷入口,不能是唯一入口。需要让人清楚看到入口时,用下拉菜单。

01

看看每个界面模式会做什么

先试试每个例子,再看它适合处理什么工作。

macOS Context Menu

macOS 上下文菜单

↗

macOS 上下文菜单是针对鼠标指针下项目提供的精简操作列表,可用右键等辅助点按方式打开。

原创情境示例macOS 上下文菜单
在已选文件上右键,会显示重命名、制作副本、共享和移到废纸篓。用户不必离开列表。
什么时候用
少量次要操作会随当前项目变化时,可以使用。项目可以是鼠标所指或当前选中的内容。
什么时候不要用
重要命令不能只藏在上下文菜单里,也不要把无关的 App 全局命令混入对象操作。
代码里的名称
AppKit NSMenu / SwiftUI contextMenu
打开完整指南
Dropdown & Context Menu — Learning Bundle

下拉菜单与上下文菜单(教学组合)

↗

这个教学组合按打开方式比较菜单。下拉菜单(Dropdown)从控件打开;上下文菜单(Context Menu)属于某个对象,通常出现在鼠标指针旁。这个组合不是单一标准菜单术语。

下拉菜单与上下文菜单(教学组合)DropdownMenu / ContextMenu
“更多”按钮会打开常规操作;右键点击文件,则会打开只属于该文件的操作。
什么时候用
请根据触发方式和操作对象选择正确的菜单,接着实现相应的键盘操作。
什么时候不要用
不要把表单字段或网站主导航放进命令菜单。
代码里的名称
DropdownMenu / ContextMenu
打开完整指南
02

快速比较

界面模式最适合不适合代码里的名称
macOS 上下文菜单macOS Context Menu 少量次要操作会随当前项目变化时,可以使用。项目可以是鼠标所指或当前选中的内容。 重要命令不能只藏在上下文菜单里,也不要把无关的 App 全局命令混入对象操作。 AppKit NSMenu / SwiftUI contextMenu
下拉菜单与上下文菜单(教学组合)Dropdown & Context Menu — Learning Bundle 请根据触发方式和操作对象选择正确的菜单,接着实现相应的键盘操作。 不要把表单字段或网站主导航放进命令菜单。 DropdownMenu / ContextMenu
03

上线前检查

  1. 01

    先写下用户要完成什么事。

  2. 02

    测试键盘、焦点、触控、缩放、加载、空白与错误状态。

  3. 03

    不用鼠标悬停或动画,也要能取得相同信息。

  4. 04

    放入真实内容,并在小屏幕和大屏幕上测试。

04

可以直接复制的比较需求

团队还不知道该选哪一种界面模式时,可以复制这段需求。

请在 macOS 上下文菜单(macOS Context Menu)、下拉菜单与上下文菜单(教学组合)(Dropdown & Context Menu — Learning Bundle) 中,为真实用户流程选出最合适的界面模式。判断规则:上下文菜单会显示当前对象的操作。下拉菜单则从看得见、用途清楚的按钮打开。。请写下任务、内容量和打断流程的代价,并检查键盘、触控、加载、错误与减少动态效果。说明选择理由,再沿用项目的设计系统,做出最小且无障碍的版本。

自行复制

浏览器无法自动复制。请选择下方文字,再自行复制。