代码之家  ›  专栏  ›  技术社区  ›  Pyrolistical

什么时候真正需要模态对话?

  •  8
  • Pyrolistical  · 技术社区  · 16 年前

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

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

    最常见的例子是“Doyouwanttosave?”我认为这就是让用户点击save而不是记住这个概念的问题 用户输入是神圣的 . 如果您只是使用“撤消”或有修订的功能自动保存,则无需询问用户是否要保存。

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

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

    编辑

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

    编辑2

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

    副本: When Is Modal UI acceptable ?

    3 回复  |  直到 14 年前
        1
  •  6
  •   George Stocker NotMe    16 年前

    模态对话框的用例

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

    (来源: Wikipedia )

    当我使用它们的时候

    在某些情况下,阻止他们做蠢事是绝对必须的。我的公司有一个web应用程序,用户有时在完成工作前离开页面。我们用一个模态(标准 onbeforeunload 如果他们没有保存他们的工作。

    否则,我不使用情态动词,如果我能帮助它,我讨厌当一个应用程序从我正在做的事情中窃取焦点。

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

        2
  •  1
  •   BCS    16 年前

    唯一比用户输入更神圣的是我所知道的任何文件。除非我告诉过你,否则你不应该修改任何实现细节的文件。所以像“你想保存吗?”在出口处是必须的,因为我可以 希望 不保存。

        3
  •  0
  •   Mot    14 年前

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