windows:Commands/menus/design-concepts
出自UXGuide.net
菜单设计理念
Menu Design Concepts
目录 |
为了有效地使用菜单,理解命令的不同呈现的特点是很有帮助的:
- 菜单栏。菜单栏最适用于将程序中所有可用的顶级命令进行分类。你的程序的新用户可能会查看菜单栏中的所有命令来回答类似下面的问题:
- 这个程序能做什么?
- 这个程序有些什么命令?
- 常用命令的快捷键是什么?
- 有效的菜单栏应当是易于理解、条理清楚且自说明性的。效率是需要的,但并非关键(往往也不可能)。将菜单栏视为主要用于学习和探索的工具,尤其是对于新用户。
- 工具栏。工具栏最适用于快速、方便地访问常用的立即命令。他们无需易于理解甚至不必是自说明性的——只要直接和高效。
- 命令按钮。命令按钮是简单、可视且直接的暴露少量主要命令的方式。但是,它们的伸缩性不好,因此命令较多时,你应当在主窗口内使用菜单。
- 快捷菜单。快捷菜单是简单、直接且上下文相关的。它的效率也很高,因为只会显示那些适用于当前上下文的命令与选项。由于它是在鼠标指针的当前位置上显示的,因此减少了为显示菜单而移动鼠标的需要。然而,它通常在屏幕上是不可见的。应当面向高级用户使用快捷菜单来提供一些冗余的上下文相关的命令和选项。
根据这些权衡因素,你的程序可能需要使用几种命令呈现方式的组合。例如,包含大量特性的应用程序往往使用菜单栏、工具栏及快捷菜单,而简单的程序通常只使用命令按钮和标准快捷菜单。
最重要的一件事:
选择与你的程序类型、窗口类型、命令用途及目标用户相匹配的命令呈现方式。
有效的菜单栏
虽然菜单栏是最传统的菜单类型,但他们并不适用于所有类型的程序或窗口。下面是有效使用菜单栏的一些考虑因素。
让简单的东西保持简单
菜单栏不应用在对话框中,且应当避免用于简单的程序中,如一些实用程序。这类窗口中的命令应当保持简单、直接、明了。菜单栏主要是用作学习和探索的工具,而简单窗口应当不需要学习或探索。对于对话框,应当使用命令按钮(包括菜单按钮和分割按钮)、命令链接和快捷菜单。
充分利用屏幕空间
虽然菜单栏能够充分利用屏幕空间,但它仍然过于复杂,如果命令的数量不太多或者不会被经常使用的话,你应当考虑另外的方式。例如,工具栏菜单对于已经拥有工具栏,只需要少量下拉菜单的程序来说,是一个更好的选择。
保持菜单稳定
鉴于学习和可发现性的需要,用户期望菜单栏是稳定的。也就是说,用户期望看到的菜单项与其上次使用时看到的一样。菜单项可以根据当前上下文启用或禁用,但菜单项或子菜单不应当被添加或删除。不过,你可以根据程序状态的显著变化来添加或删除整个菜单分类(例如正在加载一个文档)。
尽管如此,禁用了的菜单项还是可能让人费解,用户得去确定它为什么被禁用了。如果原因不那么明显,用户就得通过实验和推理来确定。在这种情况下,最好保持该项可用,然后提供一个有用的错误信息来明确地解释问题。
Menu bar organization
Menu bars organize menu items into a tree structure. However, there is a dilemma when using trees: Trees are intended to organize menu items and make them easy to find, yet it's difficult to make all menu items within a menu tree easily discoverable. Menu items that aren't well known or could belong in multiple menu categories are especially difficult to find. For example, suppose a menu has Debug and Window categories. Where should users look for a Debug window command?
Using the standard menu categories helps address this dilemma. For example, users know to look for an Exit command in the File menu because that is standard. If you know that users are having trouble finding non-standard menu items because they could belong in multiple categories, put a small number (one or two) of hard-to-find menu items in multiple categories. Anything more harms the overall menu bar usability.
菜单栏
菜单栏一般是由树形结构组成。然而,当我们使用树形菜单的时候仍然会产生一些实际问题:首先,树形菜单是为了帮助用户更容易的找到程序命令,但在设计菜单的时候,我们很难让所有的菜单项都集中一个菜单分类里面,一个菜单项可能不是用户所熟知的,也可能同时在多个菜单分类里面出现。For example, suppose a menu has Debug and Window categories. Where should users look for a Debug window command?
我们可以使用标准菜单分类来解决这个问题。例如,用户可以很轻松的在“文件”菜单分类里找到退出命令,因为这已经被用户所熟知。如果你在设计菜单栏的时候,发现已经有一些菜单项不属于任何菜单彩粉,就可以单独的把这些影响整个菜单可用性的菜单项放到多个菜单分类里面。
The standard menu organization makes common menu items predictable and easier to find. However, these categories were designed when most applications were used to create or view document files, thus the File, Edit, View, Tools, and Help menu categories. This standard organization has little value for other types of programs, such as Windows Explorer.
Don't feel obligated to use the standard menu organization if it isn't suitable for your program. Instead, consider organizing your menu items into more useful, natural categories based on your program's purpose and the way users think about their tasks and goals.
In this example, Windows Media® Player uses non-standard menus that reflect its primary tasks.
If you choose to use non-standard menu categories, you have the burden of designing good category names. These names should use a single, specific word and they should accurately describe their contents. While the category names don't have to be so general that they describe everything in the menu, they should be predictable enough so that users aren't surprised by what they find in the menu.
However, if your program is primarily used to create or view documents, most likely you should use the standard menu organization. Don't interpret the fact that many built-in Windows applications no longer use standard menus to mean that standard menus have been abandoned. They have not. Rather, it means that there are more appropriate solutions for programs that aren't focused on document creation.
标准化的菜单分类使我们更容易的找到需要的命令。然而在使用这些分类的,我们更多的是用在创建、查看文档上,如文件,编辑,查看,工具,帮助之类的菜单项。This standard organization has little value for other types of programs, such as
Windows Explorer.
当然,并不是一定要使用标准化菜单分类的。相反,自主的去考虑菜单项的分类是更好的方法,可以从软件的需求,方式,以及用户的使用角度去考虑。
如果你的程序决定不使用标准化菜单分类的话,那么就需要考虑设计一些更符合程序的菜单名称,这些菜单名称应该是独特的,可以准确描述他所包含的内容。While the category names don't have to be so general that they describe everything in the menu, they should be predictable enough so that users aren't surprised by what they find in the menu.
如果你的程序是创建或者查看文档的话,使用标准化菜单分类无疑是最好的选择。这里需要注意的是,你会发现,Windows有些内部程序(非文档创建类型)不使用标准化菜单分类,这是因为他们有更好的解决方案,不要因此在你的程序放弃使用标准化菜单分类。
Menu bars vs. toolbars
Many programs provide both a menu bar and a toolbar. There doesn't need to be an exact correspondence between menu bar commands and toolbar commands because the attributes of a good menu bar and a good toolbar differ.
A good menu bar is a comprehensive catalog of all the available top-level commands, whereas a good toolbar gives quick, convenient access to frequently used commands. A toolbar doesn't attempt to train users—just make them productive. Once users learn how to access a command on a toolbar, they rarely continue to access the command from the menu bar.
Focus on delivering the full benefit of each type of menu. Don't worry about consistency between the menu types.
For more information, see Toolbar Design Concepts.
许多程序都同时提供菜单栏和工具栏。但他们提供的用处却不尽相同,一个好的菜单栏和一个好的工具栏是具有不同特性的。
好的工具栏应该提供更多的高级命令,好的工具栏应该提供常用的命令。A toolbar doesn't attempt to train users—just make them productive 当用户学会通过工具栏找到命令,他很少再会去使用菜单栏去完成这一操作。
Focus on delivering the full benefit of each type of menu. Don't worry about consistency between the menu types.
更多信息请查看Toolbar Design Concepts
Shortcut menus, being contextual, differ from menu bars in the following ways:
- Shortcut menus show items that apply only to the current context, so, in general, they don't have disabled items. Menu bars are intended to be more of a complete catalog of functionality, so they need to be comprehensive and stable.
- Shortcut menus don't show shortcut keys (ironically) because they aren't intended to be a learning tool as menu bars are. Keep them simple and efficient.
- Shortcut menus have a specific order: most frequently used items first (primary commands), transfer commands next, and Properties last. This order is for efficiency and predictability. By contrast, menu bar menus are ordered by the relationships among the commands, as well as frequency of use.
Menu affordance
Menu bars lack affordance, which means their visual properties don't suggest how they are used. Rather, users understand menu bars through experience and identify them by their standard appearance and location.
The other menu patterns aren't as recognizable and don't have a standard location, so they use the drop-down arrow to indicate the presence of a pull-down menu. The need for this arrow might be a factor in your command presentation choices. If your program window is cluttered with menu arrows, consider using a menu bar.
Themed menus in Windows Vista® give you the opportunity to provide icons for menu items. Providing icons has the following benefits:
- Icons emphasize the most commonly used menu items.
- Distinct icons help users recognize commonly used menu items quickly.
- Well designed icons help communicate the meaning of their menu items.
Deciding to use menu icons doesn't mean that you must have icons for all your menu items. In fact, icons have better effect if they are reserved for only the most important menu items.
Use the standard menu icons whenever appropriate. Doing so ensures that the icons are easily recognizable and conform to the Aero-style icon guidelines.
Command icons are especially difficult to design because commands are actions (verbs), yet icons show objects (nouns). Consequently, most command icons are either standard symbols or images of objects that suggest the actions.
Accessibility
Menu items should be directly accessible using access keys and shortcuts. Doing so helps users who prefer the keyboard, including power users who want to work quickly.
Access keys and shortcut keys have several fundamental differences for menus:
Access keys:
- Are the underlined character in a menu name.
- Use the Alt key plus an alphanumeric key.
- Are primarily for accessibility.
- Are assigned to all menus.
- Are not intended to be memorized, so they are documented directly in the UI (by underlining the corresponding character).
- Aren't assigned consistently across menus (because they can't always be).
By contrast, shortcut keys:
- Use Ctrl and Function key sequences.
- Are primarily a shortcut for advanced users.
- Are assigned only to the most commonly used menu items.
- Are intended to be memorized and are documented only in menus, tooltips, and Help.
- Must be assigned consistently across programs (because they are memorized and not directly documented in the UI).
In this example, the menu has both access and shortcut keys.
Tip: Access key underlines are usually hidden by default and shown when the Alt key is pressed. To improve awareness of the access key assignments in your program, you can display them at all times. In Control Panel, go to the Ease of Access Center, and click Make the keyboard easier to use; then select the Underline keyboard shortcuts and access keys check box.