windows:Windows/dialog-boxes/design-concepts

出自UXGuide.net

跳转到:导航, 搜索

对话框设计理念
Dialog Box Design Concepts

目录


如果使用得当,对话框是为你的程序提供功能性和灵活性的极好方式。但如果使用不当,对话框就会轻易成为骚扰用户、打断其操作、使程序变得不直接且用起来单调乏味的方式。模式对话框会要求用户予以关注。实现对话框往往比其他用户界面要容易,因此常常被过度使用。


设计高效的对话框

当对话框的设计特点符合它的用途时效率最高。对话框的设计在很大程度上取决于其目的(提供选项、提问、提供信息或反馈)、类型(模式或无模式)和用户操作(必选、可选或确认)。其用途在很大程度上取决于上下文(用户或启动的程序)、用户行动的可能性以及显示的频率。


对话框的特性

模式对话框具有以下特性:

无模式对话框具有下列特性:


Dialog box interactions

Dialog boxes also have different types of user interaction:


Dialog box contexts

Dialog boxes are displayed in different contexts:


Creating effective dialog boxes

Consider these effective examples:

Bb545457_DialogsDC31(en-us,MSDN_10).png
Bb545457_DialogsDC32(en-us,MSDN_10).png
Bb545457_DialogsDC15(en-us,MSDN_10).png
Bb545457_DialogsDC33(en-us,MSDN_10).png

Now consider these ineffective examples:

Incorrect:
Bb545457_DialogsDC10b(en-us,MSDN_10).png
Correct:
Bb545457_DialogsDC10(en-us,MSDN_10).png
In the correct example, Microsoft® Word correctly displays a modeless smart tag instead of a modal dialog when users paste text. That way, users aren't required to respond.
Incorrect:
Bb545457_DialogsDC11(en-us,MSDN_10).png
Correct:
Bb545457_DialogsDC11b(en-us,MSDN_10).png
Using a modal dialog box for status is annoying. In the correct example, Microsoft Outlook® correctly uses the status bar for this purpose, instead.
Incorrect:
Bb545457_DialogsDC12b(en-us,MSDN_10).png
Correct:
Bb545457_DialogsDC12(en-us,MSDN_10).png
In this example, the search options could be set in an owned dialog box, but Word correctly uses progressive disclosure instead.
Incorrect:
Bb545457_DialogsDC06(en-us,MSDN_10).png
In this example, Word uses a modal dialog to indicate that it has finished searching a document, which forces users to click the OK button to acknowledge. Modeless feedback would be a better choice.

If you do only one thing...


Make sure that your dialog box design (determined by its purpose, type, and user interaction) matches its usage (determined by its context, probability of user action, and frequency of display).


Improving ineffective dialog boxes

Often the best solution to a bad modal dialog box is either to eliminate the dialog or to redesign it in a way that isn't modal. Some people have concluded that this means all modal dialog boxes are bad and should be eliminated. This is not a correct conclusion (except for Web-based applications, which really should try to avoid pop-up blockers). For example, it is perfectly acceptable to interrupt users with a model dialog box for tasks that require interaction. Modal dialog boxes are the right choice in many circumstances. Trying to eliminate every modal dialog box can reduce the quality of your overall UI.

If you have a dialog box that isn't effective, consider these alternatives:


Using the Don't show this <item> again option

Sometimes optional modal dialog boxes turn out to be annoying, especially when displayed often. Such dialog boxes typically strive to inform users about a recurring situation or a feature that addresses such situations. A common solution to this problem is to provide a Don't show this <item> again option that suppresses the dialog box in the future:

Bb545457_DialogsDC07(en-us,MSDN_10).png


In this example, the dialog box attempts to educate users about a recurring situation. Selecting Don't show this <item> again prevents the dialog box from being displayed in the future.

This solution has problems. It assumes that users:

If users fail in any of these steps, they won't see the dialog box in their moment of need, and there is no obvious way to get the dialog box back once suppressed.

If you think your dialog box needs a Don't show this <item> again option, that is a clear sign that it is annoying and potentially unnecessary. Before adding this option, consider the following alternatives:

Incorrect:
Bb545457_DialogsDC38(en-us,MSDN_10).png
In this example, users don't need this confirmations because dismissing Outlook reminders has no adverse consequences. This confirmation shouldn't be displayed at all.

Do the right thing by default. Don't force users to configure their way out of a bad initial experience. Keep in mind that littering your program with unnecessary modal dialog boxes is more likely to foster outrage than user education. At a certain point, users tend to dismiss such dialog boxes without reading them.

If you are convinced that users really need to see the information for a while and a dialog box is the best solution, only then should you use the Don't show this <item> again option. If users may need to restore these dialog boxes, provide a Restore messages command in the program's Options dialog box.

Tip: When running your own program, don't change any of the Don't show this <item> again defaults. Doing so helps you evaluate your program's experience the same way your users will.

导航
工具箱