气球状提示 (Windows)
出自UXGuide.net
气球状提示
Balloons
目录 |
气球状提示(Balloon)是一个小型的弹出窗口,用于通知用户出现非关键性问题或控件处于某种特殊情况。
典型的气球状提示。
气球状提示由图标、标题、正文文本组成,且所有这些部分都是可选的。与工具提示和信息提示不同,气球状提示还带有一个尾部箭头以指示它的来源。通常这个来源是一个控件——此时该控件被称为所有者控件。
虽然气球状提示向用户提示的是非关键性问题,但它们并不能阻止问题的发生——即使其所有者控件也许可以。当用户试图提交操作的时候,任何未处理的问题都必须由其所有者用户界面来处理。
气球状提示通常与文本框或其他使用文本框来改变值的控件一起使用,如组合框、列表视图、树形视图等等。其他类型的控件已经进行了很好的约束,不再需要气球状提示来给出额外的反馈。此外,如果问题出在其他类型的控件上,往往会导致多个控件之间的不一致性——这种情况下,气球状提示不再适用。仅有包含文本入口的控件才是即无约束又是普遍的单点错误(single-point errors)源。
通知控件是气球状提示的一种特殊类型,它由通知区域中的图标显示。
注:与通知、工具提示与信息提示及错误信息相关的设计规范请参考各自相应的章节。
它用在这里合适吗?
考虑下列问题以进行判断:
- 该信息描述的是一个问题或者特殊情况吗?如果不是,则改用其他控件。不要将气球状提示用作显示控件的附加信息,而应当考虑换用静态文本(Static Text)、信息提示(Infotip)、渐进展开控件(Progressive Disclosure)或提示文本(Prompt)。
- 该问题或特殊情况能被立即检测到吗——当正在输入时或所有者控件失去焦点时?如果不能,则应使用任务对话框或消息框来显示错误信息。
- 这些问题很关键吗?如果是,则应使用任务对话框或消息框来显示错误信息。这类错误信息需要进一步操作(适合于关键错误),而气球状提示无法提供。
- 对于那些特殊情况,是否本身是合法的,但很可能并不是用户期望的?如果是,则气球式提示在这里是合适的。对于那些无效情况,最好避免使用。对于看上去正常的情况,不需要任何提示。
- 该问题或特殊情况能用准确的语言进行描述吗?如果不能,则改用其他控件。气球式提示不进行具体地解释说明,也不提供附加信息。
- 这些信息描述的是鼠标当前指向的控件吗?如果是,则改用工具提示或信息提示,除非用户可能需要与消息本身进行交互。
- 这些信息与用户当前的活动相关吗?如果不相关,考虑改用通知控件或对话框。用户很可能忽略当前活动外出现的气球式提示,而且在默认情况下,气球会在 10 秒后消失。
- 这些信息是否具有单一、确定的来源?如果问题或者特殊情况有多个来源或来源不确定,则应改用就地消息或对话框。
- 错误:
-
- 在这个示例中,问题可能产生自用户名,也可能来自密码,但使用气球状提示在视觉上会让人觉得只有密码存在问题。结果,当输入错误的用户名时,其反馈信息存在误导。
气球状提示是除信息提示、对话框及就地消息之外的另一种提示方式。与工具提示和信息提示相比:
- 气球状提示可以在与当前鼠标指针位置无关的位置显示,因此它需要一个尾部箭头指向其来源。
- 气球状提示包含标题、正文文本及图标。
- 气球状提示可以参与交互,而信息提示是不可点的。
与模式对话框相比:
- 气球状提示不会改变输入焦点,也不要求用户进行交互。
- 气球状提示具有单一、确定的来源。而模式对话框可能具有多个来源,或者根本没有确定的来源。
与就地消息相比:
- 气球状提示更为醒目。
- 气球状提示在显示时,不需要像显示就地消息那样预留屏幕空间或是进行动态布局。
- 气球状提示会在一段时间之后自动消失。
使用模式
气球状提示的使用模式如下:
|
输入问题 由单一所有者控件引发的非关键性用户输入问题,通常来自文本框。 |
使用气球状提示显示错误信息不会改变输入焦点,即使当所有者控件拥有输入焦点时,它仍然非常醒目。 为了解决问题,用户可能需要进行更改或重新输入。但如果所有者控件忽略错误的输入,用户也许可以完全不用修改。由于 问题并非关键,因此不需要使用错误图标。
用于报告非关键性用户输入错误的气球状提示。 |
|
特殊情况 所有者控件处于某种影响输入的状态,该状态可能不是用户所期望的,但用户也许没有意识到其输入所受的影响。 |
当出现特殊情况时(如超过最大输入字符数或大写锁定被启用等),在第一时间使用气球状提示进行警告可以防止用户产生挫败感。它在给出反馈信息的同时,不改变输入焦点,不强迫用户进行操作。这一点非常重要,因为这些特殊情况有可能是故意为之的。这些气球状提示对于密码框尤为重要,因为用户在密码框中输入时只能得到很少的反馈。此类气球状提示带有警告图标。
用于报告特殊情况的气球状提示。 |
设计规范
何时显示
- 一旦发现问题或检测到特殊情况时,应立即显示气球状提示,即使是重复、没有任何延迟的。
- 对于涉及单个字符或达到最大输入长度的问题,应在输入时立即显示提示。
- 对于涉及输入值的问题(包括不能输入空格),应当在所有者控件失去焦点时显示提示。否则,当用户输入那些可能是有效的内容时显示气球状提示,可能使用户分心且感到厌烦。
- 一次只显示一个气球状提示。同时显示多个气球状提示会淹没重要的信息。如果某个事件产生多个问题,要么一次显示所有问题,要么只报告最重要的问题。
- 错误:
-
- 在这个示例中,错误地同时显示了两个问题。
显示多长时间
- 移除气球状提示的时机:
- 问题已经解决或特殊情况已不存在。
- 用户输入了有效的数据(对于输入问题)。
- 气球状提示显示超时。默认情况下,气球状提示将在显示 10 秒后消失,用户可以通过修改
- SPI_MESSAGEDURATION 系统参数来进行调整。
- 如果问题不解决用户就无法继续的话,则去掉超时限制。
- 致开发人员:在 Win32 中,你可以通过 TTM_SETDELAYTIME 消息设置显示时间。
如何显示
- 将气球状提示显示在所有者控件的下方。这使得用户可以查看相关的上下文信息,包括所有者控件及其标签。Microsoft® Windows® 会自动调整它们的位置,以使它们可以完整显示在屏幕上。默认行为是像通知那样将气球状提示显示在所有者控件的上方。
- 正确:
-
- 错误:
-
- 在这个错误示例中,气球状提示显示在了所有者控件的上方。
密码文本框
- 当启用大写锁定时弹出气球状提示,使用下例中的文本:
-
- 在这个示例中,密码文本框上弹出的气球状提示指示了大写锁定已启用。
- 当用户试图超出最大输入长度时弹出气球状提示。在密码文本框中,达到最大输入长度要比在普通文本框中难以发现得多。
-
- 在这个示例中,气球状提示指示用户正试图超出最大输入长度。
- 当用户输入无效字符时弹出气球状提示。当然,最好是没有这样的限制,因为这会削弱密码的安全性。为了防止信息泄露,该气球状提示应当只提及那些已写入文档的关于有效密码字符的信息。
-
- 在这个示例中,气球状提示指示密码只能包含数字。
其他文本框
- 对于关键的、短的文本框,当用户试图超出最大输入长度时,应当考虑为新用户显示气球状提示。例如用户名及帐户名称。当用户试图超出最大输入长度时,文本框会发出警报声,但新用户可能并不理解警报声的意义。
-
- 在这个示例中,气球状提示指示用户试图超出最大输入长度。
交互
- 当用户单击气球状提示时,直接关闭提示,不要显示其他任何 UI 或效果。与通知不同,气球状提示没有关闭按钮。
图标
- 基于使用模式选择图标:
| 模式 | 图标 |
|---|---|
| 输入问题 | 无图标。不要在这里使用错误图标,以与Windows Vista 语气设计规范保持一致。 |
| 特殊情况 | 标准 16x16 像素警告图标。 |
辅助选项
如果使用得当,气球状提示能够更好地支持辅助功能。为了达到这一目标,应当:
- 仅显示与用户当前活动相关的气球状提示。
- 使提示文本尽可能简要。这对于视力不好的用户来说更容易阅读,且使得因屏幕阅读程序的阅读而产生的打断减到最小。
- 当问题或情况再次发生时重新显示气球状提示。
文本
标题文本
- 使用清晰、平实、简要、确切的语言作为标题文本,简要概括输入问题或特殊情况。用户应当能够花最小的精力快速理解气球状提示的意图。
- 使用不带句末标点的文本片断或完整句子。
- 使用句子大写样式。
- 使用不超过 48 个字符(英文)以适应本地化的需要。标题文本最大不能超过 63 个字符,且必须能够为本地化预留至少百分之三十的扩展。
正文文本
- 正文文本的第一句话应当以与用户明确相关的方式陈述问题或情况。不要重复标题中的信息。如果没有需要补充的信息,则省略正文。
- 第二句话应陈述用户如何做才能解决问题或恢复状态。依照风格与语气设计规范,不要在句子中使用“请”字。第一句与第二句话之间应添加两个换行符。
-
- 该示例显示了标准的气球状提示文本布局。
- 解释如何解决问题或恢复状态,即使这种解释显而易见,但应省略问题描述与其解决方案之间的重复。
- 例外:
- 如果无法简要地描述解决方案或者避免出现大量重复,则省略解决方案。
- 如果用户不需要做什么,例如无效字符已被忽略的话,则省略解决方案。
- 使用包含句末标点的完整句子。
- 使用句子大写样式。
- 使用不超过 200 个字符(英文)以适应本地化的需要。标题文本最大不能超过 255 个字符,且必须能够为本地化预留至少百分之三十的扩展。
文档编写
当提及气球状提示时:
- 严格引用标签文本,包括其大小写。
- 将该组件称为“气球状提示”,而不是“通知”或“警告”。
- 应尽可能为标签文本应用粗体样式。对于英文来说,仅当需要避免歧义时才在其两侧添加引号;对于中文来说,则应总是使用引号。