The Common Desktop Environment Certification Checklist provides the list of requirements for Common Desktop Environment application-level certification. Common Desktop Environment requirements consist of the OSF/Motif Release 1.2 requirements with Common Desktop Environment-specific additions.
You certify your own application by comparing its behavior with that specified in the checklist. For each checklist item, check Yes only if your application performs exactly as described for that item. If you have not implemented a specified type of behavior in any manner anywhere in your application, check N/A (not applicable) for the items pertaining to that behavior.
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.
This checklist uses Common Desktop Environment typographical conventions for keyboard and mouse inputs. These conventions differ from those used in the OSF/Motif Style Guide, Revision 1.2. For information, see
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.
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
1-1: |
Each of the nonoptional keys described on the OSF/Motif model keyboard is available either as specified or by using other keys or key combinations if the specified key is unavailable (Preface). 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. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
2-1: |
Only one window at a time has the keyboard focus. The window that has the focus is highlighted. Within the window that has the keyboard focus, only one component at a time has the focus. 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 |
_ |
_ |
_ |
2-2: |
When your application uses an explicit focus policy, pressing BSelect does not move focus to a component that is not traversable or does not accept input. 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 |
_ |
_ |
_ |
2-3: |
When your application uses an explicit focus policy, the component with the keyboard focus is highlighted by a location cursor. The user needs to know the location of the keyboard focus to be able to control an application. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
3-1: |
When the keyboard focus policy is explicit, pressing BSelect on a component moves focus to it, except for components, such as scroll bars, that are used to adjust the size and location of other elements. BSelect provides a convenient mechanism for using the mouse to move focus when the keyboard focus policy is explicit. |
|
Required |
_ |
_ |
_ |
3-2: |
When the pointer is on a menu, your application uses BSelect Press to activate the menu in a spring-loaded manner. 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 |
_ |
_ |
_ |
3-3: |
When the pointer is in an element with an inactive pop-up menu and the context of the element allows the pop-up menu to be displayed, your application uses BMenu Press to activate the pop-up menu in a spring-loaded manner. 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 |
_ |
_ |
_ |
3-4: |
If the user takes an action to post a pop-up menu, and a menu can be posted for both an inner element and an outer element that contains the inner element, the pop-up menu for the internal element is posted. This specification ensures that the pop-up menu for an internal element is always accessible. |
|
Required |
_ |
_ |
_ |
3-5: |
Once a pop-up menu is posted, BMenu behaves just as BSelect does for any menu system. The specified operation of BMenu is for manipulating pop-up menus. |
|
Required |
_ |
_ |
_ |
3-6: |
BSelect is also available from within posted pop-up menus and behaves just as in any menu system. Once a pop-up menu is posted, the user can select an element from it using the standard selection mechanism, BSelect. |
|
Required |
_ |
_ |
_ |
3-7: |
When a menu is popped up or pulled down in a posted manner, your application places the location cursor on the menu's default entry, or on the first entry in the menu if there is no default entry. 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 |
_ |
_ |
_ |
3-8: |
Your application removes a spring-loaded menu system when the mouse button that activated it is released, except when the button is released on a cascading button in the menu hierarchy. The concept of a spring-loaded menu system requires that the menu disappear when the mouse button is released. |
|
Required |
_ |
_ |
_ |
3-9: |
While a spring-loaded menu system is popped up or pulled down, moving the pointer within the menu system moves the location cursor to track the pointer. 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 |
_ |
_ |
_ |
3-10: |
When a spring-loaded menu system is popped up or pulled down and the pointer rests on a cascading button, the associated menu is pulled down and becomes traversable. The associated menu is removed, possibly after a short delay, when the pointer moves to a menu item outside of the menu or its cascading button. 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 |
_ |
_ |
_ |
3-11: |
When a spring-loaded menu system that is part of the menu bar is pulled down, moving the pointer to any other element on the menu bar unposts the current menu system and posts the pull-down menu associated with the new element. 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 |
_ |
_ |
_ |
3-12: |
When a spring-loaded menu system is popped up or pulled down, and the button that activated the menu system is released within a component in the menu system, that component is activated. If the release is on a cascading button or an option button, the associated menu is activated in a posted manner if it was not posted prior to the associated button press. Releasing the mouse button that activated a spring-loaded menu provides a means of activating a menu element that is consistent across applications. |
|
Required |
_ |
_ |
_ |
3-13: |
When the pointer is in an area with a pop-up menu, your application uses BMenu Click to activate the menu in a posted manner if it was not posted prior to the BMenu Click. BMenu Click provides a means of posting a pop-up menu that is consistent across applications. |
|
Required |
_ |
_ |
_ |
3-14: |
Once a pull-down or option menu is posted, BSelect Press in the menu system causes the menu to behave as a spring-loaded menu. 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 |
_ |
_ |
_ |
3-15: |
If a button press unposts a menu and that button press is not also passed to the underlying component, subsequent events up to and including the button release are not passed to the underlying component. 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 |
_ |
_ |
_ |
3-16: |
Once a pop-up menu is posted, BSelect Press or BMenu Press in the menu system causes the menu to behave as a spring-loaded menu. 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 |
_ |
_ |
_ |
b: |
BMenu Press or BMenu Click on a menu bar item displays the menu. |
|
Required |
_ |
_ |
_ |
c: |
BMenu Press or BMenu Click on an option button displays the option menu. |
|
Required |
_ |
_ |
_ |
d: |
BSelect Press on a text field causes the text cursor to be inserted at the mouse cursor position. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
3-45: |
Any scrollable components within your application support the appropriate navigation and scrolling operations. Your application uses the page navigation keys Page Up, Page Down, Control+Page Up (for Page Left), and Control+Page Down (for Page Right) for scrolling the visible region by a page increment. A user needs to be able to view and access the entire contents of a scrollable component. |
|
Required |
_ |
_ |
_ |
3-46: |
When scrolling by a page, your application leaves at least one unit of overlap between the old and new pages. The overlap between one page and the next yields visual continuity for the user. |
|
Required |
_ |
_ |
_ |
3-47: |
Any keyboard operation that moves the cursor to or in the component, or that inserts, deletes, or modifies items at the cursor location scrolls the component so that the cursor is visible when the operation is complete. 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 |
_ |
_ |
_ |
3-48: |
If a mouse-based scrolling action is in progress, the Cancel key cancels the scrolling action and returns the scrolling device to its state prior to the start of the scrolling operation. The Cancel key provides a convenient way for the user to cancel a scrolling operation. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-1: |
Your system supports five selection models: single selection, browse selection, multiple selection, range selection, and discontiguous selection. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-2: |
In a collection that uses single selection, when BSelect is clicked in a deselected element, the location cursor moves to that element, that element is selected, and any other selection in the collection is deselected. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-3: |
In a collection that uses browse selection, when BSelect is released in a selectable element, that element is selected, and any other selection in the collection is deselected. As BSelect is dragged through selectable elements, each element under the pointer is selected, and the previously selected element is deselected. The selection remains on the element where BSelect is released, and the location cursor is moved there. 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". |
|
|
|
|
|
4-4: |
This item has been deleted. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
i: |
If your application contains collections that follow the multiple selection model, BAdjust is supported and behaves just like BSelect, when the BTransfer button is currently configured to behave as BAdjust. 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 may change an environment setting indicating that mouse button 2 should be used for the BAdjust function instead. BAdjust can be used to toggle the selection state of elements under the multiple selection model. |
|
Required |
_ |
_ |
_ |
j: |
In a collection that uses multiple selection, clicking BSelect or BAdjust on an unselected element adds that element to the current selection. Clicking BSelect or BAdjust on a selected element removes that element from the current selection. Clicking BSelect or BAdjust moves the location cursor to that element. |
|
y |
n/a |
n |
|
|
|
|
|
|
|
4-5: |
This item has been replaced by items k and l. |
|
Required |
_ |
_ |
_ |
k: |
In a collection that uses range selection, pressing BSelect on an unselected element sets an anchor on the element, or at the position where BSelect was pressed, and deselects all elements in the collection. If BSelect is released before the drag threshold has been exceeded, then the element under the pointer should be selected. If BSelect Motion exceeds the drag threshold, then a new selection should begin. The anchor and the current position of the pointer determine the current range. As BSelect is dragged through the collection, the current range is highlighted. When BSelect is released, the anchor does not move, and all the elements within the current range are selected. Range selection allows the user to select multiple contiguous elements of a collection by pressing and dragging BSelect. |
|
Required |
_ |
_ |
_ |
l: |
In a collection that uses range selection, pressing BSelect on an currently selected element should not cause all other elements in the selection set to be deselected. If BSelect is released before the drag threshold is exceeded, then, at that point, all other elements should be deselected and the element under the pointer should remain selected. If BSelect Motion exceeds the drag threshold, then no element should be deselected and a drag operation should begin. |
|
Required |
_ |
_ |
_ |
4-6: |
In a text-like collection that uses range selection, the anchor point is the text pointer position when BSelect is pressed, and the current range consists of all elements between the anchor point and the current text pointer position. 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 |
_ |
_ |
_ |
4-7: |
In a graphics-like or list-like collection that uses a marquee to indicate the range of a range selection, the current range consists of those elements that fall completely within the marquee. If there is an anchor element, the marquee is always made large enough to enclose it completely. Otherwise, an anchor point is used and is the point at which BSelect was pressed; the anchor point determines one corner of the marquee. If the collection is not arranged as a list or matrix, the marquee is extended to the pointer position. If the collection is arranged as a list or matrix, the marquee is either extended to completely enclose the element under the pointer or extended to the pointer position. Clicking BSelect on a selectable element makes it an anchor element, selects it, and deselects all other elements. A marquee, or highlighted rectangle, is often used to indicate the range of a selection in graphics-like and list-like collections. |
|
Required |
_ |
_ |
_ |
4-8: |
This item has been deleted. |
|
Required |
_ |
_ |
_ |
m: |
If your application contains collections that follow the range selection model, BAdjust is supported and behaves just like Shift+BSelect, when the BTransfer button is currently configured to behave as BAdjust. On a three-button 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 |
_ |
_ |
_ |
n: |
In a collection that uses range selection, when the user presses Shift+BSelect, or BAdjust, the anchor remains unchanged, and an extended range for the selection is determined, based on one of the extension models. |
|
Optional |
_ |
_ |
_ |
|
Reselect |
The extended range is determined by the anchor and the current pointer position, in exactly the same manner as when the selection was initially made. |
Optional |
_ |
_ |
_ |
|
Enlarge Only |
The selection can only be enlarged. The extended range is determined by the anchor and the current pointer position, but then is enlarged to include the current selection. |
Optional |
_ |
_ |
_ |
|
Balance Beam |
A balance point is defined at the midpoint of the current selection. When the user presses Shift+BSelect or BAdjust on the opposite side of the balance point from the anchor, this model works exactly like the reselect model. When the user presses Shift+BSelect, BAdjust, or starts a navigation action modified by Shift on the same side of the balance point as the anchor, this model moves the anchor to the opposite end of the selection and then works exactly like the reselect model. |
|
|
|
|
|
When the user releases BSelect or BAdjust, the anchor does not move, all the elements within the extended range are selected, and all the elements outside of it are deselected. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-9: |
In a collection that uses discontiguous selection, the behavior of BSelect is exactly the same as in the range selection model. After the user sets the anchor with BSelect, Shift+BSelect works exactly as in the range selection model. Discontiguous selection is an extension of range selection that allows the user to select multiple discontiguous ranges of elements. |
|
Required |
_ |
_ |
_ |
4-10: |
In a collection that uses discontiguous selection, when the current selection is not empty and the user clicks Control+BSelect, the anchor and location cursor move to that point. If the current selection is not empty and the user clicks Control+BSelect on an element, the selection state of that element is toggled, and that element becomes the anchor element. 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 |
_ |
_ |
_ |
4-11: |
In a collection that uses discontiguous selection, Control+BSelect Motion toggles the selection state of a range of elements. The range itself is determined exactly as for BSelect Motion. Releasing Control+BSelect toggles the selection state of the elements in the range according to one of two models: |
|
|
|
|
|
|
Anchor Toggle |
Toggling is based on an anchor element. If the range is anchored by a point, and is not empty, the anchor element is set to the element within the range that is nearest to the anchor point. Toggling sets the selection state of all elements in the range to the inverse of the initial state of the anchor element. |
|
|
|
|
|
Full Toggle |
The selection state of each element in the extended range is toggled. |
|
|
|
|
|
In discontiguous selection, Control+BSelect provides a convenient means of toggling the selection state of elements in a range. |
|
Required |
_ |
_ |
_ |
4-12: |
In a collection that uses discontiguous selection, after Control+BSelect toggles a selection, Shift+BSelect or Control+Shift+BSelect extends the range of toggled elements. The extended range is determined in exactly the same way as when Shift BSelect is used to extend a range selection. When the user releases Control+Shift+BSelect, the selection state of elements added to the range is determined by the toggle model in use (either Anchor Toggle or Full Toggle). If elements are removed from the range, they either revert to their state prior to the last use of Control+BSelect or change to the state opposite that of the elements remaining within the extended range. Shift+BSelect and Control+Shift+BSelect provide a convenient means of extending the range of toggled elements. |
|
Required |
_ |
_ |
_ |
o: |
In a collection that uses discontiguous selection, BAdjust can be used to extend the range of a discontiguous selection. The extended range is determined in exactly the same way as when BAdjust is used to extend a range selection. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-15: |
In a collection that uses single selection, the navigation keys move the location cursor independently from the selected element. If the user presses the Select key or the Spacebar on an unselected element, the element with the location cursor is selected, and any other selection in the collection is deselected. Single selection supports only add mode. Pressing the Select key or the Spacebar is similar to clicking BSelect. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-16: |
In a collection that uses browse selection, the navigation keys move the location cursor and select the cursored element, deselecting any other element. If the application has deselected all elements or if the cursor is left disjoint from the selection, the Select key or the Spacebar selects the cursored element and deselects any other element. Browse selection supports only normal mode. A navigation operation is similar to dragging BSelect. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-17: |
In a collection that uses multiple selection, the navigation keys move the location cursor independently from the current selection. The Select key or the Spacebar on an unselected element adds the element to the current selection. Pressing the Select key or the Spacebar on a selected element removes the element from the current selection. Multiple selection supports only add mode. Pressing the Select key or the Spacebar is similar to clicking BSelect. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-18: |
In a collection that uses range selection and is in normal mode, the navigation keys move the location cursor and deselect the current selection. If the cursor is on an element, it is selected. The anchor moves with the location cursor. 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 |
_ |
_ |
_ |
4-19: |
In a collection that uses range selection, whether in normal mode or add mode, the Select key or Spacebar (except in a text component) moves the anchor to the cursor, deselects the current selection, and, if the cursor is on an element, selects the element. Unless the anchor is on a deselected item, Shift+Select or Shift+Spacebar (except in text) extends the selection from the anchor to the cursor, based on the extension model used by Shift+BSelect (Reselect, Enlarge Only, or Balance Beam. 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 |
_ |
_ |
_ |
4-20: |
In a collection that uses range selection and is in normal mode, using Shift in conjunction with the navigation keys extends the selection, based on the extension model used by Shift+BSelect. If the current selection is empty, the anchor is first moved to the cursor. The cursor is then moved according to the navigation keys, and the selection is extended based on the extension model used by Shift+BSelect. In range selection, shifted navigation extends the selection in a similar manner to dragging Shift+BSelect. |
|
Required |
_ |
_ |
_ |
4-21: |
In a collection that uses range selection and is in add mode, the navigation keys move the location cursor but leave the anchor unchanged. Shifted navigation moves the location cursor according to the navigation keys, and the selection is extended based on the extension model used by Shift+BSelect. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-22: |
In a collection that uses discontiguous selection and is in normal mode, all keyboard operations have the same effect as in the range selection model. Normal mode does not permit multiple discontiguous selections. |
|
Required |
_ |
_ |
_ |
4-23: |
In a collection that uses discontiguous selection and is in add mode, the Select key or Spacebar moves the anchor to the location cursor and initiates toggling. If the cursor is on an element, the selection state of that element is toggled, but the selection state of all other elements remains unchanged. Shift+Select or Shift+Spacebar and shifted navigation operations extend the selection between the anchor and the location cursor, based on the toggle mechanism used by Control+BSelect (Anchor Toggle or Full Toggle). Add mode permits use of the keyboard to make multiple discontiguous selections. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-24: |
Your application uses the Cancel key to cancel or undo any incomplete motion operation used for selection. Once the user presses the Cancel key to cancel a motion operation, the application ignores subsequent key and button releases until after all buttons and keys are released. Pressing the Cancel key while extending or toggling leaves the selection state of all elements as they were prior to the button press. The Cancel key allows the user to cancel an incomplete selection operation quickly and consistently. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-25: |
If the user drags the pointer out of a scrollable collection during a motion-based selection operation, autoscrolling is used to scroll the collection in the direction of the pointer. If the user presses the Cancel key with BSelect pressed, the selection operation is canceled. Autoscrolling provides a convenient means of extending a selection to elements outside the viewport of a scrollable collection. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-26: |
In a collection that uses multiple, range, or discontiguous selection, Control+/ selects all the elements in the collection, places the anchor at the beginning of the collection, and leaves the location cursor at its previous position. Control+/ provides the user with a convenient means of selecting all of the objects in a collection. |
|
Required |
_ |
_ |
_ |
4-27: |
In a collection that is in add mode, Control+\ deselects all the elements in the collection. In a collection that is in normal mode, Control+\ deselects all the elements in the collection, except the element with the location cursor if the location cursor is being displayed. In either mode, Control+\ leaves the location cursor at its current position and moves the anchor to the location cursor. Control+\ allows the user to deselect all of the selected objects quickly and uniformly. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-28: |
If your application supports mnemonics associated with selectable elements, typing a mnemonic while the collection has the keyboard focus is equivalent to moving the location cursor to the element and pressing the Select key or Spacebar. Mnemonics within a collection of selectable elements provide an additional selection method. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-38: |
Keyboard-based clipboard selection actions are available in every editable collection in your application. Clipboard selection actions need to be available from the keyboard. |
|
Required |
_ |
_ |
_ |
4-39: |
Your application uses the Cut key (or Shift+Delete) and the Cut entry on the Edit menu to cut the selected elements from an editable component to the clipboard. 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 |
_ |
_ |
_ |
4-40: |
Your application uses the Copy key (or Control+Insert) and the Copy entry on the Edit menu to copy the selected elements to the clipboard. 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 |
_ |
_ |
_ |
4-41: |
Your application uses the Paste key (or Shift+Insert) to paste the contents of the clipboard into an editable component. The Paste key (or Shift+Insert) offers a consistent way of pasting the contents of the clipboard from the keyboard. |
|
Required |
_ |
_ |
_ |
4-42: |
If Paste or Paste Link is invoked using a component's pop-up menu, the data is pasted at the insertion position of the component. However, if the pop-up menu is popped up over a selection, the selection is first deleted, even if pending delete is disabled, and the pasted data replaces it, if possible. Popping up a pop-up menu over a selection indicates that a Paste or Paste Link operation should replace the selection. |
|
Required |
_ |
_ |
_ |
4-43: |
If Paste or Paste Link is invoked from the Edit menu or by a keyboard operation, and the insertion position in the target component is not disjoint from a selection, the pasted data replaces the selection contents if pending delete is enabled. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-44: |
In an editable collection, BTransfer Click, Control+BTransfer Click, Alt, Copy, and Control+Alt+Insert copy the primary selection to the insertion position. (Note that the insertion position is usually different for mouse and keyboard operations.) These operations provide a convenient way for the user to force a copy operation. |
|
Required |
_ |
_ |
_ |
4-45: |
In an editable collection, Shift+BTransfer Click, Alt+Cut, and Alt+Shift+Delete move the primary selection to the insertion position. (Note that the insertion position is usually different for mouse and keyboard operations.) These operations provide a convenient way for the user to force a move operation. |
|
Required |
_ |
_ |
_ |
4-46: |
In an editable collection, Control+Shift+BTransfer Click places a link to the primary selection at the insertion position. Control+Shift+BTransfer provides a convenient way for the user to force a link operation. |
|
Required |
_ |
_ |
_ |
4-47: |
A Primary Move moves the primary selection as well as the elements selected; that is, the element moved to the destination becomes selected as the primary selection. Primary Copy and Primary Link do not select transferred data at the destination. This rule provides the expected treatment of the selection in a move, copy, and link operation. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-48: |
All text components support quick transfer. 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 |
_ |
_ |
_ |
4-49: |
If a component supports quick transfer, Alt+BTransfer Motion or Control+Alt+BTransfer Motion temporarily selects elements in the specified range and, on release, copies them to the insertion position of the destination component. These operations provide a convenient way to perform a quick copy. |
|
Required |
_ |
_ |
_ |
4-50: |
If a component supports quick transfer, Alt+Shift+BTransfer Motion temporarily selects elements in the specified range and, on release, moves them to the insertion position of the destination component. This operation provides a convenient way to perform a quick cut. |
|
Required |
_ |
_ |
_ |
4-51: |
If a component supports quick transfer, Control+Alt+Shift+BTransfer Motion temporarily selects elements in the specified range and, on release, places a link to them at the insertion position of the destination component. This operation provides a convenient way to perform a quick link. |
|
Required |
_ |
_ |
_ |
4-52: |
Quick transfer does not disturb the primary selection or affect the clipboard, except when the destination of the transfer is within or on the boundaries of the primary selection and pending delete is enabled. In this case, quick transfer deletes the contents of the primary selection, leaving an empty primary selection, before pasting the transferred elements. 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 |
_ |
_ |
_ |
4-53: |
With quick transfer, the range of the temporary selection is determined by using the same model as when BSelect Motion determines the range of a primary selection. This rule provides consistency between primary selection and quick transfer operations. |
|
Required |
_ |
_ |
_ |
4-54: |
If the user drags the pointer out of a scrollable collection while making the temporary selection, autoscrolling is used to scroll the collection in the direction of the pointer. If the user releases BTransfer with the pointer outside of the collection, or if the user presses the Cancel key with BTransfer pressed, the highlighting is removed and a transfer is not performed. Autoscrolling provides a convenient means of extending a temporary selection to elements outside the viewport of a scrollable collection. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
4-55: |
In a collection that supports selection, Shift+BTransfer Release or Shift+BSelect Release forces a drag move operation. If a move is not possible, the operation fails. This mechanism offers a convenient way for the user to force a move operation. |
|
Required |
_ |
_ |
_ |
4-56: |
In a collection that supports selection, Control+BTransfer Release or Shift+BSelect Release forces a drag copy operation. If a copy is not possible, the operation fails. This mechanism offers a convenient way for the user to force a copy operation. |
|
Required |
_ |
_ |
_ |
4-57: |
In a collection that supports selection, Control+Shift+BTransfer Release pr Shift+BSelect Release forces a drag link operation. If a link is not possible, the operation fails. This mechanism offers a convenient way for the user to force a link operation. |
|
Required |
_ |
_ |
_ |
4-58: |
When a drag move operation moves a selection within the same component, the selection moves along with the elements selected. 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 |
_ |
_ |
_ |
4-59: |
In text-like collections, initiating a drag within a selected region drags the entire text selection. To be consistent, drag-and-drop actions need to operate on the entire selection. |
|
Required |
_ |
_ |
_ |
4-60: |
In list-like and graphics-like collections, initiating a drag with either BSelect or BTransfer on a selected element drags the entire selection. To be consistent, drag-and-drop actions need to operate on the entire selection. |
|
Required |
_ |
_ |
_ |
4-61: |
In list-like and graphics-like collections, initiating a drag with BTransfer or BSelect on an unselected element drags just that element and leaves the selection unaffected. Unselected elements can be dragged without affecting the selection. |
|
Required |
_ |
_ |
_ |
4-62: |
When a drag is initiated in an unselected region and the pointer is over two possible draggable elements, the drag uses the draggable element highest in the stacking order. This guideline ensures the consistency of drag operations. |
|
Required |
_ |
_ |
_ |
4-63: |
When your application starts a drag operation, the pointer is replaced with a drag icon. A drag icon provides visual feedback that a drag operation is in progress. |
|
Required |
_ |
_ |
_ |
4-64: |
All drag icons used by your application include a source indicator. A source indicator gives a visual representation of the elements being dragged. |
|
Required |
_ |
_ |
_ |
4-65: |
Pressing the Cancel key ends a drag-and-drop operation by canceling the drag in progress. The Cancel key provides a consistent way for the user to cancel a drag operation. |
|
Required |
_ |
_ |
_ |
4-66: |
Releasing BTransfer ends a drag-and-drop operation. Releasing BTransfer offers a consistent means of ending a drag operation. |
|
Required |
_ |
_ |
_ |
4-67: |
When BTransfer (or BSelect) is released, the drop operation ordinarily occurs at the location of the hot spot of the drag icon pointer and into the highest drop zone in the stacking order. However, if a drop occurs within a selection and pending delete is enabled, the transferred data replaces the contents of the entire selection. This rule provides consistency in the treatment of mouse-based transfer operations. |
|
Required |
_ |
_ |
_ |
4-68: |
After a successful transfer, the data is placed in the drop zone, and any transfer icon used by your application is removed. 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 |
_ |
_ |
_ |
4-69: |
After a failed transfer, the data remains at the drag source and is not placed in the drop zone. Any transfer icon used by your application is removed. A failed drop operation does not result in the transfer of data. |
|
Recommended |
_ |
_ |
_ |
s: |
In a collection that supports selection, if BTransfer Motion (or BSelect Motion) results in the start of a drag operation, feedback is presented to the user that indicates that a copy, move, or link operation is in progress. Whether the operation is a copy, move, or link depends on the type of object created at the drop zone and whether the source object is removed. 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 |
_ |
_ |
_ |
t: |
In a collection that supports selection, if Control+BTransfer Motion or Control+BSelect Motion results in the start of a drag operation, feedback is presented to the user that indicates that a copy operation is in progress. The feedback presented should incorporate use of a drag icon that portrays the source object being copied. |
|
Recommended |
_ |
_ |
_ |
u: |
In a collection that supports selection, if Control+Shift+BTransfer Motion or Control+Shift+BSelect Motion results in the start of a drag operation, feedback is presented to the user that indicates that a link operation is in progress. The feedback presented should incorporate use of a drag icon that portrays the source object being linked. |
|
Recommended |
_ |
_ |
_ |
v: |
In a collection that supports copy, move, or link operations that can be performed by dragging, the feedback presented to the user during the drag operation indicates whether a single object or multiple objects are being manipulated. 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 |
_ |
_ |
_ |
w: |
If your application allows the user to paste data into its data pane, it allows the user to drag and drop files from the File Manager into the data pane. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-1: |
Your application uses BSelect to activate a button. BSelect, the first mouse button, provides a consistent means of activating a button using the mouse. |
|
Required |
_ |
_ |
_ |
5-2: |
When a button has the focus, your application uses the Select key or Spacebar to activate the button. The Select key and Spacebar provide a uniform way of selecting a button. Selecting a button is equivalent to activating the button. |
|
Required |
_ |
_ |
_ |
5-3: |
When an activatable menu entry has the focus, your application uses the Select, Spacebar, Enter, or Return key to activate the entry. The Select, Spacebar, Enter, and Return keys offer a consistent means of activating a menu entry using the keyboard. |
|
Required |
_ |
_ |
_ |
5-4: |
When BSelect is pressed over a button, the appearance of the button changes to indicate that releasing BSelect will activate the button. If, while BSelect is pressed, the pointer is moved outside of the button, the visual state is restored. If, while BSelect is still pressed, the pointer is moved back inside of the button, the visual state is again changed to indicate the pending activation. If BSelect is pressed and released within a button, the button is activated, regardless of whether the pointer has moved out of the button while it was pressed. 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 |
_ |
_ |
_ |
5-5: |
If a selectable element of a collection is activatable, BSelect Click, the Select key, and Spacebar (except in text) select it. BSelect Click 2 selects and activates it. This rule provides for consistent integration of activation and selection in a collection where elements can be both selected and activated. |
|
Required |
_ |
_ |
_ |
x: |
The time allowed to detect a double click (*doubleClickTime: 500) should be no less than 500 milliseconds. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-6: |
If your application uses accelerators, the component with the accelerator displays the accelerator key or key combination following the label of the component. 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 |
_ |
_ |
_ |
5-7: |
If a button with an accelerator is within a primary or secondary window, or within a pull-down menu system from its menu bar, it is activatable whenever the input focus is in the window or the menu bar system. If a button with an accelerator is within a pop-up menu system, it is activatable whenever the focus is in the pop-up menu system or the component with the pop-up menu. An accelerator must be activatable from the window or component associated with the accelerator. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-8: |
If your application uses mnemonics, the label for the component with the mnemonic contains the character that is its mnemonic. If the label does not naturally contain the character, the mnemonic is placed in parentheses following the label. 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 |
_ |
_ |
_ |
y: |
Mnemonic characters must be chosen for ease-of-location within the text of a label. Wherever possible, use the first character of the label. If that is not possible, try to use the last character of the label, or if there is more than one word, the first character of the second word. After that, go through the label from the second character on until a unique mnemonic is found. |
|
Required |
_ |
_ |
_ |
5-9: |
All mnemonics are case insensitive for activation. The user must be able to activate a mnemonic by pressing either the lowercase or the uppercase variant of the mnemonic key. |
|
Required |
_ |
_ |
_ |
5-10: |
When the location cursor is within a menu or a menu bar, pressing the mnemonic key of a component within that menu or menu bar moves the location cursor to the component and activates it. If a mnemonic is used for an option button or for a cascading button in a menu bar, pressing Alt and the mnemonic anywhere in the window or its menus moves the cursor to the component with that mnemonic and activates it. 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. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-11: |
Activating a tear-off button tears off the menu that contains the button. 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 |
_ |
_ |
_ |
5-12: |
When a menu with a tear-off button is posted, pressing BTransfer in the tear-off button starts a tear-off action. As long as BTransfer is held, a representation of the menu follows the movement of the pointer. Releasing BTransfer ends the tear-off action by unposting the menu system, creating a new window at the current pointer location that contains the contents of the menu, and giving focus to the new window in explicit pointer mode. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-13: |
Your application uses the Help key on a component to invoke any context-sensitive help for the component or its nearest ancestor with context-sensitive help available. The Help key offers the user a consistent mechanism for invoking context-sensitive help. |
|
Required |
_ |
_ |
_ |
z: |
Your application provides context-sensitive help at all locations. The user should never get a "help not available" message. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-14: |
If your application uses default push buttons in a window, the current default push button is highlighted. When the focus is on a push button, its action is the default action, and the push button shows default highlighting. If the default action in a window varies, some push button always has default highlighting, except when there is no current default action. 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 |
_ |
_ |
_ |
5-15: |
When focus is in a window with a default action and an activatable menu does not have the focus, the Enter key and Control+Return invoke the default action. If focus is in a component other than multiline text or an activated menu, Return also invokes the default action. These actions have no other effect on the component with the focus, unless the default action has some effect on that component. These rules ensure that the means of invoking a default action are consistent across applications. |
|
Required |
_ |
_ |
_ |
5-16: |
Except in the middle of a button motion operation, pressing the Cancel key anywhere in a dialog box is equivalent to activating the Cancel push button in the dialog box. The Cancel key provides a uniform means of canceling dialog box from the keyboard. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-17: |
If your application supports expert activation, expert actions exist only as shortcuts to application features that are available through another mechanism. 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 |
_ |
_ |
_ |
5-18: |
When the focus is on a button used for expert activation, no default action is available, unless the default and expert actions are the same. This rule minimizes possible confusion between default and expert activation. |
|
Required |
_ |
_ |
_ |
5-19: |
If a component with an expert action is selectable, activating the expert action first selects the component and then performs the expert action. A user needs to be able to select a component, even if it has an expert action associated with it. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
5-20: |
If your application supports activation preview using BSelect, the previewing information is removed when the user releases BSelect. 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. |
This section corresponds to section 7.2 of the OSF/Motif Style Guide, Revision 1.2. The different window types are discussed throughout the OSF/Motif Style Guide, Revision 1.2 and this book. In particular, see Chapter 6, Application Design Principles.
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
aa: |
Application windows should be clearly distinguishable as primary or secondary windows based on appearance and behavior. Primary Window:
Secondary Window:
|
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
ab: |
Windows that support particular window management functionality must request the corresponding window decoration (for example, a window that can be minimized should request the minimize button). |
|
Required |
_ |
_ |
_ |
ac: |
Windows that support any window management functionality (move, resize, minimize, maximize, close, and others) must have a window menu with items for that functionality. |
|
Required |
_ |
_ |
_ |
ad: |
Follow Common Desktop Environment window decoration conventions, as shown in Table 10-1. |
.
Table 10-1 Common Desktop Environment Window Decoration Conventions
This section corresponds to section 7. 4 of OSF/Motif Style Guide, Revision 1.2. There are no checklist items for application developers.
|
y |
n/a |
n |
|
|
|
Optional |
_ |
_ |
_ |
ah: |
Applications should provide unique window icons for their primary windows. The window icon image should have a similar appearance to the associated file or Front Panel icon image. |
|
Optional |
_ |
_ |
_ |
ai: |
The window icon label should contain the same text as the title of the corresponding primary window, or an abbreviated form of it. Refer to "Layout" for window title guidelines. |
|
Optional |
_ |
_ |
_ |
aj: |
The window icon image should have a similar appearance to the associated file or Front Panel icon image. Refer to "Design Philosophy and Helpful Hints". |
|
y |
n/a |
n |
|
|
|
Recommend |
_ |
_ |
_ |
ak: |
Applications should not require or force windows or window icons to be positioned at a particular screen location. |
|
Recommend |
_ |
_ |
_ |
al: |
A secondary window is placed by the application relative to the associated primary window. It should be placed close to, but not obscuring, the component that caused it to be displayed and the information that is necessary to interact with the dialog box. 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 |
_ |
_ |
_ |
am: |
If a dialog box does not relate to specific items in the underlying window, it should be placed below the menu bar (if there is one) and centered (horizontally) over the work area. |
|
Recommend |
_ |
_ |
_ |
an: |
If a secondary window is allowed to be stacked below its associated primary window (not constrained to stay on top of the primary window), it should be placed such that it is not completely covered by the primary window. This recommendation takes precedence over other placement recommendations. |
|
Recommend |
_ |
_ |
_ |
ao: |
If a menu or dialog box is already on display, reinvoking the command that caused it to be displayed automatically brings that window or menu to the front of the window stack without changing its position on the screen. |
|
y |
n/a |
n |
|
|
|
Optional |
_ |
_ |
_ |
ap: |
Windows that are closely related in supporting a particular task should be placed in a window cluster. Secondary windows are automatically placed in a window cluster with the associated primary window. Windows in a window cluster are stacked together, minimized or normalized together, and kept in the same workspace. |
Currently the only mechanism for forming a window cluster that is supported by the Window Manager is to indicate a primary-secondary relationship.
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
aq: |
Windows should follow Common Desktop Environment window management functionality conventions, as shown in Table 10-2 |
.
Table 10-2 Common Desktop Environment Window Management Conventions
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
ar: |
Windows that support particular window management functionality should request corresponding window decoration (for example, a window that can be minimized should request the minimize button). |
|
Required |
_ |
_ |
_ |
as: |
Windows that have form factor constraints need to set Window Manager hints for minimum size, maximum size, aspect ratio, and resize increment as appropriate. |
|
Recommended |
_ |
_ |
_ |
at: |
Maximizing a window should show more content (objects or controls) if appropriate (as opposed to scaling up the sizes of objects and controls). |
|
Required |
_ |
_ |
_ |
au: |
Windows that have Close or Exit functionality need to support the window management protocol for Close if there is a window menu. In the case of dialog boxes, the Close item on the window menu corresponds to the Cancel functionality or dialog box dismissal with no further action taken. |
|
Recommended |
_ |
_ |
_ |
av: |
When your application creates a new window, it should come up in the user's current workspace and only occupy that single workspace. |
|
Recommended |
_ |
_ |
_ |
aw: |
Application windows that are related to a particular task should move together between workspaces. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
ax: |
Applications should support Interclient Communications Conventions Manual (ICCCM) mechanisms for session management of their primary windows and key properties. |
|
Required |
_ |
_ |
_ |
ay: |
Applications should support ICCCM mechanisms for session management of all associated windows (that is, secondary windows that may include help windows). |
|
Optional |
_ |
_ |
_ |
az: |
Applications should accept messages from the Common Desktop Environment Session Manager that inform them the user is logging out and should save their state at that time. |
|
Optional |
_ |
_ |
_ |
ba: |
Applications that have a single primary window that is open at the time the user logs out should restore the primary window, in the workspace last occupied, when the user logs in again. |
|
Optional |
_ |
_ |
_ |
bb: |
Save user context wherever possible. For example, applications that support the editing of files should save the state of the file at logout and should restore the file in the application window when users log in again. |
|
Optional |
_ |
_ |
_ |
bc: |
Applications that have multiple primary windows that are open at the time the user logs out should restore all primary windows, in their respective workspaces, when the user logs in again. |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
6-1: |
Your application should be composed of at least one main window. A main window contains a client area and, optionally, a menu bar, a command area, a message area, and scroll bars. The client area contains the framework of the application. The use of a main window ensures interapplication consistency. |
|
Required |
_ |
_ |
_ |
bd: |
The default size of the application's main window must be large enough to accommodate a typical amount of data, but should not fill the entire physical display size to minimize visual conflicts with other applications. Each application potentially must share the display with other applications. The default window size should not take up all the available screen space. |
|
Required |
_ |
_ |
_ |
be: |
Resize corners should be included in any main window that incorporates a scrolling data pane or list. 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 |
_ |
_ |
_ |
6-2: |
If your application has multiple main windows that serve the same primary function, each window closes and iconifies separately. 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 |
_ |
_ |
_ |
6-3: |
If your application has multiple main windows that serve different primary functions, each window should be able to iconify independently of the other windows. 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. |
|
y |
n/a |
n |
|
|
|
Optional |
_ |
_ |
_ |
bf: |
The title of your primary window (the main window your application displays to the user) should be the name of your application. 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 |
_ |
_ |
_ |
bg: |
Use initial capital letters for each word in the title (in languages that support capitalization). |
|
Optional |
_ |
_ |
_ |
bh: |
Follow the application name for each property window, as a minimum, with the title Properties and the name of the object it affects. |
|
Optional |
_ |
_ |
_ |
bi: |
Begin the title of each pop-up window with the application title followed by a colon, then the title of the pop-up window. The colon should have a space both before and after it for readibility. Pop-up windows should always indicate which primary window they are associated with (which primary window invoked that pop-up). |
|
Optional |
_ |
_ |
_ |
bj: |
Use a hyphen to denote the current file name, when the application has files that can be loaded or saved. The hyphen should have a space before and after it. Only the base name of the file should be displayed, not the entire path. 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 |
|
Optional |
_ |
_ |
_ |
bk: |
Follow the application name for each command window with the same title that is on the window button or window item users choose to display that window. |
|
Recommended |
_ |
_ |
_ |
bl: |
In the case of multiple primary windows, include the application name at the beginning of each window title, and add a name that uniquely identifies that primary window. No separator should be provided for these names (for example, Calendar Manager Multibrowse, Catalog Search, Admintool Databases). |
|
Optional |
_ |
_ |
_ |
bm: |
An abbreviated name for the application may be used on other windows, so long as it is done on all windows. |
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
bq: |
If the user chooses Exit, or in any other manner indicates that the application should be terminated, but there are changes to the current file that have not been saved, your application displays a dialog box asking whether the changes should be saved before exiting. 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 |
_ |
_ |
_ |
6-7 |
If your application uses a File menu, it contains the following choices, with the specified functionality, when the actions are actually supported by your application. |
|
Required |
_ |
_ |
_ |
|
New |
Creates a new file. If the current client area will be used to display the new file, your application clears the existing data from the client area. If changes made to the current file will be lost, your application displays a dialog box, asking the user about saving changes. The mnemonic is N. |
Required |
_ |
_ |
_ |
|
Open ... |
Opens an existing file by prompting the user for a file name with a dialog box. If changes made to the current file will be lost, your application displays a dialog box asking the user about saving changes. The mnemonic is O. |
Required |
_ |
_ |
_ |
|
Save ... |
Saves the currently opened file without removing the existing contents of the client area. If the file has no name, your application displays a dialog box, prompting the user to enter a file name. The mnemonic is S. |
Required |
_ |
_ |
_ |
|
Save As... |
Saves the currently opened file under a new name by prompting the user for a file name with a dialog box. If the user tries to save the file using an existing name, your application displays a dialog box that warns the user about a possible loss of data. Does not remove the existing contents of the client area. The mnemonic is A. |
Recommended |
_ |
_ |
_ |
|
|
Schedules a file for printing. If your application needs specific information to print, it displays a dialog box, requesting the information from the user. In this case, the menu entry is followed by an ellipsis (Print...). The mnemonic is P. |
Recommended |
_ |
_ |
_ |
|
Close |
Closes the current primary window and its associated secondary windows. If your application uses only a single primary window or multiple dependent primary windows, this action is not supplied. The mnemonic is C. |
Required |
_ |
_ |
_ |
|
Exit |
Ends the current application and all windows associated with it. If changes made to the current file will be lost, your application displays a dialog box, asking the user about saving changes. The mnemonic is X. |
|
|
|
|
|
The use of a File menu with these common file operations yields consistency across applications. |
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
br: |
If your application uses an <object-type> menu or a Selected menu, it contains the following choices, with the specified functionality, when the actions are actually supported by your application. Items should be presented to the user in the order listed below. The <object-type> menu contains controls that allow the user to create instances of the object-type. Both the <object-type> and Selected menus allow the user to manipulate object instances. Additional items should be added to the <object-type> or Selected menus if they relate solely to the manipulation of objects managed by the application (as opposed to more generic services that the application might provide). |
|
Recommended |
_ |
_ |
_ |
|
New ... |
Creates a new instance of the object-type. If appropriate, a dialog box is presented allowing the user to specify the values for settings associated with that object. |
Optional |
_ |
_ |
_ |
|
Move To ... |
Allows the user to move the selected objects into a folder. A file selection dialog box is displayed allowing the user to select the desired folder. |
Optional |
_ |
_ |
_ |
|
Copy To ... |
Allows the user to copy the selected objects into a folder. A file selection dialog box is displayed allowing the user to select the desired folder. |
Optional |
_ |
_ |
_ |
|
Put in Workspace |
Allows the user to put a link for the object onto the Common Desktop Environment desktop in the current workspace. |
|
|
|
_ |
|
Any of the preceding three menu choices should be provided only if the objects managed by your application are able to reside as separate entities outside of your application's main window. For example, a printer object created by a printer management application might be able to be placed in a Folder window and function as an application unto itself. Your application should also support drag and drop as a method for performing any of these actions. |
|
Optional |
_ |
_ |
_ |
|
Delete |
Removes the selected objects. A confirmation dialog box should be presented to the user before the object is actually deleted. |
Recommended |
_ |
_ |
_ |
|
Properties |
Displays a Properties window that shows the current values for settings associated with the selected object. |
Recommended |
_ |
_ |
_ |
|
<Default Action> |
This choice should enact the default action for the selected object. "Open" is a typical default. |
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
6-8 |
If your application uses an Edit menu, it contains the following choices, with the specified functionality, when the actions are actually supported by your application: |
|
Optional |
_ |
_ |
_ |
|
Undo |
Reverses the most recently executed action. The mnemonic is U. |
Optional |
_ |
_ |
_ |
|
Cut |
Removes the selected portion of data from the client area and puts it on the clipboard. The mnemonic is T. |
Optional |
_ |
_ |
_ |
|
Copy |
Copies the selected portion of data from the client area and puts it on the clipboard. The mnemonic is C. |
Optional |
_ |
_ |
_ |
|
Copy Link |
Copies a link of the selected portion of data from the client area and puts it on the clipboard. The mnemonic is K. |
Optional |
_ |
_ |
_ |
|
Paste |
Pastes the contents of the clipboard into the client area. The mnemonic is P. |
Optional |
_ |
_ |
_ |
|
Paste Link |
Pastes a link of the data represented by the contents of the clipboard into the client area. The mnemonic is L. |
Optional |
_ |
_ |
_ |
|
Clear |
Removes a selected portion of data from the client area without copying it to the clipboard and does not compress the remaining data. The mnemonic is E. |
Optional |
_ |
_ |
_ |
|
Delete |
Removes a selected portion of data from the client area without copying it to the clipboard. The mnemonic is D. |
Optional |
_ |
_ |
_ |
|
Select All |
Sets the primary selection to be all the elements in a component of the client area. |
Optional |
_ |
_ |
_ |
|
Deselect All |
Removes from the primary selection all the elements in a component of the client area. |
Optional |
_ |
_ |
_ |
|
Select Pasted |
Sets the primary selection to the last element or elements pasted into a component of the client area. |
Optional |
_ |
_ |
_ |
|
Reselect |
Sets the primary selection to the last selected element or elements in a component of the client area. This action is available only in components that do not support persistent selections and only when the current selection is empty. |
Optional |
_ |
_ |
_ |
|
Promote |
Promotes to the primary selection the current selection of a component of the client area. This action is available only for components that support persistent selections. |
|
_ |
_ |
_ |
|
The use of an Edit menu with these common editing operations yields consistency across applications. |
|
Recommended |
_ |
_ |
_ |
bs: |
If your application does not provide an <object-type> or Selected menu, but allows the user to select data within the window and manage settings for the selected data, then it provides a Properties ... choice as the last item in the Edit menu. |
|
Required |
_ |
_ |
_ |
6-9: |
This item has been deleted. |
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
bt: |
If your application provides a View menu, it only contains functions that affect the way the current data is presented. It does not contain any option that alters the data itself. |
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
bu: |
If your application has global settings that control the way the application behaves, it provides an Options menu from which these can be set. |
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
bv: |
If your application includes a Help menu, it contains the following set of choices, with the specified functionality, when the actions are actually supported by your application. The Help choices included here supersede those listed for Motif 1.2. |
|
Required |
_ |
_ |
_ |
|
Overview |
Provides general information about the window from which help was accessed or about the application overall. The mnemonic is V. Place a separator after. |
Optional |
_ |
_ |
_ |
|
Index |
Provides an index listing topics for all help information available for your application. The mnemonic is I. |
Recommended |
_ |
_ |
_ |
|
Table of Contents |
Provides a table of contents listing topics for all help information available for your application. The mnemonic is C. |
Recommended |
_ |
_ |
_ |
|
Tasks |
Provides access to help information indicating how to perform different tasks using your application. The mnemonic is T. |
Recommended |
_ |
_ |
_ |
|
Reference |
Provides access to reference information. The mnemonic is R. |
Optional |
_ |
_ |
_ |
|
Tutorial |
Provides access to your application's tutorial. The mnemonic is L. |
Optional |
_ |
_ |
_ |
|
Keyboard |
Provides information about your application's use of function keys, mnemonics, and keyboard accelerators. Also provides information on general Common Desktop Environment use of such keys. The mnemonic is K. |
Optional |
_ |
_ |
_ |
|
Mouse |
Provides information about using a mouse with your application. The mnemonic is M. |
Optional |
_ |
_ |
_ |
|
Mouse and Keyboard |
Provides information about your application's use of function keys, mnemonics, keyboard accelerators, and using a mouse with your application. Also provides information on general Common Desktop Environment use of such keys. The mnemonic is M. Use rather than separate mouse and keyboard choices if this information is best presented together. |
Optional |
_ |
_ |
_ |
|
On Item |
Initiates context-sensitive help by changing the shape of the pointer to the question mark pointer. When the user moves the pointer to a component and presses BSelect, any available context-sensitive help for the component is presented. The mnemonic is O. Set off with separators on both sides. |
Required |
_ |
_ |
_ |
|
Using help |
Provides information on how to use the Common Desktop Environment Help Viewer. The mnemonic is U. Set off with separators on both sides. |
Required |
_ |
_ |
_ |
|
About applicationname |
Displays a dialog box indicating, minimally, the name and version of your application, and displays its icon or some other signature graphic for your application. The mnemonic is A. |
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
bw: |
If your application uses an attachment menu, it contains the following choices, with the specified functionality, when the actions are actually supported by your application. |
|
Recommended |
_ |
_ |
_ |
|
Add File ... |
Selects files and other items to be attached. A file selection box is displayed allowing the user to select the desired files to attach. The default button in the file selection box is Attach. |
Recommended |
_ |
_ |
_ |
|
Save As ... |
Saves the currently selected attachments. The user is prompted with a file selection dialog box for indicating where in the file system the attachments are to be saved. When multiple attachments are selected, the name field is inactive and the current names of the attachments are used as the name of the new file. This menu item is active only when one or more attachments are selected. |
Recommended |
_ |
_ |
_ |
|
Rename ... |
Renames the attachment icon. The application should provide in-line renaming of attachment icons, such as File Manager uses. If the application cannot provide in-line renaming, then Rename allows the user to rename an attachment by displaying a dialog box, requesting the name from the user. This menu item is active only when a single attachment is selected. It is not active when multiple attachments are selected. |
Recommended |
_ |
_ |
_ |
|
Delete |
Deletes attachments from the attachment list. This menu item is active only when an attachment is selected. |
Recommended |
_ |
_ |
_ |
|
Select All |
Selects all the attachments in the attachment list. |
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
|
y |
n/a |
n |
|
|
|
Recommended |
_ |
_ |
_ |
bx: |
If your application provides functions that apply to a data pane and not any specific element therein, then a pop-up menu is provided that contains the frequently used data pane functions and is accessible by pressing BMenu when the mouse pointer is over the background of the pane or a nonselectable element within the pane. |
|
Recommended |
_ |
_ |
_ |
by: |
Your application should provide a pop-up menu for any element that is selectable within its data pane. 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 |
_ |
_ |
_ |
bz: |
When a pop-up menu is displayed over an unselected object, any action selected from the pop-up menu applies to that object only, and not to any other objects that might currently be selected. 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 |
_ |
_ |
_ |
ca: |
Every pop-up menu in your application has a title that indicates the function the menu performs or the element on which it operates. |
|
Recommended |
_ |
_ |
_ |
cb: |
The functions accessible from within your application's pop-up menus are also accessible from buttons displayed within the window or menus accessed through the menu bar. 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 |
_ |
_ |
_ |
6-11: |
If your application uses any of the common pop-up menu actions, the actions function according to the following specifications. |
|
Optional |
_ |
_ |
_ |
|
Properties |
Displays a Properties dialog box that the user can use to set the properties of the component. |
Optional |
_ |
_ |
_ |
|
Undo |
Reverses the most recently executed action. |
Optional |
_ |
_ |
_ |
|
Primary Move |
Moves the contents of the primary selection to the component. This action is available only in editable components. |
Optional |
_ |
_ |
_ |
|
Primary Copy |
Copies the contents of the primary selection to the component. This action is available only in editable components. |
Optional |
_ |
_ |
_ |
|
Primary Link |
Places a link to the primary selection in the component. This action is available only in editable components. |
Optional |
_ |
_ |
_ |
|
Cut |
Cuts elements to the clipboard. If the menu is popped up in a selection, cuts the entire selection to the clipboard. |
Optional |
_ |
_ |
_ |
|
Copy |
Copies elements to the clipboard. If the menu is popped up in a selection, this action copies the entire selection to the clipboard. |
Optional |
_ |
_ |
_ |
|
Copy Link |
Copies a link of elements to the clipboard. If the menu is popped up in a selection, copies a link to the entire selection to the clipboard. |
Optional |
_ |
_ |
_ |
|
Paste |
Pastes the contents of the clipboard to the component. This action is available only in editable components. |
Optional |
_ |
_ |
_ |
|
Paste Link |
Pastes a link of the contents of the clipboard to the component. This action is available only in editable components. |
Optional |
_ |
_ |
_ |
|
Clear |
Removes a selected portion of data from the client area without copying it to the clipboard. If the menu is popped up in a selection, deletes the selection. |
Optional |
_ |
_ |
_ |
|
Delete |
Removes a selected portion of data from the client area without copying it to the clipboard. If the menu is popped up in a selection, deletes the selection. |
Optional |
_ |
_ |
_ |
|
Select All |
Sets the primary selection to be all of the elements in the collection with the pop-up menu. |
Optional |
_ |
_ |
_ |
|
Deselect All |
Deselects the current selection in the collection with the pop-up menu. |
Optional |
_ |
_ |
_ |
|
Select Pasted |
Sets the primary selection to be the last element or elements pasted into the collection with the pop-up menu. |
Optional |
_ |
_ |
_ |
|
Reselect |
Sets the primary selection to be the last selected element or elements in the component with the pop-up menu. This action is available only in components that do not support persistent selections and only when the current selection is empty. |
Optional |
_ |
_ |
_ |
|
Promote |
Promotes the current selection to the primary selection. It is available only in components that support persistent selections. |
|
|
|
|
|
The use of pop-up menus with these common actions yields consistency across applications. |
|
Recommended |
_ |
_ |
_ |
cc: |
Pop-up menus for selectable objects contain the following set of choices, with the specified functionality, when the actions are actually supported by your application. |
|
Optional |
_ |
_ |
_ |
|
Move To ... |
Allows the user to move the selected objects into a folder. A file selection dialog box is displayed allowing the user to select the desired folder. |
Optional |
_ |
_ |
_ |
|
Copy To ... |
Allows the user to copy the selected objects into a folder. A file selection dialog box is displayed allowing the user to select the desired folder. |
Optional |
_ |
_ |
_ |
|
Put in Workspace |
Allows the user to put a link for the selected objects onto the Common Desktop Environment desktop in the current workspace. |
Optional |
_ |
_ |
_ |
|
Delete |
Deletes the selected object. A confirmation is displayed to the user before actually removing the object. |
Optional |
_ |
_ |
_ |
|
Properties ... |
Displays a dialog box indicating the current settings for attributes associated with the selected object. |
Optional |
_ |
_ |
_ |
|
Help ... |
Displays a help window pertaining to objects of the type selected. |
Optional |
_ |
_ |
_ |
cd: |
Choices within your pop-up menus are organized in the following manner: <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 |
_ |
_ |
_ |
6-12: |
When a pop-up menu is popped up in the context of a selection, any action that acts on elements acts on the entire selection. In the context of a selection, pop-up menu actions affect the entire selection. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
6-13: |
Information dialog boxes do not interrupt the user's interaction with your application. An information dialog box conveys information to the user that does not require immediate attention, so it does not need to be modal. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
ce: |
If the selection of a menu item will result in the user being queried for more information, such as through the posting of a file selection dialog, the menu item should be followed by an ellipsis ("..."). This requirement does not apply to menu items that will result in a simple warning or confirmation dialog being displayed. 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 |
_ |
_ |
_ |
cf: |
Menus accessed from within your application contain at least two menu items. 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 |
_ |
_ |
_ |
cg: |
Submenus accessed from within your application contain at least three menu items. 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 |
_ |
_ |
_ |
ch: |
No menu in your application contains more than 15 choices. 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 |
_ |
_ |
_ |
ci: |
If your application contains a menu that is expected to be accessed frequently, then a tear-off menu option is provided in that menu. 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 |
_ |
_ |
_ |
cj: |
Provide keyboard accelerators where appropriate. 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 |
_ |
_ |
_ |
ck: |
The labels used for items in the menu bar do not appear as options within the menus themselves. 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 |
_ |
_ |
_ |
cl: |
Any menu choice that is not currently an appropriate selection is dimmed (insensitive). 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 |
_ |
_ |
_ |
cm: |
If a menu item is used to indicate a selection state, use a checkbox or radio button to indicate the state of the item. Use a checkbox if a single item is used to represent on or off states, and use radio buttons for multiple adjacent menu items in which only one of the items may be selected. |
Required |
_ |
_ |
_ |
cn: |
If radio buttons are used in a menu, use separators between each set of radio buttons and other menu items. |
Recommended |
_ |
_ |
_ |
co: |
If a checkbox or radio button is used on a menu item, it should always be shown as either selected or not selected, and should not disappear when in the unselected state. |
Required |
_ |
_ |
_ |
6-14: |
If your application uses a tear-off button in a menu, the tear-off button is the first element in the menu. 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 |
_ |
_ |
_ |
6-15: |
All menus are wide enough to accommodate their widest elements. The ability to see the full label of each menu element allows the user to browse through a menu. |
These requirements apply only in a left-to-right language environment in an English-language locale. You must make the appropriate changes for other locales.
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
cp: |
The title of dialog boxes used within your application adheres to the conventions listed in Table 10-3 |
.
Table 10-3 Dialog Box Title Conventions
Window Usage |
Window Title Format |
---|---|
Message |
<app or object name> : <action or situation> |
Progress |
<app or object name> : <action> in Progress |
Action (Command) |
<app name> : <action> |
Object Properties |
<app name> : <object-type> Properties |
Application Options |
<app name> : <type> Options |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
cq: |
Every dialog box in your application has at least one button that either performs the dialog box action and dismisses it or dismisses the dialog box without taking any action. |
|
Recommended |
_ |
_ |
_ |
cr: |
If your application uses common dialog box actions, the actions have the following specified functionality and labels: |
|
Optional |
_ |
_ |
_ |
|
Yes |
Indicates an affirmative response to a question posed in the dialog box. |
Optional |
_ |
_ |
_ |
|
No |
Indicates a negative response to a question posed in the dialog box. |
Optional |
_ |
_ |
_ |
|
OK |
Applies any changes made to components in the dialog box and dismisses the dialog box. |
Optional |
_ |
_ |
_ |
|
<command> |
Applies any changes made to components in the dialog box, performs the action associated with the <command>, and dismisses the dialog box. Should be used in lieu of OK, Yes, or No as a button label when it provides more meaning to the user as to the action that will be performed when that button is clicked. |
Optional |
_ |
_ |
_ |
|
Apply |
Applies any changes made to components in the dialog box and does not dismiss it. |
Optional |
_ |
_ |
_ |
|
Retry |
Causes the task in progress to be attempted again. |
Optional |
_ |
_ |
_ |
|
Stop |
Ends the task in progress at the next possible break point. |
Optional |
_ |
_ |
_ |
|
Pause |
Causes the task in progress to pause. |
Optional |
_ |
_ |
_ |
|
Resume |
Causes a task that has paused to resume. |
Optional |
_ |
_ |
_ |
|
Save As Defaults |
Saves the current settings as the default settings that will appear the next time the window is displayed. The settings are not applied to any selected object and the dialog box is not dismissed. A Save As Defaults button should be provided if it is expected that a user would want to use different default values for a set of controls within a dialog box than those that you provide as the factory settings. For example, a Save As Defaults button might be provided in a "New <object-type>" window, allowing the user to indicate that whenever a new instance of that object-type is created, the current values should be displayed as the default settings instead of the values given by the application. |
Optional |
_ |
_ |
_ |
|
Reset |
Cancels any changes that have not yet been applied by your application. The controls within the dialog box are reset to their state since the last time the dialog box action was applied. If no changes have been applied within the current invocation of the dialog box, the controls are reset to the state when the dialog box was first displayed. |
Optional |
_ |
_ |
_ |
|
Reset to Factory |
Cancels any changes that have not yet been applied. Components in the dialog box are reset to their default state and value as specified by the vendor that delivered the application (that is, the controls are restored to the original factory settings). |
Optional |
_ |
_ |
_ |
|
Cancel |
Dismisses the dialog box without performing any actions not yet applied. |
Recommended |
_ |
_ |
_ |
|
Help |
Provides help for the dialog box. |
Recommended |
_ |
_ |
_ |
cs: |
Any visible control that is not currently active or whose setting is currently invalid is dimmed. 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 |
_ |
_ |
_ |
ct: |
Keep the size of your dialog boxes to a minimum. Remember that on low-resolution displays, dialogs may take up most of the screen real estate, and may even run off the edge of the screen if not designed correctly. |
|
Optional |
_ |
_ |
_ |
cu: |
Avoid complexity in your dialog boxes. If your dialog box must support many functions, consider using an expandable dialog box (see "Expandable Windows"), or use more than one dialog in a nested fashion. |
|
Optional |
_ |
_ |
_ |
cv: |
Avoid the use of resize handles in your dialog box. However, you may use resize handles when resizing is useful in allowing users to see more information; for example, when your dialog contains a scrolling list that is likely to be quite long, and users will frequently need to search the list. |
|
Optional |
_ |
_ |
_ |
cw: |
Every dialog box in your application has exactly one default button that is activated when the Return key is pressed. 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 |
_ |
_ |
_ |
cx: |
If a dialog box displayed by your application has controls that are considered to be advanced features, use an expandable dialog box, or use a multiple page dialog box that provides a <category> option menu that allows a user to navigate to each page. 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). |
|
y |
n/a |
n |
|
|
|
Required |
_ |
_ |
_ |
cy: |
If your application provides settings that control the behavior of the application, these settings are displayed in an application properties window that is accessible from an Options menu. |
|
Recommended |
_ |
_ |
_ |
cz: |
If your application manages objects and allows the user to see or modify settings for these objects, these settings are displayed in an object properties window that is accessible from a Properties ... choice in the Edit, <object-type>, or Selected menus, as well as from the pop-up menu associated with the object. |
|
Recommended |
_ |
_ |
_ |
da: |
If your application provides access to a Properties or Options window, this window includes the following set of buttons in the order listed, with the specified functionality, when supported by your application. |
|
Required |
_ |
_ |
_ |
|
OK |
Applies any changes made to components in the dialog box and dismisses it. OK may be replaced by a more appropriate label; for example, Add. The alternate label should be a verb phrase. |
Optional |
_ |
_ |
_ |
|
Apply |
Applies any changes made to components in the dialog box and does not dismiss it. |
Required |
_ |
_ |
_ |
|
Reset |
Cancels any changes that have not yet been applied by your application. The controls within the dialog box are reset to their state since the last time the dialog box action was applied. If no changes have been applied within the current invocation of the dialog box, the controls are reset to the state when the dialog box was first displayed. |
Optional |
_ |
_ |
_ |
|
Reset to Factory |
Cancels any changes that have not yet been applied. Components in the dialog box are reset to their default state or value as specified by the vendor that delivered the application (that is, the controls are restored to the original factory settings). |
Required |
_ |
_ |
_ |
|
Cancel |
Dismisses the dialog box without performing any actions not yet applied. |
Required |
_ |
_ |
_ |
|
Help |
Provides help for the dialog box. |
Recommended |
_ |
_ |
_ |
db: |
If your application provides a Properties window that displays settings for a selected object, the Properties window tracks the current selection and modifies the state of any controls to accurately reflect the properties of the currently selected object. |
Other information contained in the about box might be:
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
dj: |
Information about the operating system or other aspects required to run the application, for example, Common Desktop Environment 1.0. |
Optional |
_ |
_ |
_ |
dk: |
A More Information dialog box for additional information such as development team credits, licensing, client or xhost information. |
|
y |
n/a |
n |
|
|
Optional |
_ |
_ |
_ |
dl: |
Controls within your dialog box are placed in a left-right, top-down layout based on the order in which the user is expected to fill out or choose options within the dialog box. Note - This assumes that your application is being designed for a left-to-right language environment. Alternative design approaches may be necessary for other locales. |
Required |
_ |
_ |
_ |
dm: |
Push buttons that affect the dialog box as a whole, either by modifying its contents or layout, invoking the action of the dialog box, or dismissing the dialog box, are located at the bottom of the dialog box. 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 |
_ |
_ |
_ |
dn: |
If your application provides an Apply button within a dialog box, it also provides an OK button or command button that performs the dialog box action then dismisses it. |
Optional |
_ |
_ |
_ |
do: |
Your application does not use cascading buttons within dialog boxes unless there is absolutely no other design alternative that can be used without a negative impact on the layout of your dialog box. 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 |
_ |
_ |
_ |
dp: |
If your application needs to use cascading buttons outside of a menu pane, you should use the DtMenuButton widget. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
dq: |
You should provide a drag-and-drop (DND) method for all objects represented as icons. Provide a DND method for all elements that the user can directly manipulate. |
Recommended |
_ |
_ |
_ |
dr: |
Any basic function that your application supports through drag and drop is also supported through menus, buttons, or dialog boxes. Drag and drop is considered an accelerator to functionality that is accessible through other user interface controls supported within your application. There should be no basic operation that is supported solely through drag and drop. |
Recommended |
_ |
_ |
_ |
ds: |
Use an icon graphic in a dialog box or window to indicate that objects within the dialog box or window can be dragged. Use the same icon graphic used to represent the draggable object in File Manager. Place the icon adjacent to any display of the contents of the object, if such display exists. If there is no such display, place the icon in the upper right corner of the dialog box or window, unless a more suitable placement is determined. The icon should be 32x32 in size and have a label under it. The label should indicate what kind of object the icon graphic represents. The icon graphic should also be used as the source indicator in the drag icon. |
Required |
_ |
_ |
_ |
dt: |
During a drag operation, your application changes the current pointer to a drag icon. A drag icon provides visual feedback that a drag operation is in progress. |
Recommended |
_ |
_ |
_ |
du: |
During a drag operation, your application changes the current drag cursor to include a source indicator. A source indicator gives a visual representation of the elements being dragged. |
Recommended |
_ |
_ |
_ |
dv: |
During a drag operation, your application changes the current drag cursor to indicate invalid drop zones. It uses the standard Common Desktop Environment cannot pointer. The user must receive feedback as to where an object can and cannot be dropped. Minimally, feedback should be provided as to what are invalid drop zones. Preferably, feedback for valid drop zones is enhanced by use of animation, recessing of the target drop zone, and other such drag-over effects. |
Recommended |
_ |
_ |
_ |
dw: |
During a drag operation, your application changes the drop zone feedback to indicate a valid drop zone. Preferably, feedback for valid drop zones is enhanced by use of animation, recessing of the target drop zone, and other such drag-over effects. |
Required |
_ |
_ |
_ |
dx: |
Pressing Cancel ends a drag-and-drop operation by canceling the drag in progress. Cancel provides a consistent way for the user to cancel a drag operation. |
Required |
_ |
_ |
_ |
dy: |
Releasing BTransfer (or BSelect) when not over a drop target ends a drag-and-drop operation. Releasing BTransfer (or BSelect) offers a consistent means of ending a drag operation. |
Optional |
_ |
_ |
_ |
dz: |
Any cursor change or drag-over effect your application uses occurs within .2 seconds of the mouse pointer reaching the target area and does not interfere, in any noticeable way, with the interactive performance of the drag operation. |
Recommended |
_ |
_ |
_ |
ea: |
In a collection that supports copy, move, or link operations that can be performed by dragging, the feedback presented to the user during the drag operation indicates whether a single object or multiple objects are being manipulated. 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 |
_ |
_ |
_ |
eb: |
After a successful transfer, the data is placed in the drop zone, and any transfer icon used by your application is removed. 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 |
_ |
_ |
_ |
ec: |
If your application removes data upon the completion of a drag and drop, it does so only if the drag-and-drop transfer has completed successfully. 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 |
_ |
_ |
_ |
ed: |
After a failed transfer, the data remains at the drag source and is not placed in the drop zone. Any transfer icon used by your application is removed. A failed drop operation does not result in the transfer of data. |
Recommended |
_ |
_ |
_ |
ee: |
If the user drops an object at an inappropriate drop zone within your application's window, your application participates in the display of a snap back effect and also posts an error dialog box indicating the reason the drop was disallowed. 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 |
_ |
_ |
_ |
ef: |
Applications that accept only single items should reject all multiple-item drops. There is no consistent method to determine which of the selected items the user really wants to drop. |
Recommended |
_ |
_ |
_ |
eg: |
If your application supports drag and drop as a means of loading a file into the application, the application responds to this operation in a manner similar to when the file is loaded through more conventional means such as choosing Open from the File menu. 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 |
_ |
_ |
_ |
6-17: |
If your application provides any drag-and-drop help dialog boxes, they contain a Cancel button for canceling the drag-and-drop operation in progress. The Cancel button in the help dialog box provides a convenient way for the user to cancel a drag-and-drop operation. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
em: |
Applications should be installed to folders in the Application Manager not directly to the Front Panel or subpanels. For consistency, only Common Desktop Environment desktop components will install to these locations. Users may choose to rearrange their Front Panel, but applications should not do this without user consent. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
6-18: |
A warning dialog box allows the user to cancel the destructive action about which the dialog box is providing a warning. The user needs to have a way to cancel an operation that can cause destructive results. |
Required |
_ |
_ |
_ |
en: |
When your application displays a dialog box, it places the input focus at the first text field into which the user is allowed to type an entry, or at the first control within the dialog box with which the user should interact. 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 |
_ |
_ |
_ |
eo: |
As the user presses the Tab key within dialog boxes of your application, the input focus moves to different controls within the window in a left-right, top-down order. Note - This assumes that your application is being designed for a left-to-right language environment. Alternative design approaches may be necessary for other locales.
|
Required |
_ |
_ |
_ |
ep: |
There is always exactly one control within any window of your application that has the input focus if the window in which it resides has the input focus. 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 |
_ |
_ |
_ |
eq: |
When a text field within your application does not have the input focus, the text cursor is not displayed within that field. 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 |
_ |
_ |
_ |
er: |
Your application provides keyboard mnemonics for all buttons, menus, and menu items displayed within the application. 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 |
_ |
_ |
_ |
es: |
Your application provides keyboard accelerators for those functions that are expected to be used frequently by the user. 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 |
_ |
_ |
_ |
et: |
Dialog boxes displayed by your application never block input to other applications within the desktop (that is, they are not system modal) unless it is absolutely essential that the user perform no other action in the desktop until the user responds to the dialog box. 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 |
_ |
_ |
_ |
eu: |
Dialog boxes displayed by your application never block access to other functionality within the application (application modal) unless it is essential that the state of the application remains unchanged until the user responds to the dialog box. |
Required |
_ |
_ |
_ |
ev: |
If your application does not use the values of global environment settings, such as multiclick timeout intervals, drag thresholds, window color settings, mouse left- or right-handedness, and so on, but instead uses its own values for these settings, then your application provides one or more Options dialog boxes that allow the user to change the values for these settings. 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. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
ew: |
Any icons or graphics displayed by your application are designed to be distinguishable on low- (640x480), medium- (800x600), and high- (mega-pixel) resolution displays. Alternatively, your application provides different sized visuals for low-, medium-, and high-resolution displays. 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 |
_ |
_ |
_ |
ex: |
Any icons or graphics displayed by your application are designed to display well on black-and-white and gray-scale monitors. These visuals also display well on low-color (16) systems. |
Recommended |
_ |
_ |
_ |
ey: |
Icons should be used to represent only objects and applications. Icons provide a visual representation for objects and facilitate direct manipulation. If icons are used for other purposes (for example, as illustrations) where the user can't drag them, select them, and so on, it creates a confusing inconsistency. |
Recommended |
_ |
_ |
_ |
ez: |
Icons should use only the palette of 22 colors. 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 |
_ |
_ |
_ |
fa: |
Icons should be designed for international use. Don't use text, symbols, humor, animals, and other items that may be interpreted differently in other cultures. |
Recommended |
_ |
_ |
_ |
fb: |
16x16 and 32x32 icons are left-aligned; any empty bits are on the right side of the bounding box. |
Recommended |
_ |
_ |
_ |
fc: |
48x48 icons are centered in the bounding box. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
fd: |
If you use a tool bar, it should be used only in windows with a menu bar. |
Required |
_ |
_ |
_ |
fe: |
Tool bars should contain only operations that are already available to the user in your application menus. All items in a tool bar should be redundant. |
Required |
_ |
_ |
_ |
ff: |
When an action represented by a tool bar icon is unavailable to the user, that icon should be made insensitive, with the associated stippled appearance. Whenever a menu item is made insensitive, the corresponding tool bar item must be made insensitive as well. |
Recommended |
_ |
_ |
_ |
fg: |
Give users the option to hide the tool bar. |
Required |
_ |
_ |
_ |
fh: |
The tool bar container is placed directly under the menu bar and should be the same width as the window, as well as similar height to the menu bar. |
Recommended |
_ |
_ |
_ |
fi: |
If you use a tool bar in your application, then you should provide a status line in the same primary window as the tool bar. 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 |
_ |
_ |
_ |
fj: |
You may provide labels under tool bar icons. These labels should serve to explain the purpose of the icon. |
Recommended |
_ |
_ |
_ |
fk: |
Drawn buttons in the tool bar should be the same width and height. Similar or related items should be grouped, and groups should be evenly spaced across the tool bar. |
Recommended |
_ |
_ |
_ |
fl: |
All pixmaps in the tool bar should be the same size. This ensures that all the tool bar buttons are the same size. |
Recommended |
_ |
_ |
_ |
fm: |
The recommended size of the pixmap is 24x24. The default for the drawn button is to resize itself according to the size of its label type, which, in this case, would be a pixmap. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
fn: |
The primary pane of the dialog box or window should contain all of the controls needed to complete the task. This should include all critical and frequently used functionality. |
Recommended |
_ |
_ |
_ |
fo: |
It is assumed that infrequently used features are placed in the secondary pane. The core functionality of the application should not depend on any controls placed in secondary panes. |
Required |
_ |
_ |
_ |
fp: |
Command buttons are aligned along the bottom of the dialog box. When the window is expanded to show a secondary pane, then buttons are moved to the bottom of the secondary pane. See Chapter 6, Application Design Principles for information about layout of action buttons in dialog boxes. |
Recommended |
_ |
_ |
_ |
fq: |
If important controls must be placed in the secondary pane, the application can specify that the window in question should be displayed in its expanded state by default. Users should still be able to shrink the window by pressing the Contract button. |
Recommended |
_ |
_ |
_ |
fr: |
The secondary pane should expand in the direction most consistent with users' expectations, the reading pattern of the language in which it will be displayed, and the content of the information displayed. |
Recommended |
_ |
_ |
_ |
fs: |
If possible, the panes should have the same default width. |
Required |
_ |
_ |
_ |
ft: |
A separator should be used to separate the primary pane from the secondary pane. 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 |
_ |
_ |
_ |
fu: |
If a window is resizable, any sizing changes should be allocated to the pane containing scrolling lists or text fields whose displayed length is less than their stored length. If both panes contain scrollable controls, size changes should be distributed evenly between the two panes. If neither pane contains scrollable controls, the window should not be resizable. |
Required |
_ |
_ |
_ |
fv: |
The expandable window should have one button that changes its label based on the state of the window. |
Required |
_ |
_ |
_ |
fw: |
The expand button should have two labels that reflect the two states of the expandable window accurately. The current label should indicate to the user what will happen if the user clicks the button. Examples of possible labels are Basic and Options, Expand and Contract, and More and Less. |
Optional |
_ |
_ |
_ |
fx: |
The expand button may contain a graphic in addition to the label. This graphic should indicate the direction in which the window will expand or contract. |
Recommended |
_ |
_ |
_ |
fy: |
The button should appear in the lower left-hand corner of the window or dialog box for expansion in the vertical direction and in the lower-right hand corner for expansion in the horizontal direction. |
Required |
_ |
_ |
_ |
fz: |
If the window or dialog box contains a scrolling list positioned to the far right side of the pane, do not align the drawn button with the scroll bar. For example, the button should be aligned with the list, not the scroll bar. |
Required |
_ |
_ |
_ |
ga: |
Applications must remember the state of each window or dialog box (expanded or not expanded) independently (not collectively). The state should be changed only by the user and should always be preserved until explicitly altered by the user. |
Recommended |
_ |
_ |
_ |
gb: |
Applications should remember the state of each expandable window or dialog box across sessions, so that users don't have to manually configure the expandable windows each time the application is run. 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. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
gc: |
Messages displayed by your application do not assume that the user has any expert knowledge about computer systems in general, or the UNIX system in particular. 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 |
_ |
_ |
_ |
gd: |
Error messages displayed by your application indicate the possible cause of the error and indicate the possible actions the user can take in response. |
Optional |
_ |
_ |
_ |
ge: |
Your application uses audio feedback, in addition to any messages displayed, to signal error conditions and events. |
Optional |
_ |
_ |
_ |
gf: |
Don't rely on error messages from the kernel and library routines. Error messages from kernel and library routines are normally not seen by the user, and even when the user does see them, they are usually too low-level and cryptic to be understood by nonprogrammers. Applications should check for error conditions and use an error dialog box to present an appropriate error message in terms of the user's actions and intentions. |
Recommended |
_ |
_ |
_ |
gg: |
Your application displays a confirmation or warning message dialog box to the user when an action instigated by the user will be irreversible and potentially destructive with respect to the information stored within the system or the operation of the system or desktop environment. |
Optional |
_ |
_ |
_ |
gh: |
Urgent conditions that require immediate attention by the user, no matter which application or desktop service the user is currently accessing, are brought to the user's attention using audiovisual notification. The alarm is signaled in the current workspace regardless of the workspace in which the application resides. 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 |
_ |
_ |
_ |
gi: |
Your application uses footer messages only to communicate status, progress, or information (help) messages. It does not use the footer to present error messages. 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 |
_ |
_ |
_ |
gj: |
Your application provides a Help button in all message dialog boxes, except those that contain self-explanatory messages. 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 |
_ |
_ |
_ |
gk: |
Your application uses the appropriate style dialog box for the display of messages to the user. |
Optional |
_ |
_ |
_ |
gl: |
An information dialog box is used to display status, completion of activity, or other informative types of messages to which the user need not necessarily respond other than to acknowledge having read the message. 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 |
_ |
_ |
_ |
gm: |
An error dialog box is used to display error messages to the user. The error dialog box displayed states what the error is and specifies why it occurred. The error dialog box contains a Help button so that the user may get additional information, unless the message is self-explanatory. The error dialog box contains an OK button that dismisses the dialog box. 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 |
_ |
_ |
_ |
gn: |
A question dialog box is used to ask questions of the user. The question is clearly worded to indicate what a Yes response or a No response means. The buttons displayed are Yes, No, and Help. Help provides additional information as to what the application will do in response to a Yes or No choice. 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 |
_ |
_ |
_ |
go: |
A warning dialog box is used to communicate the consequences of an action requested by the user that may result in the loss of data, system or application accessibility, or some other undesirable event. The dialog box is presented before the action is performed and offers the user the opportunity to cancel the requested operation. The buttons displayed are Yes, No, and Help, or Continue, Cancel, and Help. Help provides additional information on the consequences of performing the action requested. 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 |
_ |
_ |
_ |
gp: |
A working dialog box is used to display in-progress information to the user when this information is not displayed in the footer of your application's window. The dialog box contains a Stop button that allows the user to terminate the activity. The operation is terminated at the next appropriate breakpoint, and a confirmation might be displayed asking whether the user really wants to stop the activity. The confirmation message might state the consequences of stopping the action. |
Optional |
_ |
_ |
_ |
gq: |
Your application writes error messages to the Common Desktop Environment error log when it is not appropriate to display these to the user in a message dialog box, but when the message may nevertheless be useful in diagnosing problems. 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 |
_ |
_ |
_ |
gr: |
Informational messages should be left aligned and displayed in a light font in keeping with their unobtrusive nature. Note that the margin where informational messages are displayed should not accept mouse focus. |
Optional |
_ |
_ |
_ |
gs: |
Progress messages should normally be displayed only while the operation is in progress. Notices and other information that is no longer valid should be removed within a few seconds to avoid confusion about whether or not the information is current. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
gt: |
If any command chosen by the user is expected to take longer than 2 seconds to complete, but less than 10 seconds, your application displays the standard busy pointer as feedback that the command is executing. 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 |
_ |
_ |
_ |
gu: |
If any command chosen by the user is expected to take longer than 10 seconds to complete, your application displays a working dialog box or other feedback of similar character that indicates that the application is working on the request. The feedback should reveal progress toward completion of the activity. 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 |
_ |
_ |
_ |
gv: |
When your application displays work-in-progress feedback to the user, it does not block access to other applications and services within the desktop environment. 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. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
gw: |
In a list that can be scrolled, such as a scrollable list box, do not allow the cursor to wrap. |
Required |
_ |
_ |
_ |
gx: |
Provide vertical scroll bars when some of the data is not visible in the combo box. |
Recommended |
_ |
_ |
_ |
gy: |
Provide horizontal scroll bars when elements are wider than the list box. |
Recommended |
_ |
_ |
_ |
gz: |
Display the elements in an order that is meaningful to the user. |
Recommended |
_ |
_ |
_ |
ha: |
Display an initial value from the list in the text-entry field. Display selected emphasis on the initial value so that typed text will replace the value. |
Recommended |
_ |
_ |
_ |
hb: |
Make the combination box large enough to display a minimum of six list items at a time. |
Recommended |
_ |
_ |
_ |
hc: |
When a user increases the size of the window in which the combo box is displayed, increase the number of items displayed in the combo box. |
Recommended |
_ |
_ |
_ |
hd: |
When a user decreases the size of the window in which the combo box is displayed, decrease the number of items displayed in the combo box. As a minimum, reduce the combo box to the text-entry field and a list box with one entry displayed. If the window is sized so that two list items cannot be displayed, clip the combo box. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-6: |
If your application uses a command box, it is composed of a text component with a command-line prompt for text input and a list component for a command history area. The list uses either the single selection or browse selection model. This specification ensures the consistent appearance and operation of a command box across applications. |
Recommended |
_ |
_ |
_ |
7-7: |
When an element of a command box list is selected, its contents are placed in the text area. This specification provides a convenient way of selecting a previously entered command. |
Required |
_ |
_ |
_ |
7-8: |
The list navigation actions Up Arrow, Down Arrow, Control+Begin, and Control+End are available from the text component for moving the cursored element within the list and thus changing the contents of the text. These actions provide a convenient way to choose a command from the list while focus remains in the text component. |
Required |
_ |
_ |
_ |
7-9: |
The default action of the command box passes the command in the text area to the application for execution and adds the command to the end of the list. Maintaining a history of commands provides a convenient means of entering often-used commands. |
Table 10-4 File Selection Dialog Box Labels
Component |
Label |
---|---|
Directory text field |
Enter Path or Folder Name: |
Filter text Field |
Filter: |
Directory list |
Folders: |
Contents list |
Files: |
File text field |
Enter File Name:* |
|
y |
n/a |
n |
|
|
Optional |
_ |
_ |
_ |
hv: |
Optionally, application developers can make this label more instructive and specific, such as Enter File to Open for Open dialog boxes. 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. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-18: |
Within a list component, your application uses the Up Arrow key to move the location cursor to the previous item in the list and the Down Arrow key to move the location cursor to the next item in the list. In a scrollable list, the Left Arrow key scrolls the list one character to the left, and the Right Arrow key scrolls the list one character to the right. The arrow keys provide a consistent means of moving the location cursor within a list component. |
Required |
_ |
_ |
_ |
7-19: |
Within a list component, your application uses Control+Begin to move the location cursor to the first item in the list and Control+End to move the location cursor to the last item in the list. In a scrollable list, the Begin key moves the horizontal scroll region so that the leftmost edge of the list is visible, and the End key moves the horizontal scroll region so that the rightmost edge of the list is visible. These keys offer a convenient mechanism for moving the location cursor quickly through a list. |
Required |
_ |
_ |
_ |
7-20: |
Within a scrollable list, the Page Up key moves the location cursor to the item one page up in the list, and the Page Down key moves the location cursor to the item one page down in the list. In a scrollable list, the Page Left key (or Control+Page Up) scrolls the list one page to the left, and the Page Right key (or Control+Page Down) scrolls the list one page to the right. These keys offer a convenient mechanism for paging through a list. |
Required |
_ |
_ |
_ |
7-21: |
Within a list component, your application uses BSelect Click 2 to select the item that was double-clicked and then initiate any default action for the window. Double-clicking using BSelect provides a consistent way of activating the default action for a list. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-22: |
If your application uses option buttons, the label for the button is the last selection made from the option button. 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 |
_ |
_ |
_ |
7-23: |
BSelect Press is a consistent way of activating an option button. |
Required |
_ |
_ |
_ |
7-24: |
When the user releases BSelect or BMenu within the same option button that the press occurred in, the associated option menu is posted if it was not posted at the time of the press. When the user releases BSelect or BMenu outside of the option button, the associated option menu is unposted. BSelect Release or BMenu Release posts or unposts an option menu, depending on whether the release occurs inside the option button and whether the option menu was posted at the time of the press. |
Required |
_ |
_ |
_ |
7-24: |
When the user presses the Select key or Spacebar in an option button, the associated option menu is posted. The Select key or Spacebar posts an option menu from the keyboard. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-26: |
If your application uses paned windows, they are composed of any number of groups of components, called panes, each separated by a sash and a separator. The panes, sashes, and separators are grouped linearly, either horizontally or vertically. A sash is the handle on a separator between two panes that is used to adjust the position of the separator. This specification ensures the consistent appearance of a paned window across applications. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-27: |
The Down Arrow, Left Arrow, Right Arrow, and Up Arrow directional keys navigate among components in a panel. 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. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-28: |
When the user presses BSelect in a push button, the push button is armed. When the user releases BSelect in the same push button that the press occurred in, the push button is disarmed and activated. When the user releases BSelect outside the push button, the push button is disarmed but not activated. BSelect provides a consistent means of activating a push button. |
Required |
_ |
_ |
_ |
7-29: |
When the user presses the Enter or Return key in a push button that is in a window with a default action, the push button is activated. When the user presses the Enter or Return key in a push button in a menu, the push button is activated and the menu is unposted. The Enter and Return keys activate a dialog box or a push button in a menu. |
Required |
_ |
_ |
_ |
7-30: |
When the user presses the Select key or Spacebar in a push button, the push button is activated. If the push button is in a menu, the menu is unposted. The Select key and Spacebar activate a push button. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-36: |
Within a paned window, your application uses a sash to adjust the position of a separator, which adjusts the sizes of the panes next to it. As a sash is moved, the pane in the direction of the sash movement gets smaller and the opposite pane gets larger by an equal amount. This specification results in the uniform operation of a paned window across applications. |
Required |
_ |
_ |
_ |
7-37: |
Within a sash, BSelect Motion or BTransfer Motion causes the sash to track the movement of the pointer. In a vertically oriented paned window, the sash tracks the vertical position of the pointer. In a horizontally oriented paned window, the pane tracks the horizontal position of the pointer. 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 |
_ |
_ |
_ |
7-38: |
The Up Arrow and Down Arrow keys (for a sash that can move vertically) and the Left Arrow and Right Arrow keys (for a sash that can move horizontally) move the sash one increment in the specified direction. The arrow keys offer a uniform means of moving a sash in a paned window. |
Required |
_ |
_ |
_ |
7-39: |
Control+Up Arrow and Control+Down Arrow (for a sash that can move vertically) and Control+Left Arrow and Control+Right Arrow (for a sash that can move horizontally) move the sash one large increment in the specified direction. These keys provide a convenient way of moving a sash quickly in a paned window. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-40: |
If a scale has arrow buttons, your application uses BSelect Press in an arrow button to move the slider one increment in the direction of the side of the slider on which the button was pressed and autorepeats until the button is released. BSelect Press provides a consistent means of adjusting a scale component using the mouse. |
Required |
_ |
_ |
_ |
7-41: |
In a scale trough, if the scale has tick marks, BSelect Press moves the slider one major tick mark in the direction of the side of the slider on which the trough was pressed and autorepeats until the button is released. If the scale does not have tick marks, BSelect Press in the trough moves the slider one large increment in the direction of the side of the slider on which the trough was pressed and autorepeats until the button is released. BSelect Press provides a consistent means of adjusting a scale component using the mouse. |
Required |
_ |
_ |
_ |
7-42: |
Within a scale slider, BSelect Motion causes the slider to track the position of the pointer. In a vertical scale, the slider tracks the vertical position of the pointer. In a horizontal scale, the slider tracks the horizontal position of the pointer. BSelect Motion offers a convenient way to adjust a scale component precisely using the mouse. |
Required |
_ |
_ |
_ |
7-43: |
Within a scale slider or trough, BTransfer Motion positions the slider to the point of the button press and then causes the slider to track the position of the pointer. In a vertical scale, the slider tracks the vertical position of the pointer. In a horizontal scale, the slider tracks the horizontal position of the pointer. BTransfer Motion provides another convenient way to adjust a scale component precisely using the mouse. |
Required |
_ |
_ |
_ |
7-44: |
If a mouse-based sliding action is in progress, the Cancel key cancels the sliding action and returns the slider to its position prior to the start of the sliding operation. The Cancel key provides a consistent way for the user to cancel a mouse-based sliding action. |
Required |
_ |
_ |
_ |
7-45: |
In a vertical scale, the Up Arrow and Down Arrow keys move the slider one increment in the specified direction. In a horizontal scale, the Left Arrow and Right Arrow keys move the slider one increment in the specified direction. The arrow keys provide a uniform way of adjusting the slider in a scale component using the keyboard. |
Required |
_ |
_ |
_ |
7-46: |
In a vertical scale, Control+Up Arrow and Control+Down Arrow move the slider one large increment in the specified direction. In a horizontal scale, Control+Left Arrow and Control+Right Arrow move the slider one large increment in the specified direction. These keys provide a convenient way of adjusting the slider in a scale component quickly using the keyboard. |
Required |
_ |
_ |
_ |
7-47: |
Your application uses the Begin key or Control+Begin to move the slider to its minimum value. The End key or Control+End moves the slider to its maximum value. These keys provide a convenient mechanism for setting a scale to its minimum or maximum value using the keyboard. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-48: |
Within a scroll bar, your application uses BSelect Press in an arrow button to move the slider one increment in the direction of the side of the slider on which the button was pressed and autorepeats until the button is released. BSelect Press provides a consistent means of adjusting a scroll bar using the mouse. |
Required |
_ |
_ |
_ |
7-49: |
In the trough of a scroll bar, BSelect Press moves the slider one page in the direction of the side of the slider on which the trough was pressed and autorepeats until the button is released. BSelect Press provides a consistent means of adjusting a scroll bar using the mouse. |
Required |
_ |
_ |
_ |
7-50: |
Within a scrollbar slider, BSelect Motion causes the slider to track the position of the pointer. In a vertical scroll bar, the slider tracks the vertical position of the pointer. In a horizontal scroll bar, the slider tracks the horizontal position of the pointer. BSelect Motion offers a convenient way to adjust a scroll bar precisely using the mouse. |
Required |
_ |
_ |
_ |
7-51: |
Within a scrollbar slider or trough, BTransfer Motion positions the slider to the point of the button press and then causes the slider to track the position of the pointer. In a vertical scroll bar, the slider tracks the vertical position of the pointer. In a horizontal scroll bar, the slider tracks the horizontal position of the pointer. BTransfer Motion offers another convenient way to adjust a scroll bar precisely using the mouse. |
Required |
_ |
_ |
_ |
7-52: |
If a mouse-based scrolling action is in progress, pressing the Cancel key cancels the scrolling action and returns the slider to its position prior to the start of the scrolling operation. The Cancel key provides a consistent way for the user to cancel a mouse-based scrolling action. |
Required |
_ |
_ |
_ |
7-53: |
In a vertical scroll bar, the Up Arrow and Down Arrow keys move the slider one increment in the specified direction. In a horizontal scroll bar, the Left Arrow and Right Arrow keys move the slider one increment in the specified direction. The arrow keys provide a uniform means of adjusting a scroll bar using the keyboard. |
Required |
_ |
_ |
_ |
7-54: |
In a vertical scroll bar, Control+Up Arrow and Control+Down Arrow move the slider one large increment in the specified direction. Control+Left Arrow and Control+Right Arrow move the slider one large increment in the specified direction. These keys provide a convenient way of adjusting a scroll bar quickly using the keyboard. |
Required |
_ |
_ |
_ |
7-55: |
Your application uses the Page Up and Page Down keys to move the slider in a vertical scroll bar one page in the specified direction. The Page Left key (or Control+Page Up) and the Page Right key (or Control+Page Down) move the slider in a horizontal scroll bar one page in the specified direction. These keys allow for the convenient movement of the slider in a scroll bar using the keyboard. |
Required |
_ |
_ |
_ |
7-56: |
Your application uses the Begin key or Control+Begin to move the slider to the minimum value. The End key or Control+End moves the slider to the maximum value. These keys offer a convenient mechanism for setting a scroll bar to its minimum or maximum value using the keyboard. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-57: |
If your application uses a selection box, it is composed of at least a text component for the selected alternative and a list component above the text component for presenting alternatives. The list uses either the single selection or browse selection model. Selecting an element from the list places the selected element in the text component. This specification ensures the consistent appearance and operation of a selection box across applications. |
Required |
_ |
_ |
_ |
7-58: |
The list navigation actions Up Arrow, Down Arrow, Control+Begin, and Control+End are available from the text component for moving the cursored element within the list and thus changing the contents of the text. These actions provide a convenient way to choose an element from the list while focus remains in the text component. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
hw: |
Present the items as a ring of items that wrap. For example, if a user is at the largest number and presses the up arrow, the smallest number is displayed and vice versa so that the user can spin through all the items by pressing the same arrow. |
Required |
_ |
_ |
_ |
hx: |
Move through the items in a spin box as shown in Table 10-5. |
Table 10-5 Navigation in a Spin Box
Movement |
Keys |
Example |
---|---|---|
Toward the beginning of the list |
left arrow, down arrow |
Chronological: If Tuesday is displayed, move to Monday when the user presses the left or down arrow. Magnitude: If 15 is displayed, move to 14 when the user presses the left or down arrow. |
Toward the end of the list |
right arrow, up arrow |
Chronological: If Tuesday is displayed, move to Wednesday when the user presses the right or up arrow. Magnitude: If 15 is displayed, move to 16 when the user presses the right or up arrow. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
hy: |
Values can be set using the arrow buttons or through keyboard input. Values should be evaluated immediately upon entry. If a value is entered that is already in the list, scroll to the position of that entry in the list. |
Recommended |
_ |
_ |
_ |
hz: |
If entry of non-listed items is permitted, use the following behavior. When a new value is entered, scroll the list to the position appropriate for the new entry. If the user scrolls off the new entry, scroll to the next appropriate value in the list and the keyboard-entered value is lost. |
Recommended |
_ |
_ |
_ |
ia: |
On entry of an invalid value, an auditory warning and error message should be provided. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
7-59: |
In a multiline text component, the Up Arrow key moves the location cursor up one line, and the Down Arrow key moves the location cursor down one line. In a single-line text component, the Up Arrow key navigates upward to the previous component, and the Down Arrow key navigates downward to the next component, if the text component is designed to act like a basic control. The up and down arrow keys provide a uniform means of navigation within text components. |
Required |
_ |
_ |
_ |
7-60 |
The Left Arrow key moves the location cursor left one character, and the Right Arrow key moves the location cursor right one character. The Left Arrow and Right Arrow keys offer a consistent way of navigating within text components. |
Required |
_ |
_ |
_ |
7-61: |
n a text component used generally to hold multiple words, Control+Right Arrow moves the location cursor to the right by a word, and Control+Left Arrow moves the location cursor to the left by a word. 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 |
_ |
_ |
_ |
7-62: |
In a text component used generally to hold multiple words, the Begin key moves the location cursor to the beginning of the line, and the End key moves the location cursor to the end of the line. These keys allow the user to move quickly to the beginning or end of a line of text in a text component. |
Required |
_ |
_ |
_ |
7-63: |
In a multiline text component, Control+Begin moves the location cursor to the beginning of the file, and Control+End moves the location cursor to the end of the file. These keys permit the user to move quickly to the beginning or end of a file in a text component. |
Required |
_ |
_ |
_ |
7-64: |
Your application uses Spacebar or Shift+Spacebar to insert a space in a text component. Modifying these with Control invokes the normal selection function. This specification ensures that selection is available from the keyboard in a text component. |
Required |
_ |
_ |
_ |
7-65: |
Return in a multiline text component inserts a carriage return. The Enter key or Control+Return invokes the default action. This specification ensures that activation is available from the keyboard in a text component. |
Required |
_ |
_ |
_ |
7-66: |
In a multiline text component, Tab is used for tabbing. In a single-line text component, Tab is used either for tabbing or to move to the next field. Tab is used for tabbing in multiline text. |
Required |
_ |
_ |
_ |
7-67: |
If a text component supports replace mode, insert toggles between insert mode and replace mode. 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 |
_ |
_ |
_ |
7-68: |
Your application uses BSelect Click 2 to select text a word at a time. Double-clicking with mouse button 1 provides a convenient mechanism for selecting words in a text component. |
|
y |
n/a |
n |
|
|
Required |
_ |
_ |
_ |
ib: |
A gauge is similar to a scale except that a gauge is a display-only device with no user interactions. The appearance of a gauge is similar to a scale, but the gauge lacks a scale slider. |
Optional |
_ |
_ |
_ |
ic: |
Despite being a display-only device, a gauge should get keyboard focus so that the user can access Help or Settings for that control. |
|
y |
n/a |
n |
|
|
Recommended |
_ |
_ |
_ |
id: |
All application functions are accessible from the keyboard. |
Recommended |
_ |
_ |
_ |
ie: |
Colors should not be hard coded. |
Recommended |
_ |
_ |
_ |
if: |
Graphic attributes, such as line, border, and shadow, should not be hard coded. |
Recommended |
_ |
_ |
_ |
ig: |
Font sizes and styles should not be hard coded. |
Recommended |
_ |
_ |
_ |
ih: |
All application code uses descriptive names for widgets. Such descriptive names for widgets using graphics instead of text (for example, palette items and icons) allow screen reading software to provide descriptive information to blind users. |
Recommended |
_ |
_ |
_ |
ii: |
Interactions do not depend upon the assumption that a user will hear an audible notification. |
Recommended |
_ |
_ |
_ |
ij: |
Where appropriate, users can choose to receive cues as audio or visual information. |
Recommended |
_ |
_ |
_ |
ik: |
The application does not overuse or rely exclusively on audible information. |
Recommended |
_ |
_ |
_ |
il: |
Users can choose to configure the frequency and volume of audible cues. |
Recommended |
_ |
_ |
_ |
im: |
Tear-off menus and user configurable menus for key application features may be provided for users with language and cognitive disabilities. |
Recommended |
_ |
_ |
_ |
in: |
Application keymappings do not conflict with existing system-level key mappings reserved for access features in the X Windows server as shown in Table 10-6. |
Table 10-6 Keyboard Mappings for Server-Level Access Features
Keyboard Mapping |
Reserved For |
---|---|
Five consecutive clicks of Shift key |
On/Off for StickyKeys |
Shift key held down 8 seconds |
On/Off for SlowKeys and RepeatKeys |
Six consecutive clicks of Control key |
On/Off for screen reader numeric keypad functions. |
Six consecutive clicks of Alt key |
Reserved for future access use |