什么时候模态对话真的有必要?

时间:2008-12-12 00:00:52

标签: user-interface usability modal-dialog

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

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

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

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

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

修改

除非他们在浏览器中编写自己的UI窗口系统,否则Web应用程序不会计入我的书中。 Web应用程序没有与桌面应用程序相同的工具集。

编辑2

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

重复:When Is Modal UI acceptable

3 个答案:

答案 0 :(得分:6)

模态对话框的用例

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

(资料来源:Wikipedia

当我使用它们时

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

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

修改:我们不会在离开页面时自动为他们保存工作。我们在其他时间做,但不是在他们离开页面时,因此莫达尔。我写的可以在他们离开页面时进入并保存他们的工作,但实现它并不是一个“好”的想法,特别是如果他们不小心删除了他们的工作并且不希望它自动保存。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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