气球

注意

此设计指南是为 Windows 7 创建的,尚未针对较新版本的 Windows 进行更新。 大部分指南原则上仍然适用,但演示和示例并不反映我们 当前的设计指南

气球是一个小弹出窗口,用于通知用户控件中的非关键问题或特殊情况。

显示指示 Caps Lock 已打开的气球的屏幕截图。

典型的气球。

气球具有图标、标题和正文文本,所有这些都是可选的。 与工具提示和信息提示不同,气球还有一个标识其源的尾部。 通常源是控件(如果是),则称为 所有者控件

虽然气球通知用户非关键问题,但它们不会阻止问题,尽管所有者控制可能。 当用户尝试提交操作时,任何未经处理的问题都必须由所有者用户界面 (UI) 进行处理。

气球通常与文本框或控件一起使用,这些控件使用文本框来更改值,例如组合框、列表视图和树视图。 其他类型的控件受到足够的约束,不需要额外的反馈气球。 此外,如果其他类型的控件存在问题,则它通常涉及多个控件之间的不一致,即气球不适合的情况。 只有文本输入控件是不受约束的,并且是 单点错误的常见来源。

通知是由 通知区域 图标显示的一种特定类型的气球。

注意:通知工具提示和信息提示以及 错误消息 相关的指南在单独的文章中提供。

这是正确的控件吗?

在决定之前,请考虑以下问题:

  • 信息是否描述了问题或特殊情况? 如果不是,请使用其他控件。 请勿使用气球显示控件的补充信息;请考虑改用 静态文本信息提示渐进式披露或提示。
  • 是否可以在输入时或在所有者控件失去输入焦点时立即检测到问题或特殊情况? 如果没有,请使用 任务对话框消息框中显示的错误消息。
  • 对于问题,问题是否严重? 如果是这样,请使用任务对话框或消息框中显示的错误消息。 此类错误消息需要交互 (这适用于严重错误) ,而气球则不适用。
  • 对于特殊条件,该条件是否有效,但有可能是意外的? 如果是,则气球是合适的。 对于无效的条件,最好首先阻止它们。 对于可能的预期条件,无需执行任何操作。
  • 问题或特殊条件能否简明扼要地表示? 如果不是,请使用其他控件。 气球不能提供详细说明或提供补充信息。
  • 该信息是否描述了当前悬停在上方的控件? 如果是这样,请改用提示,除非用户可能需要与消息交互。
  • 信息是否与用户的当前活动相关? 如果没有,请考虑改用 通知对话框 。 用户可能会忽略当前活动之外的气球,默认情况下,气球在 10 秒后超时。
  • 信息是否来自单个特定来源? 如果问题或条件有多个源或没有特定源,请改用 就地消息 或对话框。

错误:气球的屏幕截图:登录失败

在此示例中,问题可能出在用户名或密码上,但用气球报告问题在视觉上表明只有密码是问题。 因此,输入错误用户名的反馈具有误导性。

气球是信息提示、对话框和就地消息的替代方法。 与工具提示和信息提示相反:

  • 气球可以独立于当前指针位置显示,因此它们具有指示其源的尾部。
  • 气球具有标题、正文文本和图标。
  • 气球可以是交互式的,而无法单击提示。

与模式对话框相反:

  • 气球不会窃取输入焦点或需要交互。
  • 气球标识单个特定源。 模式对话框可以有多个源,或者根本没有特定源。

与就地消息相比:

  • 气球更明显。
  • 气球不需要显示就地消息所需的可用屏幕空间或动态布局。
  • 气球在超时后自动删除自身。

使用模式

气球具有以下使用模式:

使用情况 示例
输入问题 来自单个所有者控件(通常是文本框)的非关键用户输入问题。
对错误消息使用气球不会窃取输入焦点,但如果所有者控件具有输入焦点,则仍然非常明显。 若要更正此问题,用户可能必须更改或重新输入输入;但如果所有者控件忽略了不正确的输入,则用户可能根本不需要进行任何更改。 由于问题并不严重,因此无需 错误图标
显示指示错误字符的气球的屏幕截图。
用于报告非关键用户输入问题的气球。
特殊条件 所有者控件处于影响输入的状态。 此状态可能是意外的,用户可能无法意识到输入受到影响。
使用气球来防止挫败,方法是在特殊情况发生时立即提醒用户 (例如,超过最大输入大小或错误设置大写锁定) 。 请务必在不窃取输入焦点或强制交互的情况下提供此类反馈,因为这些条件可能是有意的。 这些气球对于密码和固定框尤其重要,在这些框中,用户只需极少量的反馈。 这些气球有一个 警告图标
显示指示 Caps Lock 处于打开状态且输入了错误的字符的气球的屏幕截图。
用于报告特殊情况的气球。

指导

何时显示

  • 在检测到问题或特殊条件后立即显示气球,即使重复,也没有任何明显的延迟。
    • 对于涉及单个字符或最大输入大小的问题,请在输入时立即显示气球。
    • 对于涉及输入值 (包括需要非空值) 的问题,请在所有者控件失去输入焦点时显示气球。 否则,当用户输入可能有效的输入时显示气球可能会分散注意力,并令人烦恼。
  • 一次只显示一个气球。 显示多个气球可能会让人不知所措。 如果单个事件导致多个问题,要么一次性显示所有问题,要么只报告最重要的问题。

错误:两个指向一个框的气球的屏幕截图

在此示例中,错误地同时呈现了两个问题。

显示时长

  • 在出现时删除气球:
    • 问题已解决或特殊条件被删除。
    • 用户输入有效数据 () 输入问题。
    • 气球超时。默认情况下,批注框在 10 秒后删除自己,尽管用户可以通过修改SPI_MESSAGEDURATION系统参数来更改此内容。
  • 如果用户在问题解决之前无法继续,请删除超时。开发人员: 在 Win32 中,可以使用TTM_SETDELAYTIME消息设置显示时间。

如何显示

  • 在其所有者控件下方显示气球。 这样,用户就可以查看上下文,包括所有者控件及其标签。 Microsoft Windows 会自动调整气球位置,使其完全在屏幕上显示。 默认行为是在其所有者控件上方显示气球,就像使用通知一样。

正确:在其控件下方显示的气球的屏幕截图

错误:在其控件上方显示的气球的屏幕截图

在不正确的示例中,气球在所有者控件上方显示得很尴尬。

密码和 PIN 文本框

  • 使用气球指示 Caps Lock 处于打开状态,使用以下示例中的文本:

指示大写锁定已打开的气球的屏幕截图

在此示例中,一个气球指示 PIN 文本框中的 Caps Lock 处于打开状态。

  • 使用气球指示用户何时尝试超过最大输入大小。 与普通文本框相比,达到密码和 PIN 文本框中的最大输入大小要明显得多。

指示固定代码限制的气球的屏幕截图

在此示例中,一个气球指示用户尝试超过最大输入大小。

  • 使用气球指示用户何时输入不正确的字符。 但是,最好不要设置此类限制,因为它们会降低密码或 PIN 的安全性。 为了防止信息泄露,气球应仅提及有关有效密码或 PIN 的记录事实。

指示错误输入的气球的屏幕截图

在此示例中,一个气球指示 PIN 需要数字。

其他文本框

  • 请考虑使用气球来指示用户何时尝试超过面向新手的关键短文本框的最大输入大小。 示例包括用户名和帐户名称。 当用户尝试超过最大输入时,文本框发出提示音,但新手用户可能不明白蜂鸣音的含义。

指示字符限制的气球的屏幕截图

在此示例中,一个气球指示用户尝试超过最大输入大小。

交互

  • 当用户单击气球时,只需关闭气球,不显示任何其他 UI 或具有任何其他副作用。 与通知不同,气球不应具有关闭按钮。

图标

辅助功能

正确使用时,气球可增强辅助功能。 对于可访问的气球:

  • 仅显示与用户当前活动相关的气球。
  • 使气球文本保持简洁。 这样做会使视力不佳的用户更容易阅读气球文本,并最大程度地减少屏幕阅读器读取时的中断。
  • 每当问题或条件再次出现时,重新显示气球。

文本

标题文本

  • 使用标题文本,以清晰、简明、简洁、特定语言简要地总结输入问题或特殊条件。 用户应能够以最少的工作量快速了解气球的用途。
  • 在不结束标点符号的情况下使用文本片段或完整句子。
  • 使用句式大写。 有关详细信息,请参阅 术语表
  • 使用不超过 48 个字符的英语 () 以适应本地化。 游戏的最大长度为 63 个字符,并且必须能够至少扩展 30%才能适应本地化。

正文文本

  • 使用正文文本的第一句话以与用户明确相关的方式说明问题或条件。 不要重复标题中的信息。 如果没有其他内容要添加,请省略此内容。
  • 使用第二句话说明用户可以执行哪些操作来解决问题或还原状态。 根据 样式和音调 指南,无需在此声明中使用“请”一词。 在第一个和第二个句子之间放置两个换行符。

带有标题和正文文本的气球的屏幕截图

此示例演示标准气球文本布局。

  • 说明如何解决问题或还原状态,即使该解释是显而易见的,但省略问题陈述与其解决方法之间的冗余。 异常:
    • 如果无法简明地表示或没有明显冗余,请省略该解决方法。
    • 如果用户无需执行任何操作,例如忽略不正确的字符时,请省略解析。
  • 使用带有结尾标点符号的完整句子。
  • 使用句式大写。
  • 使用不超过 200 个字符的英语) (以适应本地化。 正文文本的最大长度为 255 个字符,并且必须能够至少扩展 30% 以适应本地化。

文档

引用气球时:

  • 使用确切的标题文本,包括其大写。
  • 将组件称为气球,而不是通知或警报。
  • 如果可能,请使用加粗文本设置标题文本的格式。 否则,仅在需要时将标题置于引号中以防止混淆。