Common Desktop Environment: Style Guide and Certification Checklist

Menu Traversal

 

n/a 

 

 

 

Required 

3-32: 

If the user traverses to a menu while the keyboard focus policy is implicit, the focus policy temporarily changes to explicit and reverts to implicit whenever the user traverses out of the menu system.  

Menus must always be traversable, even when the keyboard focus policy is generally implicit. 

Required 

3-33: 

Your application uses the F10 key to activate the menu bar system if it is inactive. The location cursor is placed on the first traversable cascading button in the menu bar. If there are no traversable cascading buttons, the key does nothing.  

F10 provides a consistent means of traversing to the menu bar using the keyboard. 

Required 

3-34: 

When the keyboard focus 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 the menu key to activate the pop-up menu. The location cursor is placed on the default item of the menu, or on the first traversable item in the pop-up menu if there is no default item.  

The Menu key provides a uniform way of activating a pop-up menu from the keyboard. 

Required 

3-35: 

When the keyboard focus is in an option button, your application uses the Select key or the Spacebar to post the option menu. The location cursor is placed on the previously selected item in the option menu; or, if the option menu has been pulled down for the first time, the location cursor is placed on the default item in the menu. If there is an active option menu, the Return, Select, or Spacebar keys select the current item in the option menu, unpost the menu system, and return the location cursor to the option button.  

These keys provide a means of posting an option menu from the keyboard that is consistent across applications. 

Required 

3-36: 

Your application uses the Down Arrow, Left Arrow, Right Arrow, and Up Arrow keys to traverse through the items in a menu system. 

The Down Arrow, Left Arrow, Right Arrow, and Up Arrow directional keys provide a consistent means of navigating among items in a menu system. 

Required 

3-37: 

When a menu traversal action traverses to the next or previous component in a menu or menu bar, the order of traversal and the wrapping behavior are the same as that of the corresponding component navigation action within a field.  

This specification provides consistency between menu traversal and component navigation within a field. 

Required 

3-38: 

If your application uses any two-dimensional menus, they do not contain any cascading buttons.  

Cascading buttons in a two-dimensional menu would restrict the user's ability to navigate to all of the elements of the menu using the keyboard. 

Required 

3-39: 

When focus is on a component in a menu or menu bar system, the Down Arrow key behaves in the following way:  

  • If the component is in a vertical or two-dimensional menu, traverse down to the next traversable component, wrapping within the menu if necessary.

  • If the component is in a menu bar, and the component with the keyboard focus is a cascading button, post its associated pull-down menu and traverse to the default entry in the menu or, if the menu has no default, to the first traversable entry in the menu.

This rule results in consistent operation of the directional keys in a menu or menu bar system. 

Required 

3-40: 

When focus is on a component in a menu or menu bar system, the Up Arrow key behaves in the following way:  

If the component is in a vertical or two-dimensional menu, this action traverses up to the previous traversable component, wrapping within the menu if necessary, and proceeding in the order opposite to that of the Down Arrow key. 

This rule results in consistent operation of the directional keys in a menu or menu bar system. 

Required 

3-41: 

When focus is on a component in a menu or menu bar system, the Left Arrow key behaves in the following way: 

  • If the component is in a menu bar or two-dimensional menu, but not at the left edge, traverse left to the previous traversable component.

  • If the component is at the left edge of a menu bar, wrap within the menu bar.

  • If the component is at the left edge of a vertical or two-dimensional menu that is the child of a vertical or two-dimensional menu, unpost the current menu and traverse to the parent cascading button.

  • If the component is at the left edge of a vertical or two-dimensional menu that is the child of a menu bar, unpost the current menu and traverse left to the previous traversable entry in the menu bar. If that entry is a cascading button, post its associated pull-down menu and traverse to the default entry in the menu or, if the menu has no default, to the first traversable entry in the menu.

This rule results in consistent operation of the directional keys in a menu or menu bar system. 

Required 

3-42: 

When focus is on a component in a menu or menu bar system, the Right Arrow key behaves in the following way:  

  • If the component is a cascading button in a vertical menu, post its associated pull-down menu and traverse to the default entry in the menu or, if the menu has no default, to the first traversable entry in the menu.

  • If the component is in a menu bar or two-dimensional menu, but not at the right edge, traverse right to the next traversable component.

  • If the component is at the right edge of a menu bar, wrap within the menu bar.

  • If the component is not a cascading button and is at the right edge of a vertical or two-dimensional menu, and if the current menu has an ancestor cascading button (typically in a menu bar) from which the Down Arrow key posts its associated pull-down menu, unpost the menu system pulled down from the nearest such ancestor cascading button and traverse right from that cascading button to the next traversable component. If that component is a cascading button, post its associated pull-down menu and traverse to the default entry in the menu or, if the menu has no default, to the first traversable entry in the menu.

This rule results in consistent operation of the directional keys in a menu or menu bar system. 

Required 

3-43: 

All menu traversal actions, with the exception of menu posting, traverse to tear-off buttons in the same way as for other menu entries.  

Traversal of tear-off buttons needs to be consistent with traversal of other menu items. 

Required 

3-44: 

If your application uses the F10, Menu, or Cancel key to unpost an entire menu system and an explicit focus policy is in use, the location cursor is moved back to the component that had it before the menu system was posted.  

Returning the location cursor to the component that had it previously allows the user to resume a task without disruption.