警告消息
注意
此设计指南是为 Windows 7 创建的,尚未针对较新版本的 Windows 进行更新。 大部分指南原则上仍然适用,但演示和示例并不反映我们 当前的设计指南。
警告消息是模式对话框、就地消息、通知或气球,用于提醒用户将来可能导致问题的条件。
典型的模式警告消息。
警告的基本特征是,它们涉及丢失以下一项或多项风险:
- 有价值的资产,例如重要的财务或其他数据。
- 系统访问或完整性。
- 隐私或对机密信息的控制。
- 用户的时间 (很大,例如 30 秒或 30 秒以上) 。
相比之下,确认是一个模式对话框,询问用户是否要继续执行操作。 某些类型的警告显示为确认,如果是,则确认准则也适用。
注意: 与 对话框、 确认、 错误消息标准图标、 通知和 布局 相关的指南在单独的文章中提供。
这是正确的用户界面吗?
在决定之前,请考虑以下问题:
- 用户是否收到将来可能导致问题的警报? 如果没有,则消息不是警告。
- UI 是否显示已发生的错误或问题? 如果是,请改用错误消息。
- 用户是否可能执行操作或更改其行为作为消息的结果? 如果不是,则条件无法证明中断用户的理由,因此最好是禁止显示警告。
- 该条件是否是用户启动的操作的直接结果? 如果没有,请考虑使用 非关键事件通知。
- 该条件是否为控件中的特殊条件? 如果是,请改用 气球 。
- 对于确认,用户是否要执行有风险的操作? 如果是这样,如果操作具有重大后果或无法轻易撤消,则应该发出警告。
- 对于其他类型的警告,用户需要立即或立即采取行动? 如果用户可以继续高效工作而不立即出现问题,则不要显示警告。 推迟警告,直到条件更直接且更相关。
设计概念
避免过度警告
我们在 Microsoft Windows 程序中过度警告。 典型的 Windows 程序似乎随处都有警告,对没有什么意义的事情发出警告。 在某些程序中,几乎每个问题都显示为警告。 过度警告会使使用程序感觉是一种危险活动,并且会减损真正重大的问题。
不正确:
过度警告会使你的程序感觉危险,看起来像是律师设计的。
仅仅数据丢失或未来问题的可能性不足以发出警告。 此外,任何不需要的结果应该是意外的或意外的,并且不容易更正。 否则,可能会解释任何用户错误,导致数据丢失或某种潜在问题,值得警告。
良好警告的特征
良好的警告:
- 涉及风险。 良好的警告会提醒用户注意重要内容。
不正确:
那又怎样? 此确认假定用户经常意外退出程序。
- 具有直接相关性。 用户不仅必须关心,他们现在必须关心。 用户通常对以后可能遇到的问题不感兴趣,只要他们现在可以完成他们的工作。
不正确:
在这种情况下,最好在三小时内警告用户。
- 引导行动。 由于警告,用户必须执行或注意某些操作。 也许他们现在或将来的某个时候必须采取行动。 也许他们会因此以不同的方式执行任务。 忽略警告的后果应该是明确的。 没有操作的警告只会让用户感到偏执。
不正确:
为什么此通知是警告? 除了担心) 之外,用户应该做什么 (?
- 不明显。 不要显示警告来说明操作的明显后果。 例如,假设用户了解不完成任务的后果。
不正确:
取消不完整的向导意味着任务无法完成...谁知道?
- 不经常发生。 不断的警告很快就会变得无效和烦人。 用户通常更专注于消除警告,而不是解决问题。
不正确:
用户更可能专注于消除警告,而不是解决根本问题。
不具有这些特征的消息可能仍然是一条好消息,只是不是一个好的警告。
确定适当的消息类型
某些问题可能显示为错误、警告或信息,具体取决于重点和措辞。 例如,假设网页无法根据当前的 Windows Internet Explorer 配置加载未签名的 ActiveX 控件:
- 错误。 “此页面无法加载未签名的 ActiveX 控件。” (短语为现有问题。)
- 警告。 “此页面的行为可能不符合预期,因为 Windows Internet Explorer 未配置为加载未签名的 ActiveX 控件。”或“允许此页面安装未签名的 ActiveX 控件? 从不受信任的来源执行此操作可能会损害您的计算机。“ (这两个短语都表示为可能导致将来出现问题的条件。)
- 信息。 “你已将 Windows Internet Explorer 配置为阻止未签名的 ActiveX 控件。” (短语为 fact.)
若要确定适当的消息类型,请重点关注用户需要了解或处理的问题的最重要方面。 通常,如果问题阻止用户继续,则应将其显示为错误;如果用户可以继续,请将其显示为警告。 根据该焦点制作main指令或其他相应文本,然后选择与文本匹配 (标准或其他) 图标。 main指令文本和图标应始终匹配。
提供具体的反馈
当以下信息具体明了时,警告更具吸引力:
- 警告的源。
- 特定条件和潜在问题。
- 用户应采取哪些操作。
- 如果用户不执行任何操作,会发生什么情况。
不正确:
在此示例中,潜在的问题是什么? 除了不通过网络使用投影仪之外,用户应该做什么? 如果没有更具体的信息,用户所能做的就是对继续操作感到不好。
正确:
在此示例中,问题和后果是明确的。
有时有一个合理的潜在问题值得通知用户,但解决方案和后果尚不清楚。 不要给出模糊的警告,而是通过提供最可能的信息或最常见的示例来具体。
正确:
在此示例中,通过提供最可能的解决方案来指定警告。
但是,在这种情况下,请使用指示还有其他可能性的措辞。 否则,用户可能会被误导。
不正确:
正确:
在不正确的示例中,如果电缆已明确插入,用户将感到困惑。
如果只执行两项操作...
不要过度警告。 将警告限制为涉及风险且立即相关、可操作、不明显且不常见的情况。 否则,请删除或重新发布消息。
提供具体的有用信息。
使用模式
警告有多种使用模式:
Label | 值 |
---|---|
态势感知 让用户了解条件或潜在问题,但用户现在可能不必执行任何操作。 |
感知警告的示例。 感知警告具有以下演示文稿:
|
错误防护 让用户了解可能阻止问题的信息,尤其是在做出选择时。 |
最好使用就地警告图标和说明文本来显示错误预防警告。 错误预防警告的示例。 |
迫在眉睫的问题 用户现在需要执行某些操作来防止迫在眉睫的问题。 |
即将出现的问题警告的示例。 迫在眉睫的问题警告具有以下演示:
|
风险操作确认 确认用户想要继续执行具有一定风险且无法轻松撤消的操作。 |
风险操作确认的示例。 风险操作确认具有以下演示:
|
准则
呈现
- 根据信息类型选择演示文稿 UI:
用户界面 | 最适合用于 |
---|---|
模式对话框 |
关键警告 (包括用户现在必须响应的确认) 。 |
就地 |
可能阻止问题的信息,尤其是在用户做出选择时。 |
横幅 |
可能阻止问题的信息,尤其是与完成任务相关的信息。 |
通知 |
可以安全忽略的重要事件或状态,至少暂时忽略。 |
气球 |
控件处于影响输入的状态。 此状态可能是意外的,用户可能无法意识到输入受到影响。 |
-
对于模式对话框:
- 在适当的时候使用任务对话框来实现一致的外观和布局。 任务对话框需要 Windows Vista 或更高版本,因此不适合早期版本的 Windows。
- 每个条件仅显示一条警告消息。 例如,显示一个完全解释条件的警告,而不是每条消息一次描述一个详细信息。 显示单个条件的警告对话框序列令人困惑和烦人。
- 不要对每个条件显示多次警告。 不断的警告很快就会变得无效和烦人。 用户通常更专注于摆脱警告,而不是解决问题。 如果必须针对单个条件重复发出警告,请使用 渐进式升级。
- 不要随警告而发出声音效果或蜂鸣声。 这样做是令人不和谐和不必要的。
- 例外: 如果用户必须立即响应,则可以使用声音效果。
图标
不要在对话框的标题栏中放置警告图标。
使用警告图标。 异常:
如果警告针对的是具有图标的功能,则可以使用带有警告覆盖的功能图标。
正确:
在此示例中,功能图标具有警告覆盖。
对于带有警告脚注的模式对话框,请将警告图标放在脚注而不是内容区域中。
正确:
在此示例中,脚注具有警告图标。
有关更多指南和示例,请参阅 标准图标。
不再显示此消息
- 如果警告对话框需要此选项,请重新考虑警告及其频率。 如果它具有良好警告的所有特征, (涉及风险,并且立即相关、可操作、不明显且不经常) ,则用户不应将其抑制。
有关更多指南,请参阅 对话框。
渐进式披露
- 如果必须在警告消息中包含高级信息,请使用渐进式披露按钮 (显示信息,例如“显示详细信息”) 。 这样做可以简化典型用法的警告。 不要隐藏所需的信息,因为用户可能找不到它。
- 除非确实有更多详细信息,否则不要使用“显示详细信息”。 不要只以不同的格式重述现有信息。
有关标记准则,请参阅 渐进式披露。
默认值
- 选择最安全、最具破坏性或最安全的响应作为默认值。
文本
常规
- 删除冗余文本。 在标题、main说明、补充说明、内容区域、命令链接和提交按钮中查找它。 通常,在说明和交互式控件中保留全文,并删除其他位置的任何冗余。
- 请勿在文本中使用术语“警告”或“警告”。 正确使用时,警告图标充分传达用户必须谨慎继续操作。
不正确:
在此示例中,不需要术语“warning”。
标题
- 使用标题来标识警告来自的命令或功能。 异常:
- 如果许多不同的命令显示警告,请考虑改用程序名称。
- 如果该游戏多余或与main指令混淆,请改用程序名称。
不正确:
在此示例中,“安全警告”不标识发出警告的命令或功能。
- 请勿使用标题来解释main指令的对话框中要执行的操作。
- 使用 标题样式大写,不结束标点符号。
主要说明
- 警告main指令基于其设计模式:
模式 | 主指令 |
---|---|
意识 |
描述条件或潜在问题。 |
迫在眉睫的问题 |
描述用户现在需要执行的操作。 |
风险操作确认 |
提出问题以确定用户是否要继续。 |
- 在此示例中,电池电量不足通知是感知警告,因此main指令描述了条件。
- 在此示例中,电池电量不足对话框是一个迫在眉睫的问题,因此main说明描述了用户现在需要执行的操作。
- 简明扼要地使用一个完整句子。 将main指令剥离为基本信息。 如果必须解释更多内容,请使用补充说明。
- 如果用户必须立即采取行动,请使用“now”和“immediately”等字词。 如果没有紧急性,请不要使用这些词。
- 如果涉及对象,请具体说明,请提供其全名。
- 使用 句子样式大写。
补充说明
- 警告的补充说明基于其设计模式:
模式 | 补充说明 |
---|---|
意识 |
解释其含义及其重要原因。 |
迫在眉睫的问题 |
解释条件及其重要原因。 |
风险操作确认 |
解释用户可能不想继续的任何非明显原因。 |
- 不要用略有不同的措辞重复main指令。 如果没有更多要添加,请忽略补充说明。
- 使用完整句子、句子样式大写和结尾标点符号。
提交按钮
- 对于警告对话框,提交按钮基于其设计模式:
模式 | 提交按钮 |
---|---|
意识 |
接近了。 不要使用 OK,因为它表明潜在问题正常。 |
迫在眉睫的问题 |
每个选项的命令按钮或命令链接;如果操作发生在对话框之外,则为“确定”。 |
风险操作确认 |
是,否。 |
- 不正确:
- 问题不正常,因此请改用 Close。
文档
引用警告时:
- 如果警告提出问题,请通过问题引用警告;否则,请使用 main 指令。 如果问题或main说明很长或详细,请总结一下。
- 如有必要,可以将警告对话框称为消息。
- 如果可能,请使用粗体设置文本格式。 否则,仅当需要时,才将文本置于引号中以防止混淆。
示例:在“ 是否显示不安全的项目?” 消息中,单击“是”。