Providing Access Keys
Underlined letters on a menu or control, known as access keys (also called shortcut keys or quick-access characters), should exist for all menu items and controls.
The following illustration shows some access keys on a File menu.
Once users become familiar with an application, they become more likely to use access keys to speed up common operations. This tendency is even more common among users who do not use a mouse, including those who are blind. For example, screen review utilities present the user interface sequentially, so a user has to press the TAB key and read or listen to find out what he or she has reached before deciding whether to press the TAB key again. This mechanism slows down the process of locating the correct destination and makes use of access keys much more attractive.
You can omit access keys in these two situations:
- There are not any unused characters in the label to use. In this case, you can either rename the control or omit the access key, depending on how often or how repetitively the command will be used. An example is the standard Sort Options dialog box; it has identical sets of controls for each of the three sort criteria, which makes it difficult to assign unique access keys to each.
- The set of commands is very dynamic and cannot be predicted by the user. For example, the standard OK, Cancel, and Apply buttons used in all property sheets cannot be allowed to conflict with controls on a particular page. Because there is no way to predict what controls might be on a page, access keys are not provided for the standard buttons. Another example is a context menu whose commands might vary from one instance to another. Context menu commands can have access keys when it is clear they will not conflict, but they can be omitted when they might conflict with each other or when the user might expect a letter to be associated with one command and find, unpleasantly, that in a particular instance it triggers another.
Another benefit of providing access keys for dialog box controls is that it ensures that a static text control immediately precedes the object it is labeling in the tab order; this ordering helps screen review utilities determine the relationship between the control and its object.