模态弹出窗口 - 可用性
在什么情况下您会使用模式弹出窗口? 如果它突然出现在用户面前,是否会打断用户的流程? 您通常会避免模式弹出窗口吗? 或者什么时候应该小心使用它们?
编辑:
更具体一点,这里的情况是这样的:
我右边有一个菜单,(VisualStudio风格)当用户想要添加一个元素时,我应该向下展开菜单并让他们从中选择一些内容,然后必须按“确定”按钮,或者显示一个模态弹出窗口迫使他们进行选择。
(选择步骤是强制性的。)
What are the cases where you'd use a modal popup ?
Does it interrupt the user's flow, if it all of a sudden opens up in his face ?
Would you avoid modal popups in general ? or when should one be careful of using them ?
Edit:
To be a bit more specific, the situation here is this :
I have a menu on the right, (VisualStudio style) when the user wants to add an element, should I expand the menu down and let them select something from it there, and then have to press the OK button, or display a Modal popup forcing them to select.
(the selection step is mandatory.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
IMO,除了您绝对确定需要用户立即关注的内容之外,请避免使用它们。 否则,他们只是无缘无故地中断流程
IMO, avoid them for anything but stuff that you're absolutely sure requires immediate user attention. Otherwise, they just interupt the flow for no good reason
我认为避免模式弹出窗口没有用。 考虑关闭未保存的工作、文件打开对话框等的确认。
我认为当用户忙于其他事情时,你不应该突然显示它们。
I don't think avoiding modal popups is usefull. Think about confirmation on closing unsaved work, fileopen dialogs, and such sort of things.
I think you should not show them all of a sudden, when the user is busy with something else.
最小化。 使用状态栏或一些非面对面的机制来通知用户。
当您想要进行自动化测试时应该小心。 模态对话框喜欢玩“show stopper”。
Minimize. Use the status bar or some non-in-your-face mechanism of notifying the user.
You should be careful when you want to have automated tests. Modal dialogs love playing "show stopper".
更具体一点,这里的情况是这样的:
我右边有一个菜单(VisualStudio风格),当用户想要添加一个元素时,我应该向下展开菜单并让他们从中选择一些东西,然后然后必须按“确定”按钮,或显示一个模态弹出窗口,迫使他们进行选择。
(选择步骤是强制性的。)
To be a bit more specific, the situation here is this :
I have a menu on the right, (VisualStudio style) when the user wants to add an element, should I expand the menu down and let them select something from it there, and then have to press the OK button, or display a Modal popup forcing them to select.
(the selction step is mandatory.)
模式对话框长期以来一直受到可用性专家的谴责,因为它们对用户工作流程具有破坏性。 例如,请参阅 Jef Raskin 的“Humane Interface”一书,了解有关无模式界面的讨论。
Modal dialogs have been condemned by usability experts for a long time because of their disruptive nature regarding user workflow. See, for instance, Jef Raskin's "Humane Interface" book for discussion of modeless interfaces.
来自维基百科:
模态窗口的频繁使用包括:
吸引人们对重要信息的注意。 这种用法被批评为无效。
阻止应用程序流程,直到输入继续所需的信息,例如登录过程中的密码。
阻止应用
在集中式对话框中收集应用程序配置选项。 在这种情况下,通常会在关闭对话框时应用更改,并在进行编辑时禁用对应用程序的访问。
警告当前操作的影响是不可逆的。 这是模式对话框的常见交互模式,但它也受到可用性专家的批评,因为它对其预期用途(防止破坏性操作中的错误)无效,并且存在更好的替代方案。
From Wikipedia:
Frequent uses of modal windows include:
drawing attention to vital pieces of information. This use has been criticised as ineffective.
blocking the application flow until information required to continue is entered, as for example a password in a login process.
collecting application configuration options in a centralized dialog. In such cases, typically the changes are applied upon closing the dialog, and access to the application is disabled while the edits are being made.
warning that the effects of the current action are not reversible. This is a frequent interaction pattern for modal dialogs, but it is also criticised by usability experts as being ineffective for its intended use (protection against errors in destructive actions) and for which better alternatives exist.
就我个人而言,我认为模态弹出窗口总是可以避免的。 模式弹出窗口最常见的用途是指示错误,或寻求用户输入以继续。 这两个操作都可以“内联”完成,即通过在同一页面本身上创建合适的操作而无需模式弹出窗口。
例如,文本字段输入中的错误可以通过将背景设为红色或在字段旁边制作一个小错误图标以及在其下方显示错误文本来指示。
弹出窗口总是让用户感到恼火,在我看来,可以巧妙地替换它,而不会丢失任何功能。
编辑:
在您的情况下,一个简单的解决方案是禁用提交按钮,直到用户做出选择。 这将确保用户仅在做出选择后才点击“确定”
Personally, i think that modal pop-ups can always be avoided. The most common use of a modal pop-up is to indicate errors, or seek user input to proceed. Both of these actions can be accomplished "inline", i.e., by creating suitable actions on the same page itself without a modal pop-up.
E.g. errors in a text field input can be indicated by making the background red, or by making a small error icon next to the field, and the error text below it.
Pop-ups are always an irritation to a user, and in my opinion can be replaced cleverly without losing any functionality at all.
EDIT:
In your situation, a simple solution would be to disable the commit button till the user has made a selection. This will ensure the user hits OK only after a selection is made
如果您确实采用模式弹出路线,请在接受输入之前添加延迟。 很少有事情比在某些应用程序中键入内容并看到对话框中闪烁的信息更令人烦恼,这意味着弹出了一些内容,接受了您当时碰巧按下的任何随机键作为输入,然后采取了一些随机操作。
If you do go the modal popup route, please please add a delay before input is accepted. There are few things as annoying as typing in some application and seeing the tell-tale flash of dialogue box that implies something popped up, accepted whatever random key you happened to be pressing at the time as its input and gone off to take some random action.