When designing menus, use the common menus (described on page 36) as a starting point. Your application might, however, need more menus if it has more items than the common menus can display. When adding menus beyond the common ones, start by adding a menu for the primary object types in the application window. This chapter refers to such menus as Object menus.
Object menus contain menu items for creating, deleting, and modifying objects of the type Object. Object refers to an object type within the window's top-level object type, referred to here as File. An Object menu differs from a renamed File menu. (For information on File and renaming the File menu, see page 37.)
Figure 32 shows examples of Object menus.
Figure 32 Example Object Menus
When including an Object menu in your application, place the New, Open, and Save items for that object type in its Object menu, not in the File menu. For example, an email application might define two Object menus labeled Mailbox and Message. The Mailbox menu would include items for creating and modifying mailboxes. The Message menu would include items for creating and modifying mail messages.
Avoid creating too many Object menus. Decide which objects should be prominent in your user interface and which ones are subordinate to other objects. Most subordinate objects should not have their own menu. If a menu item relates to a subordinate object, you can place that item in a menu associated with the superior object. For example, if a window contains a table, you can place table-related menu items (such as Delete Row) on the window's Edit menu.
For guidelines about the correct order of menus in the menu bar, see "Common Menus" on page 36.
When you include an Object menu, place the New, Open, and Save menu items for that object type in that Object menu.
Use specific labels for your Object menus. Do not use generic Object menus labeled either "Object" or "Selected."
Object Menus and the Action Menu
If your application has no maximum number of top-level object types, you cannot create an Object menu for each top-level object type. Consider including an Action menu instead of an Object menu.
An Action menu is a menu whose title is "Action" and whose contents vary depending on the application's context and the current selection. Also consider including an Action menu if you expect your application's top-level object type to change.
For example, an application consisting of two tools could load one set of menu items in its Action menu when one tool was in current use, but load another set of menu items when the other tool was in use. Each set of menu items would be specific to the current tool.
In rare situations you might need Object menus as well as an Action menuObject menus for a few top-level objects used widely in your application and an Action menu for other object-based menu items.
Provide an Action menu under either of the following conditions:
Your application has no maximum number of top-level object types.
The top-level object types can vary widely.
When providing an Action menu, place it directly to the left of the View menu.
If you provide an Action menu, make the contents of the Action menu dependent on your application's context and current selection.
Beyond Object Menus and the Action Menu
After you evaluate the common menus and, optionally, add Object menus or an Action menu, you might still need more menus. Typically, the titles of such additional menus are verbsfor example, "Insert," "Compose," or "Debug." The items in these menus should relate to a task that users perform frequently.
If you application has additional menus, place them directly to the right of the Object menusif there are anyand directly to the left of the Help menu.