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

Input Models


The Keyboard Focus Model

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

The keyboard focus determines which component on the screen receives keyboard events. This rule prevents confusion about which window and component have the focus.

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 (The Keyboard Focus Model).

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.

2-3
When your application uses an explicit focus policy, the component with the keyboard focus is highlighted by a location cursor (Explicit Focus).

The user needs to know the location of the keyboard focus to be able to control an application.

The Input Device Model

2-4
Your application supports methods of interaction for keyboard-only users. All features of your application are available from the keyboard (The Input Device Model).

Some users may not have access to a pointing device. These users need to be able to access the full functionality of the application from the keyboard. Additionally, advanced users will be able to use the keyboard to perform some tasks more quickly than with a pointing device.

2-5
Your application uses the following bindings for mouse buttons (Pointing Devices):

These bindings ensure a consistent interface for using standard mouse-based operations across applications.

2-6
Your application does not warp the pointer unless you have given the user a means of disabling the behavior (Warp Pointer Only If Explicitly Enabled).

The pointer position is intended only as input to applications, not as an output mechanism. An application warps the pointer when it changes the pointer's position. This practice is confusing to users and reduces their sense of control over an application. Warping the pointer can also cause problems for users of absolute location pointing devices.