9

模态对话框是邪恶的,但我一直在阅读“你应该尽可能删除模态对话框

什么时候不能删除模态对话框?我的意思是,有哪些真正的模态任务迫使我们使用邪恶的模态对话框?

最常见的示例是“您要保存吗?” 我认为这是让用户点击 Save 而不是记住用户输入是神圣的概念的问题。如果您只是自动保存并能够“撤消”或进行修订,那么您无需询问用户是否要保存。

  • “你确定你要删除?” 取消删除
  • “你确定你要退出吗?” 你为什么要问这个?你就那么虚荣吗?

为什么我们需要模态对话框?

编辑

Webs 应用程序不算在我的书中,除非他们在浏览器中编写自己的 UI 窗口系统。Web 应用程序没有设置与桌面应用程序相同的工具。

编辑 2

我的问题与标记为重复的问题略有不同。我觉得模态对话框并不是最好的解决方案。提到的问题假设存在这种情况。

重复:模态 UI 何时可接受

4

3 回答 3

6

模态对话框的用例

  • 阻止应用程序流程,直到输入继续所需的信息,例如登录过程中的密码。
  • 在集中式对话框中收集应用程序配置选项。在这种情况下,通常会在关闭对话框时应用更改,并且在进行编辑时禁用对应用程序的访问。
  • 警告当前操作的影响是不可逆的。这是模态对话框的常见交互模式,但可用性专家也批评它对其预期用途(防止破坏性操作中的错误)无效,并且存在更好的替代方案。

(来源:维基百科

当我使用它们时

在某些情况下,阻止他们做愚蠢的事情是绝对必要的。我的公司有一个网络应用程序,用户有时会在完成工作之前离开页面。onbeforeunload如果他们没有保存他们的工作,我们会使用 Modal(标准 JavaScript 函数)提示他们。

否则,如果我能提供帮助,我不会使用 Modals,当应用程序从我正在做的事情中窃取焦点时,我讨厌它。

编辑:当他们离开页面时,我们不会自动为他们保存他们的工作。我们在其他时间这样做,但不是在他们离开页面时,因此是 Modal。我确实写了可以在他们离开页面时进入并保存他们的工作的可能,但实现它并不是一个“好”的主意,特别是如果他们不小心删除了他们的工作并且不希望它自动保存。

于 2008-12-12T00:05:39.753 回答
1

唯一比用户输入更神圣的是我知道的任何文件。除非我告诉你,否则你不应该修改任何包含实现细节的文件。因此像“你想保存吗?”这样的框。退出是必须的,因为我可能不想保存。

于 2008-12-12T00:17:56.187 回答
0

想象一个应用程序需要为某些操作打开一个对话框。现在想象这些将是非模态对话框:当一个对话框打开时,您可以更改选择,甚至更糟 - 调用一个不同的命令,该命令本身会打开另一个对话框。现在想象这些对话框将是模态的:那么您将不得不关闭对话框才能继续 - 您无法进入对话框下选择更改或两个命令正在等待输入的状态。

于 2010-07-30T19:18:33.247 回答