The checklist describes keys using a model keyboard mechanism. Wherever keyboard input is specified, the keys are indicated by the engravings that they have on the OSF/Motif model keyboard. Mouse buttons are described using a virtual button mechanism to better describe behavior independent from the number of buttons on the mouse. For more information on the model keyboard and virtual button mechanisms, consult the Preface and Section 2.2.1, "Pointing Devices" of the OSF/Motif Style Guide, Revision 1.2.
By default, this checklist assumes that your application is being designed for a left-to-right language environment in an English-language locale. Some sections of the checklist may require appropriate changes for other locales.
As you compare the behavior of your application to the requirements in the checklist, we recommend that you follow along in the OSF/Motif Style Guide, Revision 1.2. Each item in this checklist contains the corresponding section number from the OSF/Motif checklist, if the item came from that list. Each item in the checklist is also followed by a brief explanation or justification. If you do not understand a particular item, refer to the appropriate section in the OSF/Motif guide and check the glossary for any terms that are unclear.
The headings used in this checklist correspond to the headings in the OSF/Motif Style Guide, Revision 1.2 and the checklist items are labeled with the numbers used in that book. The Common Desktop Environment-specific additions are labeled with alphabetic identifiers.
Each checklist item also has a priority label: Required, Recommended, or Optional. The Required items must be followed for an application to be Common Desktop Environment compliant. Recommended items should be followed where feasible. Optional items are alternative implementations which the interface designer can choose.
Required [ ]yes [ ]n/a [ ]no
1-1:
The model keyboard does not correspond directly to any existing keyboard; rather, it assumes a keyboard with an ideal set of keys. However, to ensure consistency across applications, the nonoptional keys or substitutes for them must always be available.
Required [ ]yes [ ]n/a [ ]no
2-1:
The keyboard focus determines which component on the screen receives keyboard events. This rule prevents confusion about which window and component have the focus.
Required [ ]yes [ ]n/a [ ]no
2-2:
An explicit focus policy requires the user to explicitly select which window or component receives the keyboard focus. Generally, the user gives the focus to a window or component by pressing BSelect over it. However, this policy must not allow the user to give focus to a component that is not traversable or does not accept input.
Required [ ]yes [ ]n/a [ ]no
2-3:
The user needs to know the location of the keyboard focus to be able to control an application.
Required [ ]yes [ ]n/a [ ]no
2-4:
Some users may not have access to a pointing device. These users need to be able to access the full functionality of the application from the keyboard. Additionally, advanced users will be able to use the keyboard to perform some tasks more quickly than with a pointing device.
Required [ ]yes [ ]n/a [ ]no
2-5:
Required [ ]yes [ ]n/a [ ]no
2-6:
The pointer position is intended only as input to applications, not as an output mechanism. An application warps the pointer when it changes the pointer's position. This practice is confusing to users and reduces their sense of control over an application. Warping the pointer can also cause problems for users of absolute location pointing devices.
Required [ ]yes [ ]n/a [ ]no
a:
Required [ ]yes [ ]n/a [ ]noHelp = F1
Required [ ]yes [ ]n/a [ ]noProperties = Control+I
Required [ ]yes [ ]n/a [ ]noUndo = Control+Z
Optional [ ]yes [ ]n/a [ ]noUndo = Alt+Backspace
Required [ ]yes [ ]n/a [ ]noCut = Control+X
Optional [ ]yes [ ]n/a [ ]noCut = Shift+Delete
Required [ ]yes [ ]n/a [ ]noCopy = Control+C
Optional [ ]yes [ ]n/a [ ]noCopy = Control+Insert
Required [ ]yes [ ]n/a [ ]noPaste = Control+V
Optional [ ]yes [ ]n/a [ ]noPaste = Shift+Insert
Optional [ ]yes [ ]n/a [ ]noOpen = Control+O
Optional [ ]yes [ ]n/a [ ]noStop = Control+S
Optional [ ]yes [ ]n/a [ ]noAgain = Control+A
Optional [ ]yes [ ]n/a [ ]noPrint = Control+P
Optional [ ]yes [ ]n/a [ ]noSave = Control+S
Optional [ ]yes [ ]n/a [ ]noNew = Control+N
Required [ ]yes [ ]n/a [ ]no
3-1:
BSelect provides a convenient mechanism for using the mouse to move focus when the keyboard focus policy is explicit.
Required [ ]yes [ ]n/a [ ]no
3-2:
A spring-loaded menu is one that appears when the user presses a mouse button, remains on the screen for as long as the button is pressed, and disappears when the user releases the button. BSelect, mouse button 1, provides a means of activating spring-loaded menus that is consistent across applications.
Required [ ]yes [ ]n/a [ ]no
3-3:
The availability of a pop-up menu can depend on the location of the pointer within an element, the contents of an element, or the selection state of an element. BMenu, mouse button 3, provides a consistent means of activating a spring-loaded pop-up menu.
Required [ ]yes [ ]n/a [ ]no
3-4:
This specification ensures that the pop-up menu for an internal element is always accessible.
Required [ ]yes [ ]n/a [ ]no
3-5:
The specified operation of BMenu is for manipulating pop-up menus.
Required [ ]yes [ ]n/a [ ]no
3-6:
Once a pop-up menu is posted, the user can select an element from it using the standard selection mechanism, BSelect.
Required [ ]yes [ ]n/a [ ]no
3-7:
A posted menu remains visible until it is explicitly unposted. Placing the location cursor on the default entry allows the user to select the default operation easily. When there is no default entry, placing the location cursor on the first entry yields uniform behavior across applications.
Required [ ]yes [ ]n/a [ ]no
3-8:
The concept of a spring-loaded menu system requires that the menu disappear when the mouse button is released.
Required [ ]yes [ ]n/a [ ]no
3-9:
Once a spring-loaded menu system has appeared on the screen, the user needs to be able to maneuver the location cursor through the menu system using the mouse.
Required [ ]yes [ ]n/a [ ]no
3-10:
The user needs to be able to use the mouse to access all of the associated menus of a menu system. This feature allows the user to move quickly to any menu in a menu system.
Required [ ]yes [ ]n/a [ ]no
3-11:
This feature of a spring-loaded menu system allows the user to browse quickly through all of the menus attached to a menu bar.
Required [ ]yes [ ]n/a [ ]no
3-12:
Releasing the mouse button that activated a spring-loaded menu provides a means of activating a menu element that is consistent across applications.
Required [ ]yes [ ]n/a [ ]no
3-13:
BMenu Click provides a means of posting a pop-up menu that is consistent across applications.
Required [ ]yes [ ]n/a [ ]no
3-14:
This feature of a posted pull-down or option menu allows the user to switch easily between using a posted menu and a spring-loaded menu.
Required [ ]yes [ ]n/a [ ]no
3-15:
When a button press unposts a menu, the press can be passed to the underlying component. Whether or not it is passed to the underlying component, the press can have additional effects, such as raising and giving focus to the underlying window. If the press is not passed to the underlying component, events up to and including the release must not be passed to that component.
Required [ ]yes [ ]n/a [ ]no
3-16:
This feature of a posted pop-up menu allows the user to switch easily between using a posted menu and a spring-loaded menu.
Optional [ ]yes [ ]n/a [ ]no
b:
Required [ ]yes [ ]n/a [ ]no
c:
Required [ ]yes [ ]n/a [ ]no
d:
Required [ ]yes [ ]n/a [ ]no
3-17:
In a text component, the text cursor serves as the location cursor and, therefore, must indicate whether the component has keyboard focus.
Required [ ]yes [ ]n/a [ ]no
3-18:
To ensure predictability, it is important that the text cursor not change position when a text component loses and then regains the keyboard focus.
Required [ ]yes [ ]n/a [ ]no
3-19:
This rule reduces possible confusion about the significance of filling in a small component.
Required [ ]yes [ ]n/a [ ]no
3-20:
For visual consistency, the sizes and positions of components should not change when keyboard focus moves from one component to another.
Required [ ]yes [ ]n/a [ ]no
3-21:
These keys provide a consistent means of navigating among fields in a window.
Required [ ]yes [ ]n/a [ ]no
3-22:
Required [ ]yes [ ]n/a [ ]no
3-23:
These rules result in the uniform operation of Shift+Tab (if not used for internal navigation) and Control+Shift+Tab across applications.
Required [ ]yes [ ]n/a [ ]no
3-24:
Required [ ]yes [ ]n/a [ ]no
3-25:
This feature of field navigation provides the user with a convenient way to move through all of the fields in a window.
Required [ ]yes [ ]n/a [ ]no
3-26:
Required [ ]yes [ ]n/a [ ]no
3-27:
Required [ ]yes [ ]n/a [ ]no
3-28:
This rule permits convenient navigation to the left or right edge of the data or the left or right element in a control.
Required [ ]yes [ ]n/a [ ]no
3-29:
This rule permits convenient navigation to the left or right edge of the data or the left or right element in a control.
Required [ ]yes [ ]n/a [ ]no
3-30:
Required [ ]yes [ ]n/a [ ]no
3-31:
Optional [ ]yes [ ]n/a [ ]no
e:
Required [ ]yes [ ]n/a [ ]no
f:
The arrow keys also move the selected focus per the OSF/Motif Style Guide, Revision 1.2.
Required [ ]yes [ ]n/a [ ]no
g:
Optional [ ]yes [ ]n/a [ ]no
h:
Required [ ]yes [ ]n/a [ ]no
3-32:
Menus must always be traversable, even when the keyboard focus policy is generally implicit.
Required [ ]yes [ ]n/a [ ]no
3-33:
F10 provides a consistent means of traversing to the menu bar using the keyboard.
Required [ ]yes [ ]n/a [ ]no
3-34:
The Menu key provides a uniform way of activating a pop-up menu from the keyboard.
Required [ ]yes [ ]n/a [ ]no
3-35:
These keys provide a means of posting an option menu from the keyboard that is consistent across applications.
Required [ ]yes [ ]n/a [ ]no
3-36:
The Down Arrow, Left Arrow, Right Arrow, and Up Arrow directional keys provide a consistent means of navigating among items in a menu system.
Required [ ]yes [ ]n/a [ ]no
3-37:
This specification provides consistency between menu traversal and component navigation within a field.
Required [ ]yes [ ]n/a [ ]no
3-38:
Cascading buttons in a two-dimensional menu would restrict the user's ability to navigate to all of the elements of the menu using the keyboard.
Required [ ]yes [ ]n/a [ ]no
3-39:
Required [ ]yes [ ]n/a [ ]no
3-40:
If the component is in a vertical or two-dimensional menu, this action traverses up to the previous traversable component, wrapping within the menu if necessary, and proceeding in the order opposite to that of the Down Arrow key.
This rule results in consistent operation of the directional keys in a menu or menu bar system.
Required [ ]yes [ ]n/a [ ]no
3-41:
Required [ ]yes [ ]n/a [ ]no
3-42:
Required [ ]yes [ ]n/a [ ]no
3-43:
Traversal of tear-off buttons needs to be consistent with traversal of other menu items.
Required [ ]yes [ ]n/a [ ]no
3-44:
Returning the location cursor to the component that had it previously allows the user to resume a task without disruption.
Required [ ]yes [ ]n/a [ ]no
3-45:
A user needs to be able to view and access the entire contents of a scrollable component.
Required [ ]yes [ ]n/a [ ]no
3-46:
The overlap between one page and the next yields visual continuity for the user.
Required [ ]yes [ ]n/a [ ]no
3-47:
The user needs to be able to see the results of moving the location cursor or operating on the contents of the scrollable component.
Required [ ]yes [ ]n/a [ ]no
3-48:
The Cancel key provides a convenient way for the user to cancel a scrolling operation.
Required [ ]yes [ ]n/a [ ]no
4-1:
Each collection has one or more appropriate selection models. The model limits the kinds of choices the user can make in the collection. Some collections enforce a selection model, while others allow the user or application to change it.
Required [ ]yes [ ]n/a [ ]no
4-2:
Single selection is the simplest selection model, used to select a single element. BSelect, the first mouse button, provides a consistent means of selecting an object within a group using the mouse.
Required [ ]yes [ ]n/a [ ]no
4-3:
Browse selection is used to select a single element. It also allows the user to browse through the collection by dragging BSelect. See "Mouse-Based Multiple Selection".
Required [ ]yes [ ]n/a [ ]no
i:
Required [ ]yes [ ]n/a [ ]no
j:
Required [ ]yes [ ]n/a [ ]no
k:
Range selection allows the user to select multiple contiguous elements of a collection by pressing and dragging BSelect.
Required [ ]yes [ ]n/a [ ]no
l:
Required [ ]yes [ ]n/a [ ]no
4-6:
In text-like collections, elements are ordered linearly, and a text pointer is always considered to be between elements at a point near the actual pointer position.
Required [ ]yes [ ]n/a [ ]no
4-7:
A marquee, or highlighted rectangle, is often used to indicate the range of a selection in graphics-like and list-like collections.
Required [ ]yes [ ]n/a [ ]no
m:
Required [ ]yes [ ]n/a [ ]no
n:
Optional [ ]yes [ ]n/a [ ]noReselect
Optional [ ]yes [ ]n/a [ ]noEnlarge Only
Optional [ ]yes [ ]n/a [ ]noBalance Beam
Required [ ]yes [ ]n/a [ ]no
4-9:
Discontiguous selection is an extension of range selection that allows the user to select multiple discontiguous ranges of elements.
Required [ ]yes [ ]n/a [ ]no
4-10:
In discontiguous selection, Control+BSelect Click provides a convenient means of moving the anchor and toggling the selection state of the element under the pointer.
Required [ ]yes [ ]n/a [ ]no
4-11:
Required [ ]yes [ ]n/a [ ]no
4-12:
Shift+BSelect and Control+Shift+BSelect provide a convenient means of extending the range of toggled elements.
Required [ ]yes [ ]n/a [ ]no
o:
On a three-button mouse, mouse button 2 is typically used for the BTransfer function. However, in a Common Desktop Environment environment, the user may change an environment setting indicating that mouse button 2 should be used for the BAdjust function instead. BAdjust can be used to extend the selection set in the same manner as Shift+BSelect.
Required [ ]yes [ ]n/a [ ]no
4-13:
Required [ ]yes [ ]n/a [ ]no
4-14:
Shift+F8 provides a convenient means of switching between normal mode and add mode.
Required [ ]yes [ ]n/a [ ]no
4-15:
Single selection supports only add mode. Pressing the Select key or the Spacebar is similar to clicking BSelect.
Required [ ]yes [ ]n/a [ ]no
4-16:
Browse selection supports only normal mode. A navigation operation is similar to dragging BSelect.
Required [ ]yes [ ]n/a [ ]no
4-17:
Multiple selection supports only add mode. Pressing the Select key or the Spacebar is similar to clicking BSelect.
Required [ ]yes [ ]n/a [ ]no
4-18:
Text-like collections can use a different model in which the navigation keys leave the anchor at its current location, except that, if the current selection is not empty, it is deselected and the anchor is moved to the location of the cursor prior to navigation.
Range selection supports normal mode, and, if the collection also supports add mode, normal mode is the default.
Required [ ]yes [ ]n/a [ ]no
4-19:
In range selection, pressing the Select key or Spacebar is similar to clicking BSelect, and pressing Shift+Select or Shift+Spacebar extends the range as with Shift+BSelect.
Required [ ]yes [ ]n/a [ ]no
4-20:
In range selection, shifted navigation extends the selection in a similar manner to dragging Shift+BSelect.
Required [ ]yes [ ]n/a [ ]no
4-21:
Shifted navigation in add mode is similar to shifted navigation in normal mode, except that when the selection is empty the anchor does not move to the cursor prior to navigation.
Required [ ]yes [ ]n/a [ ]no
4-22:
Normal mode does not permit multiple discontiguous selections.
Required [ ]yes [ ]n/a [ ]no
4-23:
Add mode permits use of the keyboard to make multiple discontiguous selections.
Required [ ]yes [ ]n/a [ ]no
4-24:
The Cancel key allows the user to cancel an incomplete selection operation quickly and consistently.
Required [ ]yes [ ]n/a [ ]no
4-25:
Autoscrolling provides a convenient means of extending a selection to elements outside the viewport of a scrollable collection.
Required [ ]yes [ ]n/a [ ]no
4-26:
Control+/ provides the user with a convenient means of selecting all of the objects in a collection.
Required [ ]yes [ ]n/a [ ]no
4-27:
Control+\ allows the user to deselect all of the selected objects quickly and uniformly.
Required [ ]yes [ ]n/a [ ]no
4-28:
Mnemonics within a collection of selectable elements provide an additional selection method.
Required [ ]yes [ ]n/a [ ]no
4-29:
The destination component is used to identify the component on which certain operations, primarily data transfer operations, act. There is only one destination component at a time.
Required [ ]yes [ ]n/a [ ]no
4-30:
A selection operation acts on the component that has focus, if that component supports selections.
Required [ ]yes [ ]n/a [ ]no
4-31:
An operation that does not act on a selection acts on the component that has focus, if that component supports the operation.
Required [ ]yes [ ]n/a [ ]no
4-32:
Pending delete controls the conditions under which the selection is deleted. It is enabled by default.
Required [ ]yes [ ]n/a [ ]no
4-33:
In add mode, a transfer operation that is disjoint from the selection does not affect the selection.
Required [ ]yes [ ]n/a [ ]no
4-34:
Delete provides a consistent means of deleting the selection.
Required [ ]yes [ ]n/a [ ]no
4-35:
Required [ ]yes [ ]n/a [ ]no
4-36:
Three transfer operations are generally available: copy, move, and link. The user requests one of these operations by pressing the buttons or keys appropriate for the type of transfer. In general, for mouse-based operations, the modifier Control forces a copy, Shift forces a move, and Control+Shift forces a link. However, any requested transfer operation must fail if that operation is not available.
Required [ ]yes [ ]n/a [ ]no
4-37:
Required [ ]yes [ ]n/a [ ]no
p:
Required [ ]yes [ ]n/a [ ]no
q:
On a three-button mouse, button 2 is typically used for the BTransfer (or BSelect) function. However, in a Common Desktop Environment environment, the user can change an environment setting indicating that mouse button 2 should be used for the BAdjust function instead. When this is the case, BAdjust click should not result in the transfer of any data.
Required [ ]yes [ ]n/a [ ]no
r:
Required [ ]yes [ ]n/a [ ]no
4-38:
Clipboard selection actions need to be available from the keyboard.
Required [ ]yes [ ]n/a [ ]no
4-39:
The Cut key (or Shift+Delete) and the Cut entry on the Edit menu offer a consistent means of cutting the selection to the clipboard from the keyboard.
Required [ ]yes [ ]n/a [ ]no
4-40:
The Copy key or (Control+Insert) and the Copy entry on the Edit menu offer a consistent means of copying the selection to the clipboard from the keyboard.
Required [ ]yes [ ]n/a [ ]no
4-41:
The Paste key (or Shift+Insert) offers a consistent way of pasting the contents of the clipboard from the keyboard.
Required [ ]yes [ ]n/a [ ]no
4-42:
Popping up a pop-up menu over a selection indicates that a Paste or Paste Link operation should replace the selection.
Required [ ]yes [ ]n/a [ ]no
4-43:
Pending delete determines whether the selection is deleted when the insertion position is not disjoint from the selection and Paste or Paste Link is invoked from the Edit menu or by a keyboard operation.
Required [ ]yes [ ]n/a [ ]no
4-44:
These operations provide a convenient way for the user to force a copy operation.
Required [ ]yes [ ]n/a [ ]no
4-45:
These operations provide a convenient way for the user to force a move operation.
Required [ ]yes [ ]n/a [ ]no
4-46:
Control+Shift+BTransfer provides a convenient way for the user to force a link operation.
Required [ ]yes [ ]n/a [ ]no
4-47:
This rule provides the expected treatment of the selection in a move, copy, and link operation.
Required [ ]yes [ ]n/a [ ]no
4-48:
Quick transfer is used to make a temporary selection and then immediately move, copy, or link that selection to the insertion position of the destination component. In text, quick transfer provides a convenient way to move, copy, or link text without disturbing the primary selection.
Required [ ]yes [ ]n/a [ ]no
4-49:
These operations provide a convenient way to perform a quick copy.
Required [ ]yes [ ]n/a [ ]no
4-50:
This operation provides a convenient way to perform a quick cut.
Required [ ]yes [ ]n/a [ ]no
4-51:
This operation provides a convenient way to perform a quick link.
Required [ ]yes [ ]n/a [ ]no
4-52:
Quick transfer is a secondary selection mechanism, so it cannot disrupt the primary selection. When the destination of the transfer is in the primary selection, quick transfer replaces the primary selection with the secondary selection.
Required [ ]yes [ ]n/a [ ]no
4-53:
This rule provides consistency between primary selection and quick transfer operations.
Required [ ]yes [ ]n/a [ ]no
4-54:
Autoscrolling provides a convenient means of extending a temporary selection to elements outside the viewport of a scrollable collection.
Required [ ]yes [ ]n/a [ ]no
4-55:
This mechanism offers a convenient way for the user to force a move operation.
Required [ ]yes [ ]n/a [ ]no
4-56:
This mechanism offers a convenient way for the user to force a copy operation.
Required [ ]yes [ ]n/a [ ]no
4-57:
This mechanism offers a convenient way for the user to force a link operation.
Required [ ]yes [ ]n/a [ ]no
4-58:
In other words, when selected elements are moved with a drag operation, they should stay selected after the move. This mechanism offers a convenient way to move the selection within a component.
Required [ ]yes [ ]n/a [ ]no
4-59:
To be consistent, drag-and-drop actions need to operate on the entire selection.
Required [ ]yes [ ]n/a [ ]no
4-60:
To be consistent, drag-and-drop actions need to operate on the entire selection.
Required [ ]yes [ ]n/a [ ]no
4-61:
Unselected elements can be dragged without affecting the selection.
Required [ ]yes [ ]n/a [ ]no
4-62:
This guideline ensures the consistency of drag operations.
Required [ ]yes [ ]n/a [ ]no
4-63:
A drag icon provides visual feedback that a drag operation is in progress.
Required [ ]yes [ ]n/a [ ]no
4-64:
A source indicator gives a visual representation of the elements being dragged.
Required [ ]yes [ ]n/a [ ]no
4-65:
The Cancel key provides a consistent way for the user to cancel a drag operation.
Required [ ]yes [ ]n/a [ ]no
4-66:
Releasing BTransfer offers a consistent means of ending a drag operation.
Required [ ]yes [ ]n/a [ ]no
4-67:
This rule provides consistency in the treatment of mouse-based transfer operations.
Required [ ]yes [ ]n/a [ ]no
4-68:
A transfer icon can be used to represent the type of data being transferred during a drop operation. A successful drop operation results in the transfer of data.
Required [ ]yes [ ]n/a [ ]no
4-69:
A failed drop operation does not result in the transfer of data.
Recommended [ ]yes [ ]n/a [ ]no
s:
Although, typically, an unmodified drag results in a move operation, depending on the location of the source object and the target drop zone, the drag may in fact result in a copy or link operation. For example, dragging an icon representing an attachment to a mail message typically results in a copy of the attachment being created as opposed to the original being removed from the mail message. Any feedback presented should incorporate use of a drag icon that portrays the source object being manipulated.
Recommended [ ]yes [ ]n/a [ ]no
t:
The feedback presented should incorporate use of a drag icon that portrays the source object being copied.
Recommended [ ]yes [ ]n/a [ ]no
u:
The feedback presented should incorporate use of a drag icon that portrays the source object being linked.
Recommended [ ]yes [ ]n/a [ ]no
v:
Feedback provided during the drag operation should ensure that the user feels confident that the desired set of objects is being dragged. The drag icon used for multiobject drag operations should integrate the feedback used to indicate whether the operation is a move, copy, or link.
Optional [ ]yes [ ]n/a [ ]no
w:
The user should be able to drag and drop files into application data panes. The result should be the inclusion of some element of the file, or the display of an error message indicating that the file selected cannot be incorporated into the application's data. Drag transfers that are accepted can result in a number of different responses from your application: 1) the icon image for the file might be inserted at the drop point; 2) the application might perform some activity using the data contained within the file as its input; 3) the data contained within the file might be inserted at the drop point; or 4) the name of the file might be inserted at the drop point.
Required [ ]yes [ ]n/a [ ]no
5-1:
BSelect, the first mouse button, provides a consistent means of activating a button using the mouse.
Required [ ]yes [ ]n/a [ ]no
5-2:
The Select key and Spacebar provide a uniform way of selecting a button. Selecting a button is equivalent to activating the button.
Required [ ]yes [ ]n/a [ ]no
5-3:
The Select, Spacebar, Enter, and Return keys offer a consistent means of activating a menu entry using the keyboard.
Required [ ]yes [ ]n/a [ ]no
5-4:
The visual state of a button offers a cue to the user about whether the button will be activated when the mouse button is released.
Required [ ]yes [ ]n/a [ ]no
5-5:
This rule provides for consistent integration of activation and selection in a collection where elements can be both selected and activated.
Required [ ]yes [ ]n/a [ ]no
x:
Required [ ]yes [ ]n/a [ ]no
5-6:
An accelerator is a key or key combination that invokes the action of some component regardless of the position of the location cursor when the accelerator is pressed. So that the user knows that there is an accelerator associated with a component, the accelerator needs to be displayed.
Required [ ]yes [ ]n/a [ ]no
5-7:
An accelerator must be activatable from the window or component associated with the accelerator.
Required [ ]yes [ ]n/a [ ]no
5-8:
A mnemonic is a single character that can be associated with any component that contains a text label. Mnemonics provide a fast way of selecting a component from the keyboard. To let the user know that there is a mnemonic associated with a selection, the mnemonic is underlined in the label of the selection by the toolkit. For a mnemonic to be underlined, the label for a selection needs to contain the mnemonic character. If the label does not contain the mnemonic, putting the mnemonic in parentheses following the label provides visual consistency.
Required [ ]yes [ ]n/a [ ]no
y:
Required [ ]yes [ ]n/a [ ]no
5-9:
The user must be able to activate a mnemonic by pressing either the lowercase or the uppercase variant of the mnemonic key.
Required [ ]yes [ ]n/a [ ]no
5-10:
A mnemonic is generally activatable when the location cursor is within the component that contains the mnemonic. Pressing Alt and the mnemonic provides a way to activate a visible mnemonic when the location cursor is within the window that contains the mnemonic.
Required [ ]yes [ ]n/a [ ]no
5-11:
A tear-off button is like a push button with the special interaction of tearing off the menu from its cascading button. Tear-off buttons use the same basic activation as other buttons.
Required [ ]yes [ ]n/a [ ]no
5-12:
Required [ ]yes [ ]n/a [ ]no
5-13:
The Help key offers the user a consistent mechanism for invoking context-sensitive help.
Required [ ]yes [ ]n/a [ ]no
z:
The user should never get a "help not available" message.
Required [ ]yes [ ]n/a [ ]no
5-14:
Placing emphasis on the default push button in a dialog box provides the user with a visual cue about the expected reply to the dialog box.
Required [ ]yes [ ]n/a [ ]no
5-15:
These rules ensure that the means of invoking a default action are consistent across applications.
Required [ ]yes [ ]n/a [ ]no
5-16:
The Cancel key provides a uniform means of canceling dialog box from the keyboard.
Required [ ]yes [ ]n/a [ ]no
5-17:
Expert activation, using mouse double-clicking on buttons, provides a convenient way for experienced users to perform certain tasks quickly. However, new users and keyboard-only users need to be able to perform the same tasks.
Required [ ]yes [ ]n/a [ ]no
5-18:
This rule minimizes possible confusion between default and expert activation.
Required [ ]yes [ ]n/a [ ]no
5-19:
A user needs to be able to select a component, even if it has an expert action associated with it.
Required [ ]yes [ ]n/a [ ]no
5-20:
Activation preview presents the user with additional information that describes the effect of activating a button. This information cannot interfere with the normal operation of the application.
Required [ ]yes [ ]n/a [ ]no
5-21:
Required [ ]yes [ ]n/a [ ]no
aa:
Required [ ]yes [ ]n/a [ ]no
ab:
Required [ ]yes [ ]n/a [ ]no
ac:
Required [ ]yes [ ]n/a [ ]no
ad:
Table 10-1 Common Desktop Environment Window Decoration Conventions
1 Decorations for resize and maximize should be provided for primary windows if appropriate.
2 The Front Panel has custom visuals for the window decorations.
3 Secondary windows should be designed such that resizing and maximization are not necessary or appropriate. If a secondary window must be resizable and maximizable, the associated decorations should be displayed.
Required [ ]yes [ ]n/a [ ]no
ae:
Optional [ ]yes [ ]n/a [ ]no
af:
Optional [ ]yes [ ]n/a [ ]no
ag:
Optional [ ]yes [ ]n/a [ ]no
ah:
Optional [ ]yes [ ]n/a [ ]no
ai:
Optional [ ]yes [ ]n/a [ ]no
aj:
Recommended [ ]yes [ ]n/a [ ]no
ak:
Recommended [ ]yes [ ]n/a [ ]no
al:
Some suggestions are given in section 6.2.4.3, "Determining Dialog Box Location and Size," of the OSF/Motif Style Guide, Revision 1.2. Additional or modified recommendations include:
Optional [ ]yes [ ]n/a [ ]no
am:
Recommended [ ]yes [ ]n/a [ ]no
an:
Recommended [ ]yes [ ]n/a [ ]no
ao:
Optional [ ]yes [ ]n/a [ ]no
ap:
Required [ ]yes [ ]n/a [ ]no
aq:
Table 10-2 Common Desktop Environment Window Management Conventions
1 Resize and maximize functionality should be provided for primary windows if appropriate.
2 Secondary windows can contain the Maximum and Resize window manager functions, if appropriate.
Required [ ]yes [ ]n/a [ ]no
ar:
Required [ ]yes [ ]n/a [ ]no
as:
Recommended [ ]yes [ ]n/a [ ]no
at:
Required [ ]yes [ ]n/a [ ]no
au:
Recommended [ ]yes [ ]n/a [ ]no
av:
Recommended [ ]yes [ ]n/a [ ]no
aw:
Required [ ]yes [ ]n/a [ ]no
ax:
Required [ ]yes [ ]n/a [ ]no
ay:
Optional [ ]yes [ ]n/a [ ]no
az:
Optional [ ]yes [ ]n/a [ ]no
ba:
Optional [ ]yes [ ]n/a [ ]no
bb:
Optional [ ]yes [ ]n/a [ ]no
bc:
Required [ ]yes [ ]n/a [ ]no
6-1:
Required [ ]yes [ ]n/a [ ]no
bd:
Each application potentially must share the display with other applications. The default window size should not take up all the available screen space.
Required [ ]yes [ ]n/a [ ]no
be:
Resize corners should be included in any main window that incorporates a scrolling data pane or list. Any changes to the overall size of the window should result in a corresponding increase or decrease in the size of the scrollable portion. Additionally, your application might reorganize elements within the window based on the increased or decreased amount of space (for example, it might reorganize a row of buttons into two rows).
Required [ ]yes [ ]n/a [ ]no
6-2:
For example, a text editor might allow the user to edit multiple documents, each in its own main window. Each window is then treated as a separate application and can be closed or iconified when it is not being used.
Required [ ]yes [ ]n/a [ ]no
6-3:
For example, a debugger might provide separate main windows for editing source code, examining data values, and viewing results. Each window can be iconified when it is not being used, but it is up to the application to decide whether each window closes separately or whether closing one window closes the entire application.
Optional [ ]yes [ ]n/a [ ]no
bf:
Note that this does not have to be the actual name of the executable invoked by the user.
Carefully consider how the title you choose for your primary window works when it is used in icons and pop-up windows. If the name of the pop-up window is too long, you may remove the application title; however, without the title, users might have difficulty telling which pop-up window belongs with the originating primary window.
Optional [ ]yes [ ]n/a [ ]no
bg:
Optional [ ]yes [ ]n/a [ ]no
bh:
Optional [ ]yes [ ]n/a [ ]no
bi:
Pop-up windows should always indicate which primary window they are associated with (which primary window invoked that pop-up).
Optional [ ]yes [ ]n/a [ ]no
bj:
The hyphen is used to denote specific instances of a window or data. The colon serves to delimit general categories or commands. For example, a file manager might have the following title for a Properties dialog box:
File Manager : Properties - myfile
Recommended [ ]yes [ ]n/a [ ]no
bk:
Optional [ ]yes [ ]n/a [ ]no
bl:
Optional [ ]yes [ ]n/a [ ]no
bm:
Required [ ]yes [ ]n/a [ ]no
6-4:
Required [ ]yes [ ]n/a [ ]no
6-5:
When other buttons are included as topics in a menu bar, they inhibit menu browsing.
Recommended [ ]yes [ ]n/a [ ]no
bn:
Standard menu bar entries should be presented in the following order:
File Edit View Options Help
You should exclude from your menu bar any item shown in the preceding text if your application does not support the associated function. For example, if your application does not support the ability to display its data in different views, then you should not include a View menu.
You may add application-specific menus in between any of the standard menu items, with the following exceptions:
-- The File menu, if present, is located in the first menu position on the left.
-- The Help menu is located on the far right position.
-- If File and Edit are present, they should be next to each other.
For example, your application may have:
File Edit <category1> <category2> View Options <category3> Help
Recommended [ ]yes [ ]n/a [ ]no
bo:
Replacing the File menu:
Replacement1: <app-label> Selected
Replacement2: <app-label><obj-type>
Replacement3: <obj-type>
You may use Replacement1 if your application has more than one object type. Items on <app-label> would be used for global actions that are not specific to an object type. The items in Selected are actions that pertain to objects that are currently selected, and may change depending on what objects are selected. If nothing is selected, this menu should have a single item that says (none selected). If an item is selected, but there are no items that apply to that object, this menu should have a single item that says (none).
You may use Replacement2 if your application has a single object type. Actions that are global to the application are on <app-label>, and actions that are specific to the object type are on <obj-type>.
You may use Replacement3 if your application has a single object type, and does not require an <app-label> menu. For example, a Print Manager might contain a Printer menu.
All other menubar guidelines that apply to File-oriented applications also apply to non-File-oriented applications. Thus, the following menubar would be valid:
<app-label> Selected Edit <category1> View <category2> Help
Applications that are complex or are extremely domain-specific (for example, an application for medical imaging and diagnosis of cat scan data) may require other approaches to their menu bar design. For example,
<app-label><category1><category2> Selected Edit <object-type> Options Help
Recommended [ ]yes [ ]n/a [ ]no
bp:
Required [ ]yes [ ]n/a [ ]no
bq:
The user must always be given the opportunity to explicitly state whether unsaved changes should be saved or discarded. A dialog box similar to the one described should also be displayed if the user chooses the Open from the File menu, but has not saved changes to the current file.
Required [ ]yes [ ]n/a [ ]no
6-7:
Required [ ]yes [ ]n/a [ ]noNew
Required [ ]yes [ ]n/a [ ]noOpen...
Required [ ]yes [ ]n/a [ ]noSave
Required [ ]yes [ ]n/a [ ]noSave As...
Recommended [ ]yes [ ]n/a [ ]noPrint
Recommended [ ]yes [ ]n/a [ ]noClose
Required [ ]yes [ ]n/a [ ]noExit
Recommended [ ]yes [ ]n/a [ ]no
br:
Recommended [ ]yes [ ]n/a [ ]noNew...
Optional [ ]yes [ ]n/a [ ]noMove To...
Optional [ ]yes [ ]n/a [ ]noCopy To...
Optional [ ]yes [ ]n/a [ ]noPut in Workspace
Optional [ ]yes [ ]n/a [ ]noDelete
Recommended [ ]yes [ ]n/a [ ]noProperties
Recommended [ ]yes [ ]n/a [ ]no<Default Action>
Required [ ]yes [ ]n/a [ ]no
6-8:
Optional [ ]yes [ ]n/a [ ]noUndo
Optional [ ]yes [ ]n/a [ ]noCut
Optional [ ]yes [ ]n/a [ ]noCopy
Optional [ ]yes [ ]n/a [ ]noCopy Link
Optional [ ]yes [ ]n/a [ ]noPaste
Optional [ ]yes [ ]n/a [ ]noPaste Link
Optional [ ]yes [ ]n/a [ ]noClear
Optional [ ]yes [ ]n/a [ ]noDelete
Optional [ ]yes [ ]n/a [ ]noSelect All
Optional [ ]yes [ ]n/a [ ]noDeselect All
Optional [ ]yes [ ]n/a [ ]noSelect Pasted
Optional [ ]yes [ ]n/a [ ]noReselect
Optional [ ]yes [ ]n/a [ ]noPromote
Recommended [ ]yes [ ]n/a [ ]no
bs:
Recommended [ ]yes [ ]n/a [ ]no
bt:
Recommended [ ]yes [ ]n/a [ ]no
bu:
Recommended [ ]yes [ ]n/a [ ]no
bv:
Required [ ]yes [ ]n/a [ ]noOverview
Optional [ ]yes [ ]n/a [ ]noIndex
Recommended [ ]yes [ ]n/a [ ]noTable of Contents
Recommended [ ]yes [ ]n/a [ ]noTasks
Recommended [ ]yes [ ]n/a [ ]noReference
Optional [ ]yes [ ]n/a [ ]noTutorial
Optional [ ]yes [ ]n/a [ ]noKeyboard
Optional [ ]yes [ ]n/a [ ]noMouse
Optional [ ]yes [ ]n/a [ ]noMouse and Keyboard
Recommended [ ]yes [ ]n/a [ ]noOn Item
Required [ ]yes [ ]n/a [ ]noUsing Help
Required [ ]yes [ ]n/a [ ]noAbout applicationname
Recommended [ ]yes [ ]n/a [ ]no
bw:
Recommended [ ]yes [ ]n/a [ ]noAdd File...
Recommended [ ]yes [ ]n/a [ ]noSave As...
Recommended [ ]yes [ ]n/a [ ]noRename...
Recommended [ ]yes [ ]n/a [ ]noDelete
Recommended [ ]yes [ ]n/a [ ]noSelect All
Recommended [ ]yes [ ]n/a [ ]no
bx:
Recommended [ ]yes [ ]n/a [ ]no
by:
Pop-up menus provide access to frequently used functions and should be used pervasively throughout the Common Desktop Environment desktop environment. A pop-up menu may contain a collection of options that appear in different menus available from the menu bar. For example, it may contain items from both the File and Edit menus.
Recommended [ ]yes [ ]n/a [ ]no
bz:
The preceding helps to protect the user from inadvertently applying an action to objects that the user may not realize are currently selected. Pressing the menu button invokes a pop-up menu pertinent to the object under the mouse cursor whether it is selected to not; if the object under the mouse cursor and other objects are selected, the pop-up menu is pertinent to the selected set.
Recommended [ ]yes [ ]n/a [ ]no
ca:
Recommended [ ]yes [ ]n/a [ ]no
cb:
Because pop-up menus are hidden, they should only provide redundant access to functions available from more visible controls within the application's windows.
Optional [ ]yes [ ]n/a [ ]no
6-11:
Optional [ ]yes [ ]n/a [ ]noProperties
Optional [ ]yes [ ]n/a [ ]noUndo
Optional [ ]yes [ ]n/a [ ]noPrimary Move
Optional [ ]yes [ ]n/a [ ]noPrimary Copy
Optional [ ]yes [ ]n/a [ ]noPrimary Link
Optional [ ]yes [ ]n/a [ ]noCut
Optional [ ]yes [ ]n/a [ ]noCopy
Optional [ ]yes [ ]n/a [ ]noCopy Link
Optional [ ]yes [ ]n/a [ ]noPaste
Optional [ ]yes [ ]n/a [ ]noPaste Link
Optional [ ]yes [ ]n/a [ ]noClear
Optional [ ]yes [ ]n/a [ ]noDelete
Optional [ ]yes [ ]n/a [ ]noSelect All
Optional [ ]yes [ ]n/a [ ]noDeselect All
Optional [ ]yes [ ]n/a [ ]noSelect Pasted
Optional [ ]yes [ ]n/a [ ]noReselect
Optional [ ]yes [ ]n/a [ ]noPromote
Recommended [ ]yes [ ]n/a [ ]no
cc:
Optional [ ]yes [ ]n/a [ ]noMove To ...
Optional [ ]yes [ ]n/a [ ]noCopy To ...
Optional [ ]yes [ ]n/a [ ]noPut in Workspace
Optional [ ]yes [ ]n/a [ ]noDelete
Recommended [ ]yes [ ]n/a [ ]noProperties ...
Recommended [ ]yes [ ]n/a [ ]noHelp ...
Optional [ ]yes [ ]n/a [ ]no
cd:
<choices that manage the object such as Open, Save, or Properties>
----------- separator ----------------
<standard edit menu choices such as Cut, Copy, and Paste>
----------- separator ----------------
<other choices>
Required [ ]yes [ ]n/a [ ]no
6-12:
In the context of a selection, pop-up menu actions affect the entire selection.
Required [ ]yes [ ]n/a [ ]no
6-13:
An information dialog box conveys information to the user that does not require immediate attention, so it does not need to be modal.
Recommended [ ]yes [ ]n/a [ ]no
ce:
The use of an ellipsis helps set the user's expectation for the behavior of the interface. When they select an item without an ellipsis, they know that they can expect an immediate result.
Recommended [ ]yes [ ]n/a [ ]no
cf:
No menu should contain only one item. If your application provides a menu with only one item, you should look at moving that item into another menu or making it a button within the window. The longer the menu, the more effort is needed for the user to access choices near the bottom. If your menu has a lot of choices, break it up into two or more menus, or group some items into submenus.
Optional [ ]yes [ ]n/a [ ]no
cg:
Submenus may be used to group like items into a single secondary cascading menu where putting the items into the primary cascading menu would make it too long. However, if your submenu contains only two options, you should strongly look at removing the secondary cascading menu and putting the options into the primary cascading menu since it takes more effort for the user to access options located in a submenu.
Recommended [ ]yes [ ]n/a [ ]no
ch:
The longer the menu the more effort is needed for the user to access choices near the bottom. If your menu has a lot of choices, you should look at breaking it up into two or more menus, or grouping some items into submenus.
Optional [ ]yes [ ]n/a [ ]no
ci:
The user should be able to tear-off frequently accessed menus so that these can remain posted on the desktop as the user uses your application.
Optional [ ]yes [ ]n/a [ ]no
cj:
If specific menu items within a menu are expected to be used frequently, not the menu as a whole, then your application provides keyboard accelerators for these items and displays the keyboard accelerators in the associated menu to the right of the item to which they relate.
Recommended [ ]yes [ ]n/a [ ]no
ck:
The names of items in the menu bar serve as titles for the options the menu contains. The name of the menu bar item should provide a term that accurately describes the concept of the category relating all of the menu items and should not be used as the name of any item within the menu itself.
Required [ ]yes [ ]n/a [ ]no
cl:
Dimmed controls cannot be activated by the user and should appear only when the inactive state is short-term (that is, there is something the user can do within the application or the desktop environment to make the control become active). When the control is persistently inactive (because of the current configuration of the application or system, or a particular set of companion software is not currently installed), the control should be removed rather than dimmed.
Recommended [ ]yes [ ]n/a [ ]no
cm:
Required [ ]yes [ ]n/a [ ]no
cn:
Recommended [ ]yes [ ]n/a [ ]no
co:
Required [ ]yes [ ]n/a [ ]no
6-14:
When a tear-off button is activated, the menu changes into a dialog box. The tear-off button needs to be the first item in the menu so that the entire contents of the menu are torn off.
Required [ ]yes [ ]n/a [ ]no
6-15:
The ability to see the full label of each menu element allows the user to browse through a menu.
Recommended [ ]yes [ ]n/a [ ]no
cp:
Table 10-3 Dialog Box Title Conventions
Required [ ]yes [ ]n/a [ ]no
cq:
Recommended [ ]yes [ ]n/a [ ]no
cr:
Optional [ ]yes [ ]n/a [ ]noYes
Optional [ ]yes [ ]n/a [ ]noNo
Optional [ ]yes [ ]n/a [ ]noOK
Optional [ ]yes [ ]n/a [ ]no<command>
Optional [ ]yes [ ]n/a [ ]noApply
Optional [ ]yes [ ]n/a [ ]noRetry
Optional [ ]yes [ ]n/a [ ]noStop
Optional [ ]yes [ ]n/a [ ]noPause
Optional [ ]yes [ ]n/a [ ]noResume
Optional [ ]yes [ ]n/a [ ]noSave As Defaults
Optional [ ]yes [ ]n/a [ ]noReset
Optional [ ]yes [ ]n/a [ ]noReset to Factory
Optional [ ]yes [ ]n/a [ ]noCancel
Recommended [ ]yes [ ]n/a [ ]noHelp
Recommended [ ]yes [ ]n/a [ ]no
cs:
Dimmed controls cannot be activated by the user and should appear only when the inactive state is short-term (that is, there is something the user can do within the application or the desktop environment to make the control become active). When the control is persistently inactive (because of the current configuration of the application or system, or a particular set of companion software is not currently installed), the control should be removed rather than dimmed.
Optional [ ]yes [ ]n/a [ ]no
ct:
Optional [ ]yes [ ]n/a [ ]no
cu:
Optional [ ]yes [ ]n/a [ ]no
cv:
Optional [ ]yes [ ]n/a [ ]no
cw:
The default button should be associated with the most likely response from the user and should not be potentially destructive or irreversible. Some applications may have dialog boxes that do not reveal a default button until a specific set of fields has been filled out or otherwise manipulated.
Optional [ ]yes [ ]n/a [ ]no
cx:
Controls that relate to advanced features should not be displayed with the set of options initially displayed to the user. The typical user should be presented with only those options that are necessary to use the basic functionality of the application. Users looking to access advanced functionality within the dialog box may use the <Category> option button (see Figure 7-1). If the number of advanced controls is few, or the settings for these controls are highly related to the settings of basic controls displayed in the dialog box (that is, the settings of the advanced controls change when the user changes settings for basic controls), you might choose to provide an expandable dialog box (see the section on Expandable Windows and Dialog Boxes).
Required [ ]yes [ ]n/a [ ]no
cy:
Recommended [ ]yes [ ]n/a [ ]no
cz:
Recommended [ ]yes [ ]n/a [ ]no
da:
Required [ ]yes [ ]n/a [ ]noOK
Optional [ ]yes [ ]n/a [ ]noApply
Required [ ]yes [ ]n/a [ ]noReset
Optional [ ]yes [ ]n/a [ ]noReset to Factory
Required [ ]yes [ ]n/a [ ]noCancel
Required [ ]yes [ ]n/a [ ]noHelp
Recommended [ ]yes [ ]n/a [ ]no
db:
Optional [ ]yes [ ]n/a [ ]no
dc:
All user interactions with the file system should be facilitated by providing a point-and-click style of choosing files and directories. The user should never be forced to memorize and type in file paths. The user must be able to explore the contents and structure of the file system using scrolling lists. The expert user, however, should be able to directly enter a complete file path, as well as be able to use relative paths and environment variables such as $HOME.
The labels and contents of the standard file selection dialog box may be modified as appropriate to make clear the particular context in which it is being used within your application.
Recommended [ ]yes [ ]n/a [ ]no
dd:
Recommended [ ]yes [ ]n/a [ ]no
de:
Recommended [ ]yes [ ]n/a [ ]no
df:
The global Common Desktop Environment setting should be:
Unless your application overrides this behavior, your file selection dialog box should not show full path names in the list boxes.XmFileSelectionBox.fullPathMode: false
Required [ ]yes [ ]n/a [ ]no
dg:
For example, if the user brings up Save As and navigates to /users/jay/letters to save the file, the next time the user brings up Save As, the file selection box should be in the directory /users/jay/letters. This information, however, should not be recalled once the user has closed the primary window, but should resort to the default directory.
Optional [ ]yes [ ]n/a [ ]no
dh:
Required [ ]yes [ ]n/a [ ]no
di:
Recommended [ ]yes [ ]n/a [ ]no
dj:
Optional [ ]yes [ ]n/a [ ]no
dk:
Optional [ ]yes [ ]n/a [ ]no
dl:
Required [ ]yes [ ]n/a [ ]no
dm:
In general, there should only be one row of buttons at the bottom of a dialog box. If your application has dialog boxes that contain several global buttons, it may be necessary to create two or more rows of buttons at the bottom of the dialog box. The last row should contain the standard dialog box buttons (OK, Reset, Cancel, and Help). If a dialog box contains buttons that are not related to the dialog box as a whole, but relate to a specific control within the dialog box, the buttons should be located with the control to which they relate.
Required [ ]yes [ ]n/a [ ]no
dn:
Optional [ ]yes [ ]n/a [ ]no
do:
In general, cascading buttons should only be used within menus and menu bars. You should avoid their use in all other locations unless absolutely necessary.
Recommended [ ]yes [ ]n/a [ ]no
dp:
Recommended [ ]yes [ ]n/a [ ]no
dq:
Recommended [ ]yes [ ]n/a [ ]no
dr:
Recommended [ ]yes [ ]n/a [ ]no
ds:
Required [ ]yes [ ]n/a [ ]no
dt:
A drag icon provides visual feedback that a drag operation is in progress.
Recommended [ ]yes [ ]n/a [ ]no
du:
A source indicator gives a visual representation of the elements being dragged.
Recommended [ ]yes [ ]n/a [ ]no
dv:
Recommended [ ]yes [ ]n/a [ ]no
dw:
Required [ ]yes [ ]n/a [ ]no
dx:
Cancel provides a consistent way for the user to cancel a drag operation.
Required [ ]yes [ ]n/a [ ]no
dy:
Releasing BTransfer (or BSelect) offers a consistent means of ending a drag operation.
Optional [ ]yes [ ]n/a [ ]no
dz:
Recommended [ ]yes [ ]n/a [ ]no
ea:
Feedback provided during the drag operation should ensure that the user feels confident that the desired set of objects is being dragged. The drag icon used for multi-object drag operations should integrate the feedback used to indicate whether the operation is a move, copy, or link.
Required [ ]yes [ ]n/a [ ]no
eb:
A transfer icon can be used to represent the type of data being transferred during a drop operation. A successful drop operation results in the transfer of data.
Required [ ]yes [ ]n/a [ ]no
ec:
If a drag-and-drop operation has been canceled or failed, the data or object that was the source of the drag must not be removed.
Required [ ]yes [ ]n/a [ ]no
ed:
A failed drop operation does not result in the transfer of data.
Recommended [ ]yes [ ]n/a [ ]no
ee:
The error message should state the context (for example, running action A on object B), what happened (for example, could not connect to system X), and how to correct the problem (for example, press the Help button to obtain information on diagnosing remote execution problems).
Recommended [ ]yes [ ]n/a [ ]no
ef:
Recommended [ ]yes [ ]n/a [ ]no
eg:
As an accelerator, drag-and-drop loading of files should provide the same kind of feedback and behavior as choosing Open from the File menu. For example, if changes to a currently loaded file have not yet been saved, your application should display a message dialog box asking whether the changes should first be saved before loading the new file.
Required [ ]yes [ ]n/a [ ]no
6-17:
The Cancel button in the help dialog box provides a convenient way for the user to cancel a drag-and-drop operation.
Recommended [ ]yes [ ]n/a [ ]no
eh:
Recommended [ ]yes [ ]n/a [ ]no
ei:
Recommended [ ]yes [ ]n/a [ ]no
ej:
Recommended [ ]yes [ ]n/a [ ]no
ek:
Recommended [ ]yes [ ]n/a [ ]no
el:
The folder "My.Stuff" cannot be attached because it is a folder. Only documents, applications, and scripts can be attached.
Required [ ]yes [ ]n/a [ ]no
em:
Required [ ]yes [ ]n/a [ ]no
6-18:
The user needs to have a way to cancel an operation that can cause destructive results.
Required [ ]yes [ ]n/a [ ]no
en:
Input focus should always be placed at a predictable and intuitive location. The user should not be forced to set focus at the control most likely to be used when the window is displayed.
Recommended [ ]yes [ ]n/a [ ]no
eo:
Required [ ]yes [ ]n/a [ ]no
ep:
If any window within your application has focus, some control within that window must have focus. The user should not have to explicitly set focus to a control within the window.
Optional [ ]yes [ ]n/a [ ]no
eq:
Although use of inactive text cursors is allowed within the Motif style, it is better to hide the text cursor on focus out rather than display the inactive text cursor. This makes it easier for the user to quickly scan the screen or a window and determine which text field currently has focus.
Optional [ ]yes [ ]n/a [ ]no
er:
Once the user becomes adept at using your application, keyboard mnemonics provide the user a quick way to access functionality. Mnemonics also facilitate access to functionality from within keyboard-centric applications or windows. The user need not frequently switch between use of the mouse or use of the keyboard. Mnemonics should be provided pervasively throughout the user interface.
Optional [ ]yes [ ]n/a [ ]no
es:
Keyboard accelerators provide the user who has become expert at using your application a quick way to access application functionality without having to go through menus and dialog boxes.
Required [ ]yes [ ]n/a [ ]no
et:
Applications must allow the user the freedom to access information and tools within the user's desktop environment. Only in the most dire circumstances should an application ever block access to other applications and services within the environment.
Required [ ]yes [ ]n/a [ ]no
eu:
Required [ ]yes [ ]n/a [ ]no
ev:
In general, you should not override the value of settings treated as global environment settings. These settings are controlled by the user through the Common Desktop Environment Style Manager. If you choose to ignore these settings and specify your own settings, then your application will behave inconsistently with other applications in the Common Desktop Environment desktop. If you nevertheless choose to provide your own values, then you must provide the user a way to make your settings consistent with the rest of the desktop.
Recommended [ ]yes [ ]n/a [ ]no
ew:
Desktop system configurations are including more high-resolution monitors. The user must be able to discern any visuals used by your application on these type of monitors. The embedded base, however, still contains many standard VGA monitors. Your application's visuals must display well on these systems and should not appear overly large.
Recommended [ ]yes [ ]n/a [ ]no
ex:
Recommended [ ]yes [ ]n/a [ ]no
ey:
Recommended [ ]yes [ ]n/a [ ]no
ez:
The Common Desktop Environment icon palette was chosen to maximize attractiveness and readability without using an unnecessary number of colors. Use of additional colors may cause undesirable color shifting on the display.
Recommended [ ]yes [ ]n/a [ ]no
fa:
Don't use text, symbols, humor, animals, and other items that may be interpreted differently in other cultures.
Recommended [ ]yes [ ]n/a [ ]no
fb:
Recommended [ ]yes [ ]n/a [ ]no
fc:
Required [ ]yes [ ]n/a [ ]no
fd:
Required [ ]yes [ ]n/a [ ]no
fe:
Required [ ]yes [ ]n/a [ ]no
ff:
Recommended [ ]yes [ ]n/a [ ]no
fg:
Required [ ]yes [ ]n/a [ ]no
fh:
Recommended [ ]yes [ ]n/a [ ]no
fi:
This status line should provide immediate feedback to the user as to the purpose of the button that the mouse is currently over or that has the keyboard focus. When the arrow is over a tool bar icon, the status line should display a brief definition of what the icon represents or what will happen when the user clicks the icon.
Recommended [ ]yes [ ]n/a [ ]no
fj:
Recommended [ ]yes [ ]n/a [ ]no
fk:
Recommended [ ]yes [ ]n/a [ ]no
fl:
This ensures that all the tool bar buttons are the same size.
Recommended [ ]yes [ ]n/a [ ]no
fm:
Recommended [ ]yes [ ]n/a [ ]no
fn:
Recommended [ ]yes [ ]n/a [ ]no
fo:
Required [ ]yes [ ]n/a [ ]no
fp:
Recommended [ ]yes [ ]n/a [ ]no
fq:
Recommended [ ]yes [ ]n/a [ ]no
fr:
Recommended [ ]yes [ ]n/a [ ]no
fs:
Required [ ]yes [ ]n/a [ ]no
ft:
The user needs to have clear visual feedback as to which elements are in the primary and which in the secondary panes of the expandable window.
Required [ ]yes [ ]n/a [ ]no
fu:
Required [ ]yes [ ]n/a [ ]no
fv:
Required [ ]yes [ ]n/a [ ]no
fw:
Examples of possible labels are Basic and Options, Expand and Contract, and More and Less.
Optional [ ]yes [ ]n/a [ ]no
fx:
Recommended [ ]yes [ ]n/a [ ]no
fy:
Required [ ]yes [ ]n/a [ ]no
fz:
Required [ ]yes [ ]n/a [ ]no
ga:
Recommended [ ]yes [ ]n/a [ ]no
gb:
If appropriate, applications can provide a mechanism, as an option, to allow users to set the state of an expandable window globally for the application. This would be part of the application's Options.
Recommended [ ]yes [ ]n/a [ ]no
gc:
It is appropriate to assume that the user has knowledge about basic terms used within the desktop, such as files or programs. Such knowledge can be assumed to have been learned by the user through Tutorials, online help, and user documentation. However, terminology that is typically understood only by an expert or frequent computer user should be avoided unless the application is specifically targeted at computer professionals. Likewise, messages returned to your application by the underlying operating system should not be passed through to the user, but instead, should be "translated" into language that can be understood by the novice user.
Recommended [ ]yes [ ]n/a [ ]no
gd:
Optional [ ]yes [ ]n/a [ ]no
ge:
Optional [ ]yes [ ]n/a [ ]no
gf:
Recommended [ ]yes [ ]n/a [ ]no
gg:
Optional [ ]yes [ ]n/a [ ]no
gh:
Some applications, such as network monitors or stock watch programs, may need to grab the user's immediate attention to some event. Both visual and audio alarms should be used to signal the user. The user should be able to acknowledge the alarm and cause it to cease.
Recommended [ ]yes [ ]n/a [ ]no
gi:
The footer is a good location for prompt messages that help the user to determine how to choose options within a window or fill out a particular field. It should not be used to present error messages to the user or informational messages that are important for the user to notice. These should be presented in the appropriate style message dialog box.
Recommended [ ]yes [ ]n/a [ ]no
gj:
Applications should be designed with both the expert and novice user in mind. The novice user must be able to access additional information clarifying the message, the circumstances under which it might have been displayed, and what the user should do in response to the message.
Recommended [ ]yes [ ]n/a [ ]no
gk:
Optional [ ]yes [ ]n/a [ ]no
gl:
Minimally, information dialog boxes should have an OK button so that the user can dismiss the dialog box. If there is additional information available about the situations under which the message is displayed or other references for the topic to which the message relates, then a Help button should be included.
Optional [ ]yes [ ]n/a [ ]no
gm:
A Cancel button is not required for error dialog boxes unless the error resulted in the suspension of an activity that was in progress. In this case, the message should indicate whether the user has the option to continue the activity or stop it, and the buttons for the dialog box should be Continue, Cancel, and Help. In general, error dialog boxes should not be modal unless it is critical that the user not continue interacting with the application until the user has acknowledged having read the error message.
Optional [ ]yes [ ]n/a [ ]no
gn:
Where possible, you should extend the label for the Yes and No buttons to make it clear what action will be performed as a result of choosing either option. For example, if the user has made changes to a document and has not saved these but has chosen the application's Exit option, you might display a question dialog box that asks "Changes have not been saved. Do you want to save these before exiting?" The buttons should be Save, Discard, Cancel, and Help. These labels allow the more experienced user to click the correct button without having to carefully read the question and relate it to the button labels.
Optional [ ]yes [ ]n/a [ ]no
go:
The use of Yes and No, or Continue and Cancel, depends on the wording of your message. The labels for Yes and No should be extended as suggested previously. Continue may be replaced with a label more specific to the action that will be performed.
Optional [ ]yes [ ]n/a [ ]no
gp:
Optional [ ]yes [ ]n/a [ ]no
gq:
You might also write error messages that are displayed to the user in the error log if it would be valuable to the user or an administrator to refer to these messages at some later time. Messages written to the error log should provide additional information about the error and should state the context in which the error occurred.
Optional [ ]yes [ ]n/a [ ]no
gr:
Optional [ ]yes [ ]n/a [ ]no
gs:
Recommended [ ]yes [ ]n/a [ ]no
gt:
The user must receive assurance that your application has "heard" the request and is working on it. If the results of the request cannot be displayed immediately, some feedback must be provided. The busy pointer should be displayed within 0.5 seconds of execution of the command.
Recommended [ ]yes [ ]n/a [ ]no
gu:
If an activity is expected to take a significant amount of time (10 seconds or more), your application should display feedback stronger than the busy pointer. Displaying the busy pointer for long amounts of time may lead the user to conclude that the application has become "hung." A progress indicator should be displayed in these scenarios that indicates that the application is still functioning and is working on the user's request. The progress indicator should show how much of the activity has been completed and what amount remains.
Recommended [ ]yes [ ]n/a [ ]no
gv:
Multitasking should always be supported and, as such, your application should allow the user to access other services while it is busy performing some activity. Preferably, the user is also able to access other features within your application even though it is currently working on another request. When this is supported, your application should display an enhanced busy pointer that indicates that the application is busy but still willing to accept input.
Required [ ]yes [ ]n/a [ ]no
7-1:
Required [ ]yes [ ]n/a [ ]no
7-2:
BSelect Press arms a check button and shows the result of activating it by releasing BSelect.
Required [ ]yes [ ]n/a [ ]no
7-3:
Required [ ]yes [ ]n/a [ ]no
7-4:
Required [ ]yes [ ]n/a [ ]no
7-5:
The Select key and Spacebar activate a check button.
Required [ ]yes [ ]n/a [ ]no
gw:
Required [ ]yes [ ]n/a [ ]no
gx:
Recommended [ ]yes [ ]n/a [ ]no
gy:
Recommended [ ]yes [ ]n/a [ ]no
gz:
Recommended [ ]yes [ ]n/a [ ]no
ha:
Recommended [ ]yes [ ]n/a [ ]no
hb:
Recommended [ ]yes [ ]n/a [ ]no
hc:
Recommended [ ]yes [ ]n/a [ ]no
hd:
Required [ ]yes [ ]n/a [ ]no
7-6:
This specification ensures the consistent appearance and operation of a command box across applications.
Required [ ]yes [ ]n/a [ ]no
7-7:
This specification provides a convenient way of selecting a previously entered command.
Required [ ]yes [ ]n/a [ ]no
7-8:
These actions provide a convenient way to choose a command from the list while focus remains in the text component.
Required [ ]yes [ ]n/a [ ]no
7-9:
Maintaining a history of commands provides a convenient means of entering often-used commands.
Required [ ]yes [ ]n/a [ ]no
7-10:
Recommended [ ]yes [ ]n/a [ ]no
he:
Recommended [ ]yes [ ]n/a [ ]no
hf:
Required [ ]yes [ ]n/a [ ]no
hg:
Recommended [ ]yes [ ]n/a [ ]no
hh:
Required [ ]yes [ ]n/a [ ]no
hi:
Required [ ]yes [ ]n/a [ ]no
hj:
Optional [ ]yes [ ]n/a [ ]no
hk:
Required [ ]yes [ ]n/a [ ]no
hl:
These actions provide a convenient way to choose a directory or file name from the corresponding list while focus remains in the text component.
Required [ ]yes [ ]n/a [ ]no
7-12:
Required [ ]yes [ ]n/a [ ]no
7-13:
Optional [ ]yes [ ]n/a [ ]no
7-15:
This method of selecting a file needs to be consistent across applications.
Required [ ]yes [ ]n/a [ ]no
7-16:
Required [ ]yes [ ]n/a [ ]no
7-17:
This specification ensures the consistent operation of a directory and file search in a file selection box.
Recommended [ ]yes [ ]n/a [ ]no
hm:
An exception to this rule might be made if a clearly more useful directory can be identified; for example, the icon editor might default to HomeDirectory/.dt/icons
. For Applications that allow editing, never default to a directory in which the user does not have read and write permission, such as /usr/dt/bin
.
Required [ ]yes [ ]n/a [ ]no
hn:
Optional [ ]yes [ ]n/a [ ]no
ho:
Optional [ ]yes [ ]n/a [ ]no
hp:
Optional [ ]yes [ ]n/a [ ]no
hq:
Optional [ ]yes [ ]n/a [ ]no
hr:
Optional [ ]yes [ ]n/a [ ]no
hs:
Optional [ ]yes [ ]n/a [ ]no
ht:
Optional [ ]yes [ ]n/a [ ]no
hu:
Table 10-4 File Selection Dialog Box Labels
Optional [ ]yes [ ]n/a [ ]no
hv:
These labels should be the default labels. If they are not set by default, you need to set them through resources in your application's app-defaults file.
Required [ ]yes [ ]n/a [ ]no
7-18:
The arrow keys provide a consistent means of moving the location cursor within a list component.
Required [ ]yes [ ]n/a [ ]no
7-19:
These keys offer a convenient mechanism for moving the location cursor quickly through a list.
Required [ ]yes [ ]n/a [ ]no
7-20:
These keys offer a convenient mechanism for paging through a list.
Required [ ]yes [ ]n/a [ ]no
7-21:
Double-clicking using BSelect provides a consistent way of activating the default action for a list.
Required [ ]yes [ ]n/a [ ]no
7-22:
An option button is used to post an option menu which allows the user to select from a number of choices. The label of an option button needs to display the most recent selection from the associated option menu.
Required [ ]yes [ ]n/a [ ]no
7-23:
BSelect Press is a consistent way of activating an option button.
Required [ ]yes [ ]n/a [ ]no
7-24:
Required [ ]yes [ ]n/a [ ]no
7-25:
The Select key or Spacebar posts an option menu from the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-26:
This specification ensures the consistent appearance of a paned window across applications.
Required [ ]yes [ ]n/a [ ]no
7-27:
A panel group organizes a collection of basic controls in a horizontal, vertical, or two-dimensional layout. The directional keys are used to navigate among the controls.
Required [ ]yes [ ]n/a [ ]no
7-28:
BSelect provides a consistent means of activating a push button.
Required [ ]yes [ ]n/a [ ]no
7-29:
The Enter and Return keys activate a dialog box or a push button in a menu.
Required [ ]yes [ ]n/a [ ]no
7-30:
The Select key and Spacebar activate a push button.
Required [ ]yes [ ]n/a [ ]no
7-31:
Radio buttons are used to represent a panel of mutually exclusive selections. The user needs to know which button in the panel is set.
Required [ ]yes [ ]n/a [ ]no
7-32:
BSelect Press arms a radio button and shows the result of activating it by releasing BSelect.
Required [ ]yes [ ]n/a [ ]no
7-33:
BSelect Release activates a radio button.
Required [ ]yes [ ]n/a [ ]no
7-34:
Required [ ]yes [ ]n/a [ ]no
7-35:
The Select key and Spacebar activate a radio button.
Required [ ]yes [ ]n/a [ ]no
7-36:
This specification results in the uniform operation of a paned window across applications.
Required [ ]yes [ ]n/a [ ]no
7-37:
BSelect, mouse button 1, and BTransfer, mouse button 2, provide a consistent means of moving a sash in a paned window using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-38:
The arrow keys offer a uniform means of moving a sash in a paned window.
Required [ ]yes [ ]n/a [ ]no
7-39:
These keys provide a convenient way of moving a sash quickly in a paned window.
Required [ ]yes [ ]n/a [ ]no
7-40:
BSelect Press provides a consistent means of adjusting a scale component using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-41:
BSelect Press provides a consistent means of adjusting a scale component using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-42:
BSelect Motion offers a convenient way to adjust a scale component precisely using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-43:
BTransfer Motion provides another convenient way to adjust a scale component precisely using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-44:
The Cancel key provides a consistent way for the user to cancel a mouse-based sliding action.
Required [ ]yes [ ]n/a [ ]no
7-45:
The arrow keys provide a uniform way of adjusting the slider in a scale component using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-46:
These keys provide a convenient way of adjusting the slider in a scale component quickly using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-47:
These keys provide a convenient mechanism for setting a scale to its minimum or maximum value using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-48:
BSelect Press provides a consistent means of adjusting a scroll bar using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-49:
BSelect Press provides a consistent means of adjusting a scroll bar using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-50:
BSelect Motion offers a convenient way to adjust a scroll bar precisely using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-51:
BTransfer Motion offers another convenient way to adjust a scroll bar precisely using the mouse.
Required [ ]yes [ ]n/a [ ]no
7-52:
The Cancel key provides a consistent way for the user to cancel a mouse-based scrolling action.
Required [ ]yes [ ]n/a [ ]no
7-53:
The arrow keys provide a uniform means of adjusting a scroll bar using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-54:
These keys provide a convenient way of adjusting a scroll bar quickly using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-55:
These keys allow for the convenient movement of the slider in a scroll bar using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-56:
These keys offer a convenient mechanism for setting a scroll bar to its minimum or maximum value using the keyboard.
Required [ ]yes [ ]n/a [ ]no
7-57:
This specification ensures the consistent appearance and operation of a selection box across applications.
Required [ ]yes [ ]n/a [ ]no
7-58:
These actions provide a convenient way to choose an element from the list while focus remains in the text component.
Required [ ]yes [ ]n/a [ ]no
hw:
Required [ ]yes [ ]n/a [ ]no
hx:
Table 10-5 Navigation in a Spin Box
Recommended [ ]yes [ ]n/a [ ]no
hy:
Recommended [ ]yes [ ]n/a [ ]no
hz:
Recommended [ ]yes [ ]n/a [ ]no
ia:
Required [ ]yes [ ]n/a [ ]no
7-59:
The up and down arrow keys provide a uniform means of navigation within text components.
Required [ ]yes [ ]n/a [ ]no
7-60:
The Left Arrow and Right Arrow keys offer a consistent way of navigating within text components.
Required [ ]yes [ ]n/a [ ]no
7-61:
Control+Right Arrow and Control+Left Arrow provide a uniform way of navigating by words in a text component. Moving right by a word means that the location cursor is placed before the first character that is not a space, tab, or newline character after the next space, tab, or newline. Moving left by a word means that the location cursor is placed after the first space, tab, or newline character preceding the first previous character that is not a space, tab, or newline.
Required [ ]yes [ ]n/a [ ]no
7-62:
These keys allow the user to move quickly to the beginning or end of a line of text in a text component.
Required [ ]yes [ ]n/a [ ]no
7-63:
These keys permit the user to move quickly to the beginning or end of a file in a text component.
Required [ ]yes [ ]n/a [ ]no
7-64:
This specification ensures that selection is available from the keyboard in a text component.
Required [ ]yes [ ]n/a [ ]no
7-65:
This specification ensures that activation is available from the keyboard in a text component.
Required [ ]yes [ ]n/a [ ]no
7-66:
Tab is used for tabbing in multiline text.
Required [ ]yes [ ]n/a [ ]no
7-67:
By default, the component starts in insert mode, where the location cursor is between two characters. In insert mode, typing a character inserts the character at the position of the location cursor.
In replace mode, the location cursor is on a character. Typing a character replaces the current character with that newly entered character and moves the location cursor to the next character, selecting it.
These rules ensure the uniform operation of a text component with a replace mode.
Required [ ]yes [ ]n/a [ ]no
7-68:
Double-clicking with mouse button 1 provides a convenient mechanism for selecting words in a text component.
Required [ ]yes [ ]n/a [ ]no
ib:
Optional [ ]yes [ ]n/a [ ]no
ic:
Recommended [ ]yes [ ]n/a [ ]no
id:
Recommended [ ]yes [ ]n/a [ ]no
ie:
Recommended [ ]yes [ ]n/a [ ]no
if:
Recommended [ ]yes [ ]n/a [ ]no
ig:
Recommended [ ]yes [ ]n/a [ ]no
ih:
Recommended [ ]yes [ ]n/a [ ]no
ii:
Recommended [ ]yes [ ]n/a [ ]no
ij:
Recommended [ ]yes [ ]n/a [ ]no
ik:
Recommended [ ]yes [ ]n/a [ ]no
il:
Recommended [ ]yes [ ]n/a [ ]no
im:
Recommended [ ]yes [ ]n/a [ ]no
in:
Table 10-6 Keyboard Mappings for Server-Level Access Features