If an object supports only one verb, it appears as <Verb-0> <Descriptive-Class-Name> Object on the Edit menu. If an object supports multiple verbs, they appear within a cascading menu; selecting <Descriptive-Class-Name> Object from the Edit menu displays a submenu for <Verb-0>, <Verb-1>, and so on. Scripts, videos, and voice notes are examples of objects that may support multiple verbs such as play, edit, and rewind. When such an object plays, if possible, it should provide a way for the user to interrupt playing and start editing. For example, a voice note could display a control panel with buttons for stop and rewind.
Client applications should change the commands dynamically in the menus to reflect object class-specific verb names retrieved from the registration database. The menus must access the verbs from the database; no fixed commands should be used. These verbs should be registered as mixed-case strings and follow the general style of menu commands described in The Windows Interface: An Application Design Guide which is part of the Microsoft Windows Software Development Kit for Microsoft Windows, version 3.1. Client applications should assign each registered verb an accelerator key (underlined letter) for keyboard access. Also note that each verb should be a single word to ensure that the status bar messages and menus in the client application (described later) will read correctly.
If a selection contains multiple objects of the same class or of different classes, the object verbs should not be available to the user. The object verbs should appear only when there is exactly one object in the current selection; no attempt should be made to join verbs of multiple objects in a selection.
Note Verbs are not displayed even if the selection contains objects of the same class, because applying a verb concurrently to the whole set would have ambiguous results.
The most frequent operation for an object should be registered as its primary verb (<Verb-0>). Mouse users can invoke the primary verb through double-clicking; keyboard users can invoke the primary verb by selecting the object and pressing ENTER. Selection+ENTER need not be implemented in a single- or multiple-edit line because, by default, this should replace the selection with a carriage return and a line feed. In this case, a user can activate the object by using the <Class> Object command.
Figure 19 shows an example of a <Descriptive-Class-Name> Object submenu that leads to dynamic, object-specific menu items. The primary verb is accessed by the first (topmost) item, followed by subsequent verbs in order.
Figure 19. <Descriptive-Class-Name> Object command with object-specific verbs
For packages (which are always embedded, never linked), the primary verb is the primary verb of the object inside the package; the primary menu item name is Activate Contents. This means that the mouse user can invoke the primary verb of the object inside the package by double-clicking on the package icon.
The secondary verb for a package is Edit Package. Selecting this verb invokes the Packager. Some objects (for example, text objects) have no secondary verb. For such objects, the <Descriptive-Class-Name> Object command does not lead to a cascading menu; the command simply executes the primary verb. The verb is prepended to the menu item: <Verb> <Descriptive-Class-Name> Object. For example, if the object is a Word document, the menu item is Edit Word Document Object.