macOS人机界面准则三—窗口视图和菜单

* 窗口和视图

窗口解构、警报、框、栏视图、对话框、图像视图、大纲视图、面板、弹窗、滚动视图、表单、侧边栏、拆分视图、标签页、表格视图、工具栏、网页视图、抽屉、底栏

* 菜单

菜单解构、快捷菜单、程序坞菜单、菜单栏


七、窗口和视图


1.窗口解构

工作窗由框架区域和正文区域组成。


# 窗口类型 #

1. 文件窗口:TextEdit文档,Keynote文档,Preview中的PDF和Safari中显示网站的窗口。

2. 应用窗口:日历,Finder 查找器。

3. 面板:在其他窗口上方浮动来提供信息、配置选项,或与另一个窗口中的内容进行交互的工具。

4. 对话框:对用户操作的响应,需要用户操作(例如单击按钮)才能取消或继续执行某项操作。

5. 警报:一种用于提供有关错误情况的重要信息,或警告用户有关潜在的危险情况或后果的对话框。

- 弹窗是可以非打扰性地提供与当前操作相关的信息或编辑功能的一个过渡视图,可以非打扰性地提供与当前操作相关的信息或编辑功能。即使在外观和功能上类似于面板,但也不会被视为窗口。


# 窗口的框架区域 #


1、标题栏

标题栏位于窗口的顶部,并包含关闭,最小化和全屏窗口的选项。这些选项通常是可见的,但在游戏等沉浸式应用程序中或禁用窗口中可以作为一个组进行隐藏。

大多数标题栏都显示文件名,但警报的标题栏为空。文档窗口的标题栏可能会显示一个图标,并可以让用户单击标题以更改文档的文件名,标签和位置。

- 除非标题的描述足够合理,否则不要提供标题。

- 使用文件名作为窗口标题时,显示名称应该反映用户显示或隐藏文件扩展名的偏好,也可能包含部分正文。

- 不要在标题栏中显示文件或文件夹路径。如果要公开完整的路径,请采用其他方式,例如通过查看器窗格。

- 使用数字后缀来区分重复的标题。

- 如果隐藏标题栏,请确保用户仍可以与窗口交互。提供其他方式的(如菜单)关闭和最小化窗口的功能。确保用户仍然可以单击并拖动框架以移动窗口。如果窗口有工具栏,没有标题栏,请确保工具栏中有足够的空间来单击和拖动窗口,而不激活工具栏项目。


2、工具栏

工具栏位于标题栏下方(或与标题栏集成:浏览器),并包含控件(称为工具栏项),可快速访问常用的命令和功能。

可以在全屏模式下隐藏工具栏以增加对内容的关注。许多应用程序还允许用户添加或删除工具栏项,以及选择将项目显示为图标,文本还是两者来自定义工具栏。


3、标签栏

标签栏允许用户在单个窗口中的多个正文内容视图之间切换。标签栏位于标题栏和工具栏的下方。用户还可以单击选项卡并将其拖出选项卡栏,以在单独的窗口中显示它。


4、底栏

在极少数情况下,窗口可能包括位于主体区域下方的底栏,并包含用于影响窗口内容的控件。


# 窗口内容区域 #

正文区域显示窗口的主要内容。例如Safari窗口中的网站或“预览”中的图像,也可以将内容分为子视图。例如,Finder窗口的主体区域可以包括侧栏和列视图。在内容区域中超出窗口范围的内容是可滚动的。


1. 范围栏

范围栏(在正文内容上方)让用户可以缩小搜索范围或根据特定属性的过滤器过滤内容。范围栏位于标题栏,工具栏和选项卡栏的下方。


# 窗口状态 #


1. 主窗口

应用程序中引起用户注意的最重要的窗口是该应用程序的主窗口。每个应用程序只能有一个主窗口。

2. 活动窗口

当前接受用户输入的窗口是活动窗口。任何时候屏幕上都只能有一个活动窗口。通常,前置应用程序的主窗口也是活动窗口。但是有时浮动在主窗口上方的面板是活动窗口。Cpmmand+W可以关闭活动窗口。

3. 非活动窗口

不在最前面的窗口是非活动窗口。


# 窗口外观 #

用于关闭,最小化和全屏的标题栏选项在活动窗口中为彩色,而在其他窗口中为灰色。

在窗口中,工具栏和侧栏之类的元素可以是不透明的,也可以使用动态模糊。非活动窗口中禁用动态模糊。


# 激活窗口 #

1. 考虑提供一个窗口命令菜单。其中包含用于最小化、全屏按键窗口,导航选项卡,将单个窗口移至最前面以及将所有窗口移至最前的命令。

2. Mission Control也可以帮用户在应用程序的窗口之间导航。

3. 某些窗口(通常是“颜色”或“字体”面板之类的面板)仅在用户单击窗口的标题栏或需要键盘输入的界面元素(如文本字段)时才成为活动窗口。


2、警报

当系统或应用程序需要警告用户有关错误情况,潜在危险情况或后果的警告时出现警报。警报是应用程序内的模态窗口,当警报与单个文档或窗口有关,警报显示为表格时,是非模态窗口。


警报可能包括以下元素:

- 标题:警报的错误或情况的简短摘要。所有警报均包含一条消息。

- 补充文本:有关情况,其后果以及用户应对情况的方式的完整描述。信息性文本是可选的,但鼓励使用。

- 交互按钮:一个警报最多可以包括三个按钮,其中一个可以设置为默认按钮,用于取消警报或采取措施。

- 图标:系统会在警报中自动显示您的应用程序图标。还支持自定义图标。在需要特别注意的警报中,可以在图标上添加警告符号。

- 关闭复选框:可以设置重复警报,以使用户禁止随后出现同一警报。

- 附件视图:如果您的应用需要它,则可以将自定义视图附加到警报中以提供其他信息。

- 帮助按钮:如果您的应用程序提供了帮助文档,则可以在警报中包括一个“帮助”按钮,以将用户带到文档。


1. 尽量少的使用警报。警报的频率有助于确保用户的警惕性。

2. 确保每个警报都提供关键信息和有用的选择。警报应警告人们有关无法撤消的操作,如确认购买;让用户改变主意时,选择继续操作或取消操作的按钮。

3. 避免仅使用警报来提供信息。用户不喜欢被信息丰富但无法执行操作的警报打断。除了显示信息警报之外,还可以考虑其他呈现信息的方法。例如,当邮件服务器连接丢失时,邮件在侧边栏中显示警告指示。用户如果需要有关情况的更多信息,可以单击警告指示器。

4. 使用系统提供的标准警报样式,用户熟悉系统提供的标准警报样式,并了解其重要性。

5. 避免针对常见的不可撤消的操作显示警报,即使它们也具有破坏性。无需在每次删除电子邮件或文件时提醒用户潜在的数据丢失。

6. 谨慎使用警告符号。警告中过度使用警告符号会降低其重要性。仅在确实需要格外注意(例如,确认可能会导致数据意外或意外丢失的操作)时才使用该符号。

7. 考虑设置一个选项以禁止以后发出重复的警报。


# 警报文本 #

1. 提供一条清楚,简洁地描述情况的消息。

2. 考虑使用疑问句的形式。阐述产生警报的原因,并鼓励用户考虑结果。但是,请勿过度使用此类警报。

3. 用有效全面的文本补充警报消息。

4. 避免听起来是指责,判断或侮辱。

5. 避免解释警报按钮。如果您的警报文本和按钮文本信息明确,则无需解释按钮的作用。在极少数情况下提供指导,不要将按钮标题括在引号中。


# 警报按钮 #

1. 通常,使用两键警报。两键警报提供了两种选择的简便选择。单键警报可通知您,但无法控制情况。具有三个或更多按钮的警报会增加复杂性。

2. 给警报按钮简洁明了有逻辑的标题来描述单击按钮的结果。尽可能使用与警报标题和消息直接相关的动词和动词短语,使用“ 确定”进行简单接受。避免使用“ 是”和“ 否”。

3. 确保默认按钮标题反映了按钮执行的操作。除非警报纯粹是提供信息,否则请避免对默认按钮使用“ 确定 ”。

4. 将按钮放置在人们期望的位置。通常,人们最有可能选择的按钮应该在右侧。默认按钮应始终在右侧。取消按钮通常位于左侧。

5. 取消按钮提供了一种明确、安全的方式来选择退出破坏性的操作。考虑将Cancel按钮设置为默认按钮,因为这样做需要用户有意地单击一个按钮来继续执行破坏性操作。并允许使用Esc(Escape)键和Command-Period(。)键盘快捷键来取消警报。

6. 考虑为所有按钮提供省时的键盘快捷键。例如,您可以让人们通过按下P键来激活“打印”按钮,或者通过按下D或Delete键来激活“不保存”按钮。


3、

框是可创建独特的控件组、文本字段和其他界面元素一种视图类型。默认情况下,一个框有一个边框和一个标题,也可以只用其中任何一个。标题(如果显示)可以位于框的上方(默认)或下方。

- 避免嵌套框。与其嵌套,不如考虑为框内的相关元素的不同组增加内边距。

- 在框标题中使用句子样式的大写字母。

- 不要以冒号结束框标题。


4、栏视图

在列中,任何包含嵌套子项的父项都用三角形图标标记。

当您的数据不需要以多种方式排序时,或者当您的数据层次结构很深时,用户倾向于在各个级别之间频繁地来回导航,请考虑使用列视图。

- 在第一列中显示数据层次结构的根级别。

- 当没有要显示的嵌套项目时,考虑显示有关所选项目的信息。例如,Finder显示所选项目的预览以及诸如创建日期,修改日期,文件类型和大小之类的信息。

- 让人们调整列的大小。


5、对话框

对话框是一种反馈用户响应的窗口。许多对话框(例如“打印”对话框)让用户一次提供多个响应。

警报是一种特殊类型的对话框。


- 文档模态对话框

文档模式对话框作为表单附加到文档,用户仍然可以切换到其他文档和应用程序。保存对话框是文档模式对话框的示例。

- 应用模态对话框

应用程序模式对话框可阻止用户在该对话框关闭之前在应用程序中执行任何操作。用户仍然可以切换到其他应用。打开对话框是应用程序模式对话框的示例。

- 非模态对话框

非模态对话框通常作为面板出现。用户可以不间断地继续与文档和应用进行交互。标准“查找”对话框是非模态对话框的示例。


# 数据输入 #

对话框是小型、短暂、不需深入的用户交互的窗口,因此确保高效输入数据非常重要。

1. 尽可能提供控件和字段的默认值。

2. 将初始焦点设为需要用户输入的第一个位置。

3. 使静态文本可选。例如,用户应该能够复制有用的信息,例如错误消息,序列号或IP地址,以粘贴到其他位置。

4. 在数据输入期间检查错误。避免在每次击键后进行验证,因为过于频繁的验证会减慢您的应用程序的速度并令人讨厌。

5. 尽可能将无效输入的可能性降到最低。例如,使用弹出按钮提供选择而不是要求用户输入数据,并使用日期选择器和数字格式器来确保正确输入日期和数字。

6. 在非模态对话框中,“应用”按钮可以快速应用,预览和撤消的更改。保存对话框和其他使用户无法轻易预览的对话框不应包含“应用”按钮。


# 布局 #

1. 使用公开控件提供仅偶尔需要的信息或功能。公开控件隐藏信息或功能(如高级选项),并且仅在用户单击控件时才公开信息或功能。

2. 调整对话框大小时,确保正确缩放界面元素。

3. 按预期位置放置按钮。点击对话框右下方的任何按钮都应关闭该对话框。用于启动对话框主要操作的操作按钮应位于最右边。“取消”按钮应位于操作按钮的左侧。“帮助”按钮应位于最左侧。影响对话框本身内容的按钮(例如用于扩展对话框以显示其他详细信息的按钮)应位于“帮助”按钮的右侧,如果不存在“帮助”按钮,则应位于最左侧。

4. 将破坏性按钮与非破坏性按钮分开。破坏性按钮(如“不保存”)应与安全按钮(如“保存”和“取消”)相距足够远,用户必须做决定才能单击该按钮。如果可能,请至少保留24个点的距离。


# 关闭对话框 #

1. 仅在用户采取的措施无害时提供默认按钮。用户有时仅按Return键无需阅读内容即可关闭对话框,因此,默认按钮启动无害操作至关重要。如果没有默认按钮,则按Return键将无效,用户必须明确地单击一个按钮才能关闭该对话框。或者,当对话框可能导致破坏性行为时,可以将“取消”设置为默认按钮。

2. 当对话框文本未使用Return按钮时,才提供默认按钮。

3. “取消”按钮用于响应取消快捷键。取消按钮是一种清除对话框的清晰、安全的方法,并使计算机返回到出现对话框之前的状态。确保键盘快捷键Command-(。)和Esc(退出)键映射到“取消”按钮。

4. 确保“取消”按钮撤消所有默认已选的更改。

5. 使用“应用”,“确定”和“取消”按钮。单击“应用”预览更改,但不会关闭对话框。单击“确定”接受所有更改并退出该对话框。

6. 通常,在从对话框启动操作后,用户应看到即时的结果。对于需要花费几秒钟才能完成的操作,请显示进度信息,以便用户知道该操作已启动,将执行多长时间以及何时完成。


6、图像视图

图像视图在透明或不透明的背景上显示单个图像或动画序列。在图像视图内,图像可以被拉伸,缩放,调整大小以适合或固定到特定位置。图像视图默认是不可编辑的且不可交互。

1. 尽量提供可编辑的图像视图,支持复制,粘贴,拖动以及使用Delete键清除其内容。

2. 使用按钮而不是图像视图来制作可单击的图像。

3. 使用模板图像适应封闭视图的色彩。模板图像会丢弃颜色信息,并使用遮罩显示在屏幕上。通常用于工具栏按钮中的图标。

4. 确保动画序列中的所有图像尺寸的一致。


7、大纲视图

大纲视图在单元格的滚动列表中清晰,高效地显示了分层数据,这些列表被组织为列和行。

大纲视图非常适合显示基于文本的内容,通常用于在拆分视图的一侧进行导航,而相关内容在另一侧。

1. 使用表格视图而不是大纲视图来呈现非分层数据。

2. 仅在第一列中公开数据层次结构。

3. 始终在多列大纲视图中提供描述性的列标题。如果没有提供列标题,使用标签或其他方式来确保用户理解。

4. 用户可以单击列标题来对大纲视图进行排序(如果它提供了价值)。在可排序的大纲视图中,用户可以单击列标题在该列执行升序或降序排序。如有必要,可以根据次要栏实施其他排序。如果用户单击主列标题,则会在每个层次结构级别进行排序。如果用户单击已排序的列的标题,则数据应沿相反的方向重新排序。

5. 允许用户调整列的大小。

6. 让用户轻松扩展或折叠子父层级。例如,在“查找器”窗口中按住Option键单击显示三角形将展开所有子文件夹。

7. 保存子父层级的展开状态。

8. 在多列大纲视图中使用交替的行颜色。

9. 如果可以,启用数据编辑。例如,在表单文件的大纲视图中,用户可以单击文件名进行编辑,双击文件名打开文件。还可以重新排序,添加和删除行。

10. 使用居中的省略号来截断原本会被剪切的单元格文本。中间的省略号保留了单元格文本的开头和结尾,更容易识别。

11. 通常以大纲视图为主要功能的窗口,在工具栏中提供搜索框。


8、面板

面板是一个包含与活动文档或选项有关的控件、选项或信息的辅助窗口,面板看起来没有主窗口突出,并且可以像普通窗口一样工作,也可以是浮动在其他打开的窗口(甚至是模态窗口)上方。当用户体验需要时,面板还可以采用深色、半透明(HUD风格)的外观。

1. 使用面板可以快速访问重要的控件或与内容相关的信息。例如,可以使用面板来显示影响活动文档窗口的控件或设置。

2. 使用合适的窗口类型替代面板。由于面板占用了内容的屏幕空间,因此许多应用程序使用弹出框,侧边栏,拆分视图和工具栏来提供辅助信息和工具。

3. 根据操作目的并使用名词为面板命名。

4. 适当显示和隐藏面板。激活文档后,应用程序所有已激活的面板都应显示。当某个应用程序处于非活动状态时,其所有面板均应隐藏。

5. 在“窗口”菜单中包含用于显示或隐藏面板的命令是可以的,但是不应将面板列为文档。

6. 确保所有面板都包含标题,即使不需要标题,也要给一个标题用以拖放在新位置。

7. 通常,禁用面板上的“最小化”按钮。但是,应该有“关闭”按钮,在某些情况下还会有全屏按钮。

8. 按标题引用面板。菜单中仅包含面板的标题。其他窗口(例如检查器)可能会提供足够的信息以独立运行。

9. 保持检查器面板为最新。

10. 除了检查器之外,考虑提供“信息”窗口。信息窗口是一个显示打开该窗口时捕获的内容属性(有时是多个项目)的标准窗口。即使更改选择内容,这些属性也会继续显示。与检查器不同,“信息”窗口出现在“窗口”菜单的文档列表中,不会浮在其他窗口上方,可以最小化,并且在应用程序变为非活动状态时仍然保持可见。


# HUD型面板 #

HUD样式的面板(简称为HUD)具有与普通面板相同的功能,但其外观为深色且半透明。HUD用于专注于高视觉内容或提供沉浸式体验的应用程序。例如,QuickTime Player使用HUD来显示检查器信息,而不会妨碍用户。

1. 首选标准面板。如果没有逻辑上的原因,人们可能会分心或困惑。通常,HUD仅应在以下情况下使用:

- 在专注于电影,照片或幻灯片的面向媒体的应用程序中。

- 在具有深色界面的沉浸式应用程序中。

- 当一个标准的面板遮盖了基本内容时。

- 当使用面板进行快速调整然后关闭时。

2. 结合使用标准面板和HUD。如果应用仅在特定时间或仅在某些模式下专注于高度可视的内容,在不同情况下,使用最适合当前任务和环境的面板类型。

3. 当应用切换模式时,请勿切换面板类型。

4. 在HUD中使用简单的调整控件。避免使用需要输入文本或选择项目的控件,因为这些操作会迫使人们将注意力从内容转移到面板上。使用滑块和步进器之类的控件,因为它们易于使用而无需关注它们。

5. HUD深色外观中的太多颜色可能会分散注意力并减轻面板的影响。通常,只需要少量的高对比度颜色即可增强HUD中的信息。

6. 尽可能减小HUD。HUD设计为目的性很强,因此让它们过大会破坏其主要目的。HUD不要遮挡其调整的内容,并确保不会抢夺内容的吸引力。


9、弹窗

弹窗是单击控件或视图时显示在内容上方的视图。通常,弹窗包括指向其出现位置的箭头。弹窗还支持动态模糊。

弹窗可以响应用户的操作(瞬态行为),响应用户与从弹出窗口出现的视图或元素的操作(半瞬态行为)或以应用定义的方式关闭。

1. 使用弹窗显示少量信息或功能。由于弹出窗口在用户与其交互后消失,因此将弹出窗口中的功能数量限制为一些相关任务。

2. 考虑使用弹出窗口替代侧边栏和面板等临时视图。弹出窗口可以帮助您简化界面,为内容留出更多空间。

3. 根据弹窗的功能定义合适的关闭操作。如果弹出框仅显示一组选项,考虑在用户做出选择后立即将其关闭,与菜单的操作类似。当进行多项选择时,弹窗应保持打开状态,直到用户明确取消或在弹窗之外单击。

4. “关闭”按钮仅用于确认或明确指引。

5. 关闭弹窗时,自动保存并应用操作。仅当点击“取消”按钮时,才取消之前的操作。

6. 弹窗的箭头应指向显示的元素,也不应覆盖触发弹窗的控件。

7. 考虑让人们分离弹出窗口。当用户拖动弹窗时,一个可分离的弹窗将成为一个面板,从而在用户与其他内容进行交互时弹窗内容在屏幕上保持可见。

8. 对分离的弹窗面板进行最小的外观更改。

9. 一次在屏幕上显示一个弹窗。如果需要显示新的弹窗,请先关闭打开的弹窗,然后再打开另一个。

10. 除警报外,弹出窗口顶部不应显示任何内容。

11. 避免使弹出窗口太大。弹出窗口不应该占据整个屏幕。仅使其大到足以显示其内容并指向其来源。

12. 通常,保留标准的弹窗外观。默认情况下,弹窗外观较浅,可使用深色外观,但只对具有深色界面的沉浸式界面和多媒体应用程序。

13. 确保自定义弹窗仍然类似于系统弹窗。

14. 更改弹窗的大小时,提供平滑的过渡。

15. 不要将弹出窗口用作警报。

16. 避免在用户文档中使用“ 弹窗”一词,也不要将弹窗称为对话框或窗口。


10、滚动视图

- 连续滚动

- 逐行滚动:用户按下箭头键时,内容每次滚动一行。

- 逐页滚动:当用户在按Option的同时按箭头键时,内容每次滚动一页。

1. 在布局中考虑滚动条。用户可以通过更改常规首选项中的设置来始终启用。某些输入设备还会导致滚动条始终显示。滚动条轨道的厚度为15点(常规大小)或11点(小或微型)。

2. 尊重用户的滚动条设置。

3. 不要覆盖默认的滚动手势或键盘快捷键。

4. 帮用户发现窗口内容何时可滚动。面对充满文本的窗口时,滚动是用户愿意尝试的直观且无损的操作。

5. 调整旋钮颜色以适应不同颜色模式的界面。

6. 不要将滚动视图放在另一个滚动视图内。

7. 瞬态滚动条是半透明的,因此用户可以看到其下方的窗口内容。每次滚动条出现时不断地移动内容可能会迷失方向。

8. 逐页滚动时,滚动适当的数量。通常,页面被认为是视图的当前高度或宽度,减去至少一个用于保持上下文的重叠单元。可以按情况自定义重叠单位。在按住Option的同时持续按箭头键将导致连续的逐页滚动,直到到达文档末尾。

9. 单击滚动条轨道时,滚动适当的数量。在滚动条轨道中单击,应跳至下一页或当前插入点,具体取决于用户的首选项。在滚动条轨道上持续单击将导致连续滚动,直到旋钮到达指针的位置。

10. 适当时自动滚动。大多数时候是用户主动启动滚动操作,但是您的应用应该在某些情况下执行自动滚动:

- 当应用执行新选择或移动插入点的操作时。例如,当用户搜索文本并找到该文本时,滚动以显示新选择。

- 当用户在当前不可见的位置输入信息时。例如,如果插入点在一个页面上,而用户已导航到另一页面,则自动滚动回到插入点。

- 当用户在进行选择时将指针超过视图的边缘时,请通过在指针移动的方向上滚动来跟随指针。

- 当用户选择某项内容时,滚动到新的位置,对所选内容执行操作后,再滚动回到刚开始所选内容,然后再执行操作。

在所有情况下,自动滚动仅应将文档尽可能移动。而最小化自动滚动可以帮助人们记住上一操作。例如,如果执行操作后部分选择可见,则无需滚动。

11. 自动滚动到所选内容时,选择保留部分上下文内容以帮助用户确认所选内容的当前位置。

12. 切勿使用滚动条作为滑块。滚动条在视图中重新放置内容。滑块使用户可以在值的范围内选择一定值。

13. 在面板中使用小型或微型滚动条。如果窗口使用了小型或微型滚动条,则该窗口的内容区域中的所有其他控件也应为较小的版本。


11、表单

表单是附加到特定窗口(通常是文档)的模态对话框。出现时会呈现动画效果,就像从主体区域上方的窗口框架中露出来一样。由于表单已附加到特定窗口,因此用户始终可以将表单与其父窗口相关联。如果是选项卡式窗口,则表单从属于活动选项卡,并且用户必须先关闭表单才能切换到另一个选项卡。

表单是在进行特定于文档的操作(例如附加文件,导出,保存和打印)之前请求用户输入的好方法。还可以用于在下一步之前向用户展示信息,例如需要接受的许可协议。

1. 仅当窗口具有框架时才使用表单。

2. 在其他窗口上方打开表单。通常,窗口及其所关联的表单在打开时应位于最前面。显示表单后,用户可以单击另一个窗口将其激活。

3. 尽可能避免一次在窗口上显示多表单。如果工作表中的用户操作导致显示另一表单,请在显示新表单之前关闭第一张表单。如有必要,可以在关闭第二张表单后再次显示第一张表单。

4. 在多个窗口中打开同一文档时,使用应用模态对话框而不是表单。一些应用程序可以在多个窗口中打开文档,以便他们可以一次查看和编辑文档的不同部分。在这种情况下,用户会不清楚在一张表单上进行的更改会影响所有已打开的文档窗口。

5. 如果用户需要查看窗口或与窗口进行交互才能完成对话框操作,请使用面板而不是表单。

6. 如果用户需要反复输入并查看结果,请使用面板而不是表单。


12、侧边栏

侧边栏位于窗口的一侧,通常通过水平分离器(通常可移动)与窗口的其余部分隔开。侧边栏通常由一个表格视图或一个大纲视图组成,使用户可以浏览并选择在窗口主体部分中的操作。

1. 考虑使用侧边栏让用户与基于文件的数据进行交互,而无需打开文件系统。

2. 使用标题形成相关项目的逻辑分组。侧边栏通常不像表格视图那样具有标题,但是它们有时包含标题。

3. 通常,不要在侧边栏中显示两个以上的层次结构。如果需要导航深层嵌套的对象,考虑使用大纲视图。

4. 当窗口包含多个侧边栏时,以及在面板或首选项窗口中使用侧边栏时,使用不透明背景。所有其他情况下,使用半透明背景。

5. 在调整窗口的大小时自动隐藏和显示侧边栏。例如,当减小“邮件查看器”窗口的大小时,拖动到某个位置时,侧边栏自动折叠。

6. 尽可能让用户自定义侧边栏的内容。由于侧边栏提供了常用项目的快捷方式,因此最好由用户确定最重要的项目。还应该考虑使用Spotlight提供智能数据容器。

7. 在可编辑的侧边栏中,考虑提供添加,删除,操作或获取有关项目信息的按钮。侧边栏按钮应该是浮在侧边栏底部上方的无边界按钮,或者是位于侧边栏底部正下方中父级窗口中的渐变按钮。

8. 当需要显示非必要功能时,考虑使用弹窗而不是侧边栏。仅当用户需要时才显示弹窗。


13、拆分视图

拆分视图管理两个或更多内容窗格。每个窗格可以包含各种元素,包括按钮,表格,大纲视图,文本字段,甚至其他拆分视图。例如,在Keynote中,拆分视图构成了演示文稿文档的导航器,编辑器,检查器和演示者注释区域。

拆分视图的窗格可以水平或垂直排列,并由可以拖动以调整窗格大小的分隔符分隔,每个窗格具有最小和最大大小。许多应用可让用户根据要求隐藏特定的窗格。例如,在Keynote中,用户可以隐藏导航器和演示者注释区域,以便专注于编辑幻灯片内容。

1. 合理时允许隐藏窗格。

2. 提供多种访问隐藏窗格的方法。

3. 设置适当的最小和最大窗格大小来保持可识别性。


# 分隔符 #

拆分视图可以采用以下分隔符样式之一。还可以更改分隔线的颜色,更改分隔线的宽度或设计自定义分隔线。

- 1pt宽度的线。

- 9pt宽度的线,默认清除。

- 分隔符,10pt宽度。

用户可以单击分隔线的任何部分并拖动以调整大小。对于较细的分隔线,可点击在分隔线的每一侧的两个点。

1. 用户更喜欢细分隔线样式。当指示窗格之间需要更强烈的视觉差时,考虑使用厚分隔线或窗格分隔符样式。例如,当拆分视图的每一侧都包含一个表时,更大的分隔符可以帮助人们在两个表之间进行区分。


14、标签页

标签页可在同一区域中显示多个相斥的内容窗格。标签页包括一个选项卡控件(外观类似于分段控件)和一个内容区域。选项卡控件的每一段都称为选项卡,单击选项卡将在内容区域中显示其对应的窗格。尽管每个窗格的内容量可能会有所不同,但是切换选项卡并不会更改标签页或其父窗口的整体大小。

可以将选项卡控件放置在内容区域的任何一侧(顶部热门标签,底部,左侧或右侧)。还可以隐藏控件。

隐藏选项卡控件时,内容区域可以是无边框,带边框(填充)或以线条为边框。无边界视图可以是纯色或透明的。

1. 使用标签页显示内容密切相关的内容。

2. 在标签页中提供两个到六个选项卡。如果您有六个或更多选项卡,可能会发现这些选项卡更适合换做工具栏中的图标。

3. 确保窗格中的控件仅影响同一窗格中的内容。

4. 通常,通过在标签页的所有边缘留出一个窗口主体区域来插入选项卡视图。这种布局看起来很干净,并为可能影响窗口本身(或其他选项卡)的其他控件留出了空间。

5. 为每个选项卡提供一个标签,以描述其窗格的内容。为标签标签使用名词或非常短的名词短语或动词或简短动词短语。

6. 避免将弹出按钮用作选项卡切换器。标签页只需单击一次即可进行选择,而弹出按钮则需要两次。标签视图还可以一次在屏幕上显示所有选择,而弹出按钮必须单击以查看其选项。


15、表格视图

表格视图在一个滚动的单元格列表中清晰、高效地显示少量或大量数据,这些单元格被组织为列和行。一个表视图至少包含一列主要数据(如文件名)。可以根据需要添加后续列,以补充主要数据的其他属性,例如文件大小和修改日期。

表格是文本的内容的理想选择,并且通常在拆分视图的一侧进行导航,而相关内容在另一侧。

1. 使用描述性列标题。始终在多列表格视图中提供列标题。如果未在单列表格视图中使用列标题,请使用标签或其他方式来确保用户能够充分理解。

2. 如果需要,单击列标题对表格视图进行排序。

3. 让用户调整列的大小。表格视图中数据的宽度通常不同。当可以调整列的宽度时,用户可以根据需要调整其宽度以显示被剪切的数据。

4. 考虑在多列表格视图中使用交替的行颜色。

5. 如果有意义,启用数据编辑。

6. 显示单列列表选项时,考虑用弹出按钮代替单列表格视图。弹出按钮所需的空间比表格视图少得多,并且可以清晰有效地显示选项列表。

7. 使用大纲视图代替表格视图来呈现层次结构数据。大纲视图包括用于显示其他数据级别的三角形。例如,大纲视图可能显示文件夹及其包含的项目。

8. 使用居中的省略号来截断原本会被剪切的单元格文本。考虑提供一个搜索字段,以帮助人们在冗长的表格视图中快速找到所需数据。


16、工具栏

工具栏提供对常用命令和功能的快捷访问,位于窗口顶部的框架中,标题栏的下方或与标题栏集成在一起。


# 工具栏项 #

工具栏项由图像按钮或经过优化的特定系统控件组成。

1. 提供应用或窗口中用户最常用的工具栏项目的快捷方式。

2. 可使用图像按钮或系统控件,但不能同时使用两种。

3. 仅使用工具栏特定的系统控件样式。由于它们与工具栏的外观风格一致,不应在窗口的内容区域中使用它们。

4. 使每个工具栏项都可作为菜单命令使用。由于工具栏是可自定义的并且可以隐藏,因此它不是查找命令的唯一位置。相反,为每个菜单项提供工具栏项是没有意义的,因为并非所有菜单命令都足够重要或经常使用。

5. 为每个工具栏项提供简短的描述性标签。用户在将工具栏配置为显示图标和文本或仅显示文本时会看到这些标签。最佳标签由一个或两个词组成,描述单击项目的结果。尽可能使用动词和动词短语。


# 外观 #

1. 确保每个工具栏项的含义都清晰。提供简单的、可识别的图标和简短的描述性标签。

2. 最好在工具栏项中使用系统提供的图标。

3. 在工具栏项中,图标比文本重要。

4. 如果必须在控件中显示文本,确保其简洁明了。描述对象,设置或状态时,使用名词或名词短语。描述动作时,使用动词或动词短语。

5. 准确显示在两个状态之间切换的控件的当前状态。可以通过更改控件的配色方案和标签来显示。例如,邮件可在线和离线切换帐户。联机时,显示一个蓝色图标和一个“脱机”标签。脱机时,该项目显示灰色图标和“联机”标签。

6. 当内容在工具栏下方滚动时,使用动态模糊。当将工具栏置于滚动视图上方或将窗口配置为全尺寸内容视图时,会自动采用动态模糊。

7. 避免为工具栏项设定为选定的外观样式。分段控件显示持久的选定外观样式。


# 布局 #

1. 工具栏项应为应用中的主要任务。

2. 如果可以,将相关的工具栏项目分组。


# 可见性 #

1.  用户可以显示或隐藏工具栏。

2. 全屏模式时自动隐藏工具栏以增加用户对内容的关注。


# 自定义 #

1. 通常,让用户自定义工具栏。

2. 提供有用的默认工具栏项。还可以此教育新用户有关应用程序的主要功能。

3. 如果允许自定义,将“自定义工具栏”菜单项添加到“视图”菜单。


# 工具栏操作 #

1. 不要在工具栏上添加特定于应用程序的右键菜单。通常用户可以按住Control键单击标题栏以重命名文档或显示其路径。如果需要一组对选择起作用的命令,在窗口的内容区域中添加右键菜单,或在工具栏中添加操作弹出按钮。

2. 考虑在窗口不活动时让用户单击非破坏性工具栏项。通常,单击非活动窗口的工具栏会将窗口移到最前面。在某些情况下,让用户调用工具栏项目而不将窗口置于最前面可能是有用的,这样它们就可以专注于其他窗口中的任务。标准“字体”面板的工具栏的行为是这样的。

3. 考虑为工具栏项添加弹簧加载支持。例如,在日历中,可以在工具栏中的日,周,月或年段中拖动事件。强制单击一个事件可在不释放事件的情况下切换日历视图。然后将该事件放置在新日历视图中。


17、网页视图

网页视图直接在应用程序中加载并显示丰富的Web内容,例如嵌入式HTML和网站。

1. 适当时启用前进和后退导航。如果人们将使用应用内的网页视图访问多个页面,提供启用前进和后退导航的控件。

2. 避免使用网页视图来构建浏览器。使用网页视图让用户在不离开应用的情况下短暂访问网站是可以的。


18、抽屉

抽屉是一种包含与特定窗口有关的选项或信息的界面元素。默认情况下,抽屉是隐藏的。通常是响应于按钮,菜单或动作才显示,抽屉从父窗口的一侧滑出,不能单独移动或与其父窗口分离。

1. 避免使用抽屉。抽屉很少在现代应用程序中使用,面板,弹出窗口,侧边栏和拆分视图是显示辅助窗口内容的首选。


19、底栏

底部操作栏是窗口底部边缘一种用于快速修改窗口视图的操作栏。

1. 避免使用底部操作栏。底部操作栏很少用于现代应用程序中,工具栏和菜单是让用户操控内容视图的首选方式。


macOS的菜单


1、菜单解构

菜单项可配置为操作,切换打开或关闭的状态,响应键盘快捷键来显示附加菜单项的子菜单,还可以包含分隔符。菜单项可以包含图标和控件,例如复选框。默认情况下,所有菜单都适用动态模糊。

当菜单显示在屏幕上时,直到用户选择某个菜单项,导航到另一个菜单,在菜单外单击,切换到另一个应用程序,退出该应用程序,或直到显示警报前都将保持打开状态。


# 菜单类型 #

- 菜单栏:屏幕顶部的菜单栏中显示特定于应用程序的菜单项。通常显示多个菜单。

- 快捷菜单:与用户当前操作有关的菜单项。通过按住Control键并单击应用程序中的视图或所选元素显示。

- 程序坞菜单:按住Control键并单击某个应用程序的Dock图标时显示程序坞菜单项。

弹出按钮(通常称为弹出菜单)是一种单击按钮时会显示选择菜单的按钮。


# 菜单标题 #

1. 提供直观的菜单标题。菜单标题应有助于用户预期菜单包含的菜单项。

2. 即使菜单项不可用,也要保持菜单可用。能够浏览所有菜单的内容,以了解命令所在的位置,即使这些命令不可用。

3. 使菜单标题尽可能短而清晰。一字菜单标题是最好的,因为它们在菜单栏中占用的空间很小且易于浏览。

4. 菜单栏标题使用文本而不是图标。附加菜单栏使用图标。


# 菜单项标题 #

1. 将动词和动词短语用于启动操作的菜单项。

2. 将形容词或形容词短语用于切换属性状态的菜单项。出现在菜单项标题中的形容词暗示一种动作,并且通常可以放入句子“将所选对象更改为...”中,例如,粗体或斜体。

3. 避免在菜单项标题中使用句子。句子很少会有用,因为用户已经进行了选择或进行了特定的操作。

4. 当菜单项需要用户提供输入时,使用省略号。省略号(...)表示将打开一个对话框或单独的窗口,提示用户提供其他信息或做出选择。

5. 禁用不可用的菜单项。禁用的菜单项显示为灰色,或当指针移到该菜单项上时不会突出显示。

6. 考虑将键盘快捷键显示在菜单栏中的常用菜单项中。快捷键不在属性菜单或Dock菜单中使用。


# 子菜单 #

1. 限制子菜单的使用。每个子菜单都会增加一层复杂性,并向用户隐藏菜单项。一组紧密相关的命令可以分组在单个父菜单项下时,或者当需要缩短菜单的长度时,可以使用子菜单。

2. 如果子菜单包含五个以上的菜单项,考虑为其提供自己的菜单。

3. 确保子菜单中的菜单项在逻辑上相关。通常,子菜单最适合用于打开或关闭属性而不是启动动作的菜单项。

4. 提供直观的子菜单标题。提供简洁的描述性标题,以提示子菜单包含的菜单项。

5. 即使子菜单的嵌套菜单不可用,也要使其保持可点击状态。对于用户来说,重要的是能够浏览菜单和子菜单,以了解命令所在的位置。

6. 使用子菜单代替缩进菜单项。


# 整理菜单项 #

1. 使用分隔线在不同的相关菜单项组之间制造视觉差。菜单项组的分配部分是美学决定,部分是可用性决定。

2. 将最常用的项目放在菜单顶部。避免根据使用频率安排整个菜单。最好创建相关项目的组,然后将使用频率较高的组放置在使用频率较低的组上方。

3. 为启动操作的菜单项和设置属性的菜单项创建单独的组。

4. 为相互依赖的属性菜单项分组。在一个菜单项组中,属性菜单项可以互斥,也可以是独立的(如粗体和斜体)。

5. 通过将相似的动作菜单组合在一起,使人们可以轻松找到菜单项。

6. 合并相关菜单项。如果一个菜单项在一组菜单项中使用率达到两倍以上,考虑为其指定一个单独的菜单或子菜单。

7. 注意菜单的长度。

8. 不要故意设计滚动菜单。


#  可变菜单项 #


1. 动态菜单项

菜单项的行为会通过添加修改键(Control,Option,Shift或Command)而改变。

- 避免让动态菜单项成为完成任务的唯一方法。动态菜单项默认情况下是隐藏的,它们是提供高级功能快捷方式的方法。但是,不要让人们在学会使用您的应用程序之前去找动态菜单项。

- 动态菜单项主要在菜单栏中使用。

- 只需要一个修饰键即可显示动态菜单项。


2. 切换菜单项

切换菜单项会在两种状态之间切换。

- 两个菜单项的标题为相反的操作或状态,并显示一个被选中或一个被禁用。

- 标题更改为反映当前状态的菜单项;如,显示标尺和隐藏标尺。

- 旁边带有生效标记的菜单项;

1. 当没有足够的空间显示两个菜单项时,用使用两个明显表示相反动作的标题。

2. 考虑为可隐藏的菜单项使用可变标题。

3. 当前有效的菜单项,使用已选标记(对勾)。

4. 提供一个删除多属性的菜单项。

5. 考虑添加成组打开和关闭的菜单项。


# 菜单项图标 #

图标可用于帮助人们识别菜单项(而不是菜单)并将其与内容相关联。如,Safari使用网页图标(favicons)在网页和该网页的菜单项之间建立可视连接。

1. 尽量少使用图标。

2. 始终为菜单项图标搭配文本。

3. 使用熟悉的图标。


# 菜单符号 #

https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/

1. 避免在菜单中使用自定义符号。

2. 使用选中(对勾)符号当前活动的状态。

3. 使用破折号 - 表示属性仅适用于部分选择。如果所选文本应用了两种样式,则可以在每个样式名称旁放一个破折号或对勾。在同一菜单中合并选中标记和破折号是可以接受的。

4. 仅当“自动保存”不可用时才使用项目符号(圆点)。如果自动保存无法完成,或用户磁盘已满,可能需使用项目符号。

5. 让菱形和选中符号覆盖其他符号。每个菜单项应只带有一个符号。例如,未保存更改的最小化窗口的菜单项应带有菱形符号。如果活动窗口有未保存的更改,则其菜单项旁应有一个选中符号。


# 样式菜单项 #

仅在“字体”或“样式”菜单中使用样式。可以可用的实际字体或样式显示菜单项,以便人们可以预览菜单项的效果。不要在其他菜单中使用样式。


二、快捷菜单

通过按Control并单击应用中的视图或选定元素来显示快捷菜单。

1. 遵循菜单设计原则。

2. 仅包括适用于当前操作的最常用命令。

3. 将快捷菜单的层次深度限制为一或两个级别。如果必须包括子菜单,将其放置在一个级别。

4. 不要在快捷菜单中设置默认选中项。

5. 在菜单栏中也可以找到快捷菜单项。

6. 只在菜单栏中显示快捷键,快捷菜单中不显示键盘快捷键。

7. 在工具栏中使用快捷菜单项的弹出按钮以提高快捷菜单项的功能性。


三、程序坞菜单

当用户按住Control并单击应用程序的Dock图标时,出现Dock菜单。包含系统提供的菜单项,这些菜单项用于启动操作,还可以包含应用的特定项,并在应用运行时访问。

Dock及其菜单具有动态模糊效果,并可以呈现浅色或深色外观。由用户的外观首选项控制。

1. 始终遵循菜单设计原则。

2. 提供特定于应用程序的菜单项。

3. 确保Dock菜单项在应用的其他位置也可找到。

4. 将特定于应用程序的菜单项放在系统提供的菜单项上方。用户知道在哪里可以找到系统提供的菜单项。


四、菜单栏

包括系统提供的标准菜单,以及应用定义的自定义菜单。

菜单栏及其菜单适应动态模糊效果,并且可以呈现浅色或深色外观。这由用户的外观首选项控制。

1. 始终遵循菜单设计原则。

2. 使用标准菜单和子菜单。

3. 为标准菜单项启用系统提供的键盘快捷键。

4. 仅为经常使用的自定义菜单项创建新的键盘快捷键。

5. 当应用为非活动窗口时考虑使用Dock菜单。

6. 除了菜单栏外,考虑提供快捷菜单。

7. 考虑提供附加菜单栏。


# 苹果菜单 #

Apple菜单包含始终可用的菜单项。由系统定义,不能修改。


# 应用菜单 #

为帮助用户快速识别活动状态的应用,菜单中的应用名称以粗体显示。

- 关于应用:版权和版本信息。Command-Comma (,)

- 首选项:应用程序的首选项。

- 服务:显示适用于当前操作的系统和其他应用服务的子菜单。

- 隐藏应用:隐藏您的应用及所有窗口,激活最近使用的应用。Command-H

- 隐藏全部:隐藏所有打开的应用及其窗口。Option-Command-H

- 显示全部:在应用窗口的后显示所有其他打开的应用及窗口。

- 退出应用:退出应用。按Option退出应用并保留窗口。Command-Q


1. 在应用菜单标题中使用16个字符或更少的短单词应用名称,有助于减少被截断的可能性。

2. 在菜单项标题中使用相同的应用名称。

3. 不要在应用名称中包含版本号。

4. 在“关于”菜单项之后添加分隔符,不要将其与其他项组在一起。

5. 在其他特定于应用的菜单项上方显示“首选项”菜单项。

6. 使用分隔符创建特定于应用的菜单项的逻辑分组。

7. 在“文件”菜单而不是“应用程序”菜单中显示特定于文档的首选项。

8. 在“帮助”菜单而不是应用菜单中显示帮助菜单项。

9. 在“退出”菜单项之前添加分隔符并最后显示。不要将其与其他项组在一起。

10. 启用系统的键盘快捷键。


# 文件菜单 #

“文件”菜单中的大多数命令适用于单个文件,通常是已打开文档。在非文档的应用中,可以重命名或取消此菜单。

-新建…-打开…-保存-保存全部-重命名-移动到…

- 最近打开:显示最近打开文档的子菜单,并显示“ 清除”项。

- 关闭:关闭当前文档或标签。Command-W,按Option键关闭所有。

- 关闭标签页:按Option键将关闭选项卡更改为关闭所有选项卡。

- 关闭文档:通常显示在同一文件支持多个视图的应用程序中。关闭当前文件及其所有关联的窗口。

- 复制:复制当前文档,并同时打开两个文档。按option将复制更改为另存为。

- 导出为…:提示用户输入名称,输出位置和导出文件格式。导出文件后,当前文档保持打开状态。导出的文件不应打开。

- 恢复:列出最近文档版本(启用自动保存)的子菜单。用户可以选择要还原的版本,以替换当前文档。

- 页面设置…:打开一个对话框,用于指定打印参数(与文档一起保存),例如纸张尺寸和打印方向。

- 打印…:打开标准的“打印”对话框,该对话框允许用户打印到打印机,发送传真或以PDF格式保存。Command-P


1. 在“最近打开”菜单项的子菜单中仅显示文档名称。

2. 考虑提供“关闭文档”或“关闭窗口”菜单项。对于选项卡式窗口,“关闭选项卡”替换了“关闭”菜单项。用户可能仍喜欢关闭整个选项卡窗口的能力。

3. 尽可能自动保存文件中的更改。

4. 通常,提供一个“保存”菜单项。如果需要“另存为”菜单项,使用“复制”,然后让用户通过按Option键将其更改为“另存为”。如果需要让用户以多种格式保存,请在“保存”对话框中提供一个弹出按钮,而不是为每个格式单独显示“另存为”菜单项。

5. 提供“复制”菜单项代替“另存为”、“导出”、“复制到”和“保存到”菜单项。复制会使两个文档版本保持打开状态,以便用户决定下一步工作。保存副本时,用户可以指定文件名,输出位置和格式。仅以在应用内无法处理的格式导出时,才包括“导出”菜单项。

6. 使用页面设置来调整文档特定的首选项。如果用户可以从应用内打印,提供“页面设置”菜单项以打开对话框。

7. 启用系统的键盘快捷键。关闭: Command-W、关闭标签:Command-W、关闭档案:Shift-Command-W

、保存:Command-S、重复:Shift-Command-S、页面设置...:Shift-Command-P、打印...:Command-P


# 编辑菜单 #

还提供用于与剪贴板交互的命令。由于许多编辑命令适用于任何可编辑的文本,即使在非文档的应用中,“编辑”菜单也很有用。

- 撤销-重做-剪切-复制-粘贴-删除-选择全部

- 粘贴和匹配样式:在当前插入点插入剪贴板的内容,使插入文本的样式与周围文本匹配。

- 查找:显示一个子菜单,其中包含用于在当前文档或文本容器中执行搜索操作的菜单项。包括:查找、查找并替换…、找下一个、查找上一个、使用所选内容查找、跳至所选内容

- 拼写和语法:显示包含菜单项的子菜单,用于检查和更正当前文档或文本容器中的拼写和语法。包括:显示拼写和语法、立即检查文件、键入时检查拼写、检查拼写语法、自动纠正拼写

- 替换:显示包含菜单项的子菜单,可在输入文档或文本字段时切换菜单项以启用或禁用自动替换。包括:显示替换、智能复制/粘贴、智能引导、智能破折号、智能链接、数据检测器、文字替换

- 转换:显示包含用于转换所选文本的菜单项的子菜单。包括:大写、小写、首字母大写

- 语音:显示包括“开始朗读”和“停止朗读”菜单项的子菜单

- 开始听写:打开听写窗口,将用户的声音写入在当前插入点。系统自动在“编辑”菜单的底部添加“开始听写”菜单项。

- 表情与符号:显示一个字符查看器,其中包括表情符号、符号和用户可以在当前插入点插入的其他字符。系统会自动在“编辑”菜单的底部添加“表情符号和符号”菜单项。


1. 尽可能支持撤消和重做操作。

2. 添加“撤消”和“重做”菜单项。

3. 如果撤消或重做不可用,则应禁用其菜单项。为了更加清晰,考虑将菜单项也称为“无法撤消”或“无法重做”。

4. 提供“删除”菜单项,而不是“擦除”或“清除”。等效于按Delete键,且命名保持一致。

5. 在执行无法撤消的破坏性操作之前,警告用户。

6. 确定“查找”菜单项是否属于“编辑”菜单。例如,如果应用允许用户搜索文件或其他类型的对象,则“查找”菜单项在“文件”菜单中可能更合适。

7. 启用预期的键盘快捷键。


# 格式菜单 #

格式菜单可以调整当前文档或文本区域(例如文本字段)中的文本格式属性。此菜单可以不出现在不支持格式化文本编辑的应用中。

该菜单通常包含以下顶级菜单项(如果适用),并按以下顺序列出:https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-bar-menus/

1. 启用系统的键盘快捷键。

显示字体:Command-T、粗体:Command-B、斜体:Command-I、下划线:Command-U、放大字体:Command-加号(+)、显示颜色:Shift-Command-C、左对齐:左括号({)、居中对齐(|)


# 显示/视图菜单 #

使用“查看”菜单,用户可以自定义应用程序窗口的外观。

该菜单通常包含以下顶级菜单项(如果适用),并按以下顺序列出。

1. 即使应用仅支持部分标准视图功能,也提供“视图”菜单。例如,如果应用不包含标签栏,工具栏或侧边栏,但支持全屏模式,请提供“查看”菜单,其中仅包含“输入/退出全屏”菜单项。

2. 使用“窗口”菜单代替“视图”菜单来实现窗口导航功能并显示面板,例如工具面板。

3. 菜单项标题应始终反映相应视图的状态。例如,如果工具栏是隐藏的,则应该有一个“显示工具栏”菜单项。

4. 启用预期的键盘快捷键。显示/隐藏工具栏:Option-Command-T、显示/隐藏侧边栏:Control-Command-S、进入/退出全屏:Control-Command-F


# 特定于应用的菜单 #

可以根据需要在“视图”和“窗口”菜单之间实现自定义菜单。例如,Safari中的菜单栏包括特定于应用的“历史记录”和“书签”菜单。

1. 提供特定于应用程序的菜单以调用键盘命令。这样做使用户更容易找到命令,使用“全键盘访问”。可排除不常用或高级的命令。但即使有经验的用户,也可能丢失菜单栏中没有的命令。

2. 尽可能在特定于应用的菜单中反映应用的层次结构。

3. 通用菜单应位于更靠近Apple菜单的位置。重点菜单应位于更靠近“帮助”菜单的位置。


# 窗口菜单 #

通过“窗口”菜单,人们可以浏览,组织和管理应用程序的窗口。

1. 即使应用只有一个窗口,也要提供“窗口”菜单。包括“最小化”和“缩放”菜单项,以便使用“全键盘访问”的用户可以使用其键盘调用这些功能。

2. 确保“缩放”在两个适当的窗口大小之间切换。

3. 考虑显示和隐藏面板的菜单项。

4. 在“窗口”菜单底部,将打开的窗口列出为菜单项。以字母顺序列出窗口,以便快速访问。当用户在“窗口”菜单中选择一个可用的窗口时,它将出现在窗口堆栈的前面。

5. 如果没有“显示”菜单,则将“全屏”菜单项添加到“窗口”菜单。将其放在“前置全部窗口”菜单项之前,并提供单独的“最小化”和“缩放”菜单项。

6. 启用系统的键盘快捷键。最小化:Command-M、显示下一个标签:Control-Tab、显示上一个标签:Control-Shift-Tab


# 帮助菜单 #

使用“帮助”菜单可访问应用的屏幕帮助文档。

1. 将“帮助”菜单放在最右边。

2. 以标准格式提供帮助文档。当您的应用以这种格式提供文档时,系统会自动在“帮助”菜单的顶部插入一个字段,以搜索您的帮助内容。

3. 通常,将“帮助”菜单限制为只显示应用帮助的单个菜单项。如果您有更多内容,则需要列出(例如网站链接,注册信息或发行说明),而不是在“帮助”菜单中单独列出它们。

4. 如果必须包括其他菜单项,请将其与主要帮助文档菜单项分开。添加分隔符,并确保它们是不同的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270