菜单中随处都是图标——求救

发布: (2025年12月9日 GMT+8 03:44)
7 min read

Source: Hacker News

概览

我从来不喜欢“默认在每个菜单项中放置图标”这种理念。

比如 Google Sheets 就是这么做的。打开 文件编辑视图,你会看到一个菜单,里面的每个选项都有图标(右键上下文菜单也是如此)。

Google Sheets 中带图标的菜单截图

对我来说这是一种额外的噪音。并不是说我认为菜单项永远不该有图标——它们在很多情况下非常有用(下面会详细说明)。只是我不喜欢“默认给每个菜单项加图标”这种做法。

这种姿态容易导致设计师产生一种心态:“我需要一个图标来填满这个空间”,而不是一种心态:“在这里加入图标以及解析和理解它所带来的认知负荷,究竟是帮助还是阻碍用户使用这个菜单系统?”

前者不需要思考,只是模板化——它们都有图标,所以我们必须在这里放某个东西。后者则需要针对每个使用场景及其上下文进行细致的思考和斟酌。

为了证明我的观点,我常常举的例子是 macOS。很长一段时间,Apple 的系统级菜单似乎避免了在每个菜单项中默认放置图标的做法。直到 macOS Tahoe 发布为止。

macOS Tahoe 中的菜单

Tahoe 在所有菜单中都加入了图标。例如,下面是 Apple 菜单:

macOS Tahoe 中 Apple 菜单的截图,所有菜单项前都有图标。

Safari

查看 Safari 菜单:

macOS Tahoe 中 Safari 菜单的截图,大约一半的菜单项前有图标。

我们看到大约一半的项目带有图标。例如,第三个“设置”菜单项有图标,而相邻的“隐私报告”没有——即使 Safari 的 自定义工具栏 界面为“隐私报告”显示了图标:

Safari 中自定义工具栏界面的截图,隐私报告按钮周围有红色高亮,表明它有图标。

文件菜单

Safari 的 文件 菜单呈现出混合的模式:

macOS Tahoe 中 Safari 的文件菜单截图,只有少数菜单项前有图标。有些是缩进的,有些则不是。

有些分组带图标并且向内缩进;其他则没有图标且保持左对齐。其背后的理由并不明确。

视图菜单

视图 菜单在图标旁还加入了切换(勾选)标记,增加了复杂性:

macOS Tahoe 中 Safari 的视图菜单截图,部分菜单项前有图标,其中两个还有勾选标记。

Mail 应用的视图菜单同样呈现出以下混合形式:

  • 仅文字
  • 文字 + 切换
  • 文字 + 图标
  • 文字 + 图标 + 切换

macOS Tahoe 中 Mail 的视图菜单截图,展示了菜单项可以缩进、带图标、没有图标,以及带勾选标记的情况。

如果把文字标签去掉,做一个实验看看有多少人仍然能够正确导航会很有趣:

macOS Tahoe 中的一个菜单截图,所有菜单项前都有图标,但标签被模糊处理,无法确定每个菜单项的具体内容。

在很多情况下,我无法直观地理解为什么有的项目有图标而有的没有。这些图标为我提供了什么价值,却又带来了额外的视觉和认知解析负担?我不知道。

有用的图标

有些菜单的图标确实非常有帮助。在 Finder 中,每个菜单项都有一个图标,用视觉方式表示窗口位置,这比阅读 “左上”“底部 & 顶部”“四分之一”等文字要容易得多。

macOS Tahoe 中 Finder 菜单的截图,所有菜单项前都有有用的图标。

这些是菜单中很好的图标——我喜欢它们。

Apple 放弃了自己的指引

有趣的是,Apple 的这一转变似乎与其《人机界面指南》相矛盾。正如 Peter Gassner 所指出的,2005 年(以及更早的 1992、2020)指南中有一节标题为 “在菜单中使用符号”

Apple 人机界面指南的截图

有一些标准符号可以用来在菜单中指示额外信息……
不要在菜单中使用其他任意符号,因为它们会增加视觉杂乱并可能让人困惑。

Apple 甚至提供了一个“不要这么做”的示例,看起来正好像是 macOS Tahoe 的菜单:

人机界面指南中标示的“不应在菜单中使用任意符号”的截图。

结论

我的感受很明显:我已经厌倦了菜单中所有的视觉噪音。随着 Apple 加入了“图标无处不在”的阵营,想要为更克制的默认设置辩护变得前所未有的困难。我的建议很简单——除非你能阐明图标的强有力理由,否则默认姿态应当是 菜单中不使用图标

于是,这就是我现在所处的世界:菜单里到处都是图标。

求救。

Back to Blog

相关文章

阅读更多 »

提升 SG 网站的 UI 一致性

新加坡网站以简洁的设计、高性能和卓越的用户体验而闻名。随着用户每天与数字产品互动——银行应用、SaaS …

谁应该决定 UI?

TL;DR 你应该采用设计师的方案,因为他们是为用户而不是程序员设计的。为什么设计师主导 UI 决策——开发者每天与 c...