对话框#

对话框向用户展示选项、选择或信息,用户必须做出响应才能继续。GNOME 中有两种类型的对话框:警报对话框和操作对话框。

警报对话框#

../../_images/alert-dialog.png ../../_images/alert-dialog-dark.png

警报对话框会显示一条消息或问题,以及一到三个用于响应的按钮。当用户必须看到并响应消息时,警报对话框是一个合适的选择。但是,它们也会造成干扰,因此应考虑替代方案。

确认对话框#

确认对话框是一种标准的警报对话框类型,用于在执行操作之前检查或确认用户是否希望执行该操作。它们有两个按钮:一个用于确认应执行该操作,另一个用于取消该操作。

破坏性操作应始终伴有确认对话框或撤销操作的选项(通常使用 toast)。由于用户通常会习惯性地点击确认对话框而不完全阅读或考虑它们,因此撤销通常比确认对话框更好。撤销还可以避免打断用户,允许用户从错误中恢复,并让他们有更多时间改变主意。

但是,在无法提供撤销功能的情况下,仍然建议使用确认对话框,以提醒用户注意风险,明确将采取的措施,并让他们有机会取消。

错误对话框#

错误对话框是另一种类型的警报对话框。它们向用户显示错误消息,通常只包含一个用于关闭对话框的按钮。

在可能的情况下应避免使用错误对话框,因为它们会造成干扰。对于简单的非关键错误,toast 可以是一个不错的替代方案。

操作对话框#

../../_images/action-dialog.png ../../_images/action-dialog-dark.png

操作对话框在执行操作之前,会显示关于操作的选项和/或信息。打印保存对话框是操作对话框的经典示例。

由于操作对话框会遮挡父窗口,并且需要用户进行上下文切换,因此通常更喜欢内联控件或操作。例如,在电子邮件应用程序中,电子邮件编写通常在主窗口中进行,而不是在操作对话框中。

  • 操作对话框具有标题栏、描述该操作的标题以及两个主要按钮——一个用于执行该操作,另一个用于取消该操作。

  • 使用具体的祈使动词来标记肯定按钮,例如:保存打印。这比像确定完成这样的通用标签更清晰。

  • 有时,在执行操作之前,用户可能需要选择选项。在这种情况下,如果所需的选项尚未选择,肯定对话框按钮应禁用。

通用指南#

所有类型对话框的通用指南

  • 切勿意外弹出对话框。它们仅应在立即响应用户的明确操作时显示。

  • 对话框应始终具有父窗口,并且是模态的。

  • 打开对话框时,为用户期望首先操作的组件提供初始键盘焦点。对于必须使用键盘导航的用户来说,此焦点尤其重要。

关于对话框按钮的指南

  • 始终确保取消按钮出现在肯定按钮之前。在从左到右的语言环境中,这位于左侧。此按钮顺序可确保用户在遇到肯定按钮之前,意识到并记住取消的能力。

  • 将回车键分配给肯定按钮以激活。但是,如果其操作是不可逆的、破坏性的或对用户而言不方便的,则不应这样做。如果没有合适的按钮可以指定为默认按钮,则不要设置一个。

  • 如果存在取消按钮,请确保 Esc 键激活取消按钮。带有单个按钮的警报对话框可以将 Escape 和 Return 绑定到同一个按钮。

API 参考#