[Contents] [Index] [Next] [Previous]

Component Activation


Basic Activation

5-1
Your application uses BSelect to activate a button (Basic Activation).

BSelect, the first mouse button, provides a consistent means of activating a button using the mouse.

5-2
When a button has the focus, your application uses [Select] or to activate the button (Basic Activation).

[Select] and provide a uniform way of selecting a button. Selecting a button is equivalent to activating the button.

5-3
When an activatable Menu entry has the focus, your application uses [Select], , [Enter], or to activate the entry (Basic Activation).

[Select], , [Enter], and offer a consistent means of activating a Menu entry using the keyboard.

5-4
When BSelectis 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 (Basic Activation).

The visual state of a button offers a cue to the user about whether or not the button will be activated when the mouse button is released.

5-5
If a selectable element of a collection is activatable, BSelect Click, [Select], and (except in Text) select it. BSelect Click 2 selects and activates it (Basic Activation).

This rule provides for consistent integration of activation and selection in a collection where elements can be both selected and activated.

Accelerators

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 (Accelerators).

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.

5-7
If a button with an accelerator is within a primary or secondary window, or within a Pulldown Menu system from its MenuBar, it is activatable whenever the input focus is in the window or the MenuBar system. If a button with an accelerator is within a Popup Menu system, it is activatable whenever the focus is in the Popup Menu system or the component with the Popup Menu (Accelerators).

An accelerator must be activatable from the window or component associated with the accelerator.

Mnemonics

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 (Mnemonics).

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. So that the user knows that there is a mnemonic associated with a selection, the mnemonic is underlined in the Label of the selection by the toolkit. In order for a mnemonic to be underlined, the Label for a selection needs to contain the mnemonic character. Putting the mnemonic in parentheses following the Label provides visual consistency.

5-9
All mnemonics are case insensitive for activation (Mnemonics)

The user must be able to activate a mnemonic by pressing either the lowercase or the uppercase variant of the mnemonic key.

5-10
When the location cursor is within a Menu or MenuBar, pressing the mnemonic key of a component within that Menu or MenuBar moves the location cursor to the component and activates it. If a mnemonic is used for an OptionButton or for a CascadeButton in a MenuBar, pressing and the mnemonic anywhere in the window or its Menus moves the cursor to the component with that mnemonic and activates it (Mnemonics).

A mnemonic is generally activatable when the location cursor is within the component that contains the mnemonic. Pressing and the mnemonic provides a way to activate a visible mnemonic when the location cursor is within the window that contains the mnemonic.

TearOff Activation

5-11
Activating a TearOffButton tears off the Menu that contains the button (TearOff Activation).

A TearOffButton is like a PushButton with the special interaction of tearing off the Menu from its CascadeButton. TearOffButtons use the same basic activation as other buttons.

5-12
When a Menu with a TearOffButton is posted, pressing BTransfer in the TearOffButton starts a TearOff action. As long as BTransfer is held, a representation of the Menu follows the movement of the pointer. Releasing BTransfer ends the TearOff 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 (TearOff Activation).

BTransfer, the second mouse button, provides a consistent means of activating a TearOffButton.

Help Activation

5-13
Your application uses on a component to invoke any context-sensitive help for the component or its nearest ancestor with context-sensitive help available (Help Activation).

offers the user a consistent mechanism for invoking context-sensitive help.

Default Activation

5-14
If your application uses default PushButtons in a window, the current default PushButton is highlighted. When the focus is on a PushButton, its action is the default action, and the PushButton shows default highlighting. If the default action in a window varies, some PushButton always has default highlighting, except when there is no current default action (Default Activation).

Placing emphasis on the default PushButton in a DialogBox provides the user with a visual cue about the expected reply to the dialog.

5-15
When focus is in a window with a default action, [Enter] and invoke the default action. If focus is in a component other than multiline Text, 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 (Default Activation).

These rules ensure that the means of invoking a default action are consistent across applications.

5-16
Except in the middle of a button motion operation, anywhere in a DialogBox is equivalent to activating the Cancel PushButton in the DialogBox (Default Activation).

provides a uniform means of canceling a DialogBox from the keyboard.

Expert Activation

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).

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.

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 (Expert Activation).

This rule minimizes possible confusion between default and expert activation.

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 (Expert Activation).

A user needs to be able to select a component, even if it has an expert action associated with it.

Previewing and Autorepeat

5-20
If your application supports activation preview using BSelect, the previewing information is removed when the user releases BSelect (Previewing and Autorepeat).

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.

Cancel Activation

5-21
Pressing stops the current interaction in the following contexts (Cancel Activation):

These guidelines for ensure the consistent operation of the key across applications.