Choosing a Keyboard Interface
The key to defining a good keyboard interface is to adapt models already familiar to the user. To accomplish that, you should make the interface keystroke-compatible with other familiar applications or controls.
Here are some examples showing how the user can move and resize objects using the keyboard:
- Menus and Dialog Boxes. Menus are one of the most common and standardized user interface elements. Putting commands on the menu is always a safe option. However, doing so consistently may make menus large and unwieldy. To prevent these types of problems, you can provide a default configuration that hides most of the menu items for your application's commands and only shows them when the user explicitly requests them through an option in your application or when the user sets the Keyboard Preference flag in Control Panel (discussed later in this document). It is usually possible to provide dialog boxes or property sheets with the same functionality used by the mouse.
- Property Sheets. The user can directly manipulate controls to adjust their location and size using the object's property sheet. This method is used by the Microsoft Visual Basic® programming system.
The following examples show some navigational techniques that you may be able to adopt and adapt to your application:
- Move and Size Commands. Most windows have Move and Size commands on their system menu, which enable the user to perform those operations using the keyboard. The same commands with the same user interface can also be provided for application-specific objects, either on the normal menu bar or on the object's context menu.
- Navigating Between Objects. Windows Help uses a common method for navigating between objects. Windows Help allows the user to press the TAB key to move the focus through a list of "hot spots" or active regions, and to press the ENTER key to choose the currently selected active region. The SHIFT+TAB key combination is used to move backwards through the list, and arrow keys are used to move in specific directions (this capability is especially useful if the items are arranged in two dimensions). An application using this method can also allow the user to type one or more letters to move to the next active region whose label starts with those letters, much like the user can move through entries in a standard list box.
- Navigating Between Window Areas. Some applications divide their window into two or more panes, separate areas showing different information that the user can move between using a simple keystroke. For example, Windows Explorer can display a single window with three panes. The TAB key or the SHIFT+TAB key combination moves the focus between the panes (that is, the tree view pane, the folder pane, and the tool bar), and the arrow keys move the focus around within a pane. Multiple Document Interface (MDI) follows another convention, the use of the F6 key and the CTRL+F6 key combination to move the focus between panes and child windows; it also presents a list of windows and allows the user to move between them using the Windows menu.
Some applications use the CTRL+TAB or CTRL+PAGE DOWN key combination to shift through groups of panes or pages.