气球

注意

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

气球是一个弹出式小窗口,用于通知用户控件中存在非严重问题或特殊情况。

显示一个气球的屏幕截图,指示 Caps Lock 处于打开状态。

典型的气球。

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

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

气球通常与文本框或使用文本框更改值的控件(如组合框、列表视图和树视图)一起使用。 其他类型的控件都受到足够的约束,不需要气球提供额外的反馈。 此外,如果其他类型的控件出现问题,通常涉及多个控件之间的不一致情况,而气球不适合这种情况。 只有文本输入控件既不受约束,又是单点错误的常见源。

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

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

这是正确的控件吗?

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

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

不正确:气球的屏幕截图:登录失败

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

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

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

与模式对话框相反:

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

与就地消息形成鲜明对比:

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

使用模式

气球有以下使用模式:

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

指导

何时显示

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

不正确:两个气球指向一个框的屏幕截图

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

显示时长

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

如何显示

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

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

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

在错误的示例中,气球突兀地显示在其所有者控件上方。

密码和 PIN 文本框

  • 使用气球表明 Caps Lock 已打开,使用以下示例中的文本:

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

在此示例中,气球表明 Caps Lock 位于 PIN 文本框中。

  • 当用户试图超出最大输入大小时,使用气球提示 与普通文本框相比,在密码和 PIN 文本框中达到最大输入大小要少得多。

指示密码限制的气球屏幕截图

在此示例中,气球表示用户试图超过最大输入大小。

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

表示输入有误的气球屏幕截图

在此示例中,气球表示 PIN 需要数字。

其他文本框

  • 请考虑使用气球来提示用户何时试图超出针对新手用户的关键短文本框的最大输入大小。 示例包括用户名和帐户名称。 当用户试图超过最大输入时,文本框会发出蜂鸣声,但新手用户可能无法理解蜂鸣声的含义。

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

在此示例中,气球表示用户曾试图超过最大输入大小。

交互

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

图标

辅助功能

正确使用时,气球可增强可访问性。 要使气球易于访问:

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

文本

标题文本

  • 使用标题文本,以清晰、平时、简洁、具体的语言简要汇总输入问题或特殊条件。 用户应能够快速、轻松地了解气球的用途。
  • 使用不带结束标点符号的文本片段或完整句子。
  • 使用句式单词首字母大写。 有关详细信息,请参阅术语表
  • 使用不超过 48 个字符(英语)来适应本地化的需要。 标题的最大长度为 63 个字符,并且必须能够扩展至少 30%,以适应本地化的需要。

正文

  • 使用正文的第一句话,以与用户明确相关的方式说明问题或情况。 不要重复标题中的信息。 如果没有其他需要补充的内容,则省略此部分。
  • 使用第二个句子来说明用户可以执行的操作以解决该问题或恢复状态。 根据文体和语气指南,无需在此声明中使用“请”字。 在第一个和第二个句子之间换两行。

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

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

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

文档

提到气球时:

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