对话框应该自动关闭吗?

Should dialogs be automatically closed?

场景: 您正在编写一个通过网络执行持续关键操作的应用程序。与网络的通信中断,需要向用户显示一个模式对话框,指示与网络的连接已丢失。一段时间后(模态对话框仍然显示)重新建立连接,操作可以继续。

问题: 鉴于上述情况,您是否应该:

  1. 自动关闭对话框并允许操作 继续(即没有用户与对话框交互)?
  2. 等待对原始对话框的响应 允许用户继续?
  3. 更新对话框以表明 连接已恢复并等待响应 继续吗?

这主要是基于意见,但我会尝试给出一些论据:

方案一中,模态对话框突然消失。但是模态对话框的基本原理是暂停 UI 直到用户完成某个操作。所以恕我直言,让它在没有其他消息的情况下突然消失会给用户带来不一致的体验

解决方案 2 实施起来一致且简单(且稳健)。唯一的问题是用户可能会觉得应用程序可能已经注意到网络再次打开,并可能为此责怪开发人员的懒惰。

如果您仅将消息 网络已关闭 替换为 网络已启动,则解决方案 3 可能看起来很愚蠢。如果用户暂时停止看屏幕(喝咖啡、与同事交谈)并且网络在那段时间先断后续,当他再次看屏幕时,他只会看到一个模态对话框要求确认他知道网络已启动。多么重要的情报,他会不会想!

我的建议是总是让信息网络在 时间 丢失,可能随后网络在 时间 再次上升,即这样一来,它始终是需要确认的明智信息。

问题仍然是模态对话框是否是合适的工具。也许当网络中断时带有红色消息的状态面板和当一切正常时带有绿色消息的状态面板可能是一种可能的选择。但是你比我更了解你的申请...