C Keyboard Shortcuts

This appendix describes the keyboard shortcuts that can be used instead of pointing devices.

This appendix includes the following sections:

C.1 About Keyboard Shortcuts

Keyboard shortcuts provide an alternative to pointing devices for navigating the page. There are five types of keyboard shortcuts that can be provided in BLAF Plus applications:

  • Tab traversal, using Tab and Shift+Tab keys: Moves the focus through UI elements on a screen.

  • Accelerator keys (hot keys): bypasses menu and page navigation, and performs an action directly, for example, Ctrl+C for Copy.

  • Access keys: Moves the focus to a specific UI element, for example, Alt+F (in Windows) for the File menu.

  • Default cursor/focus placement: Puts the initial focus on a component so that keyboard users can start interacting with the page without excessive navigation.

  • Enter key: Triggers an action when the cursor is in certain fields or when the focus is on a link or button.

Keyboard shortcuts are not required for accessibility. Users should be able to navigate to all parts and functions of the application using the Tab and arrow keys, without using any keyboard shortcuts. Keyboard shortcuts merely provide an additional way to access a function quickly.

C.2 Tab Traversal

Tab traversal allows the user to move the focus through different UI elements on a page.

All active elements of the page are accessible by Tab traversal, that is, by using the Tab key to move to the next control and Shift+Tab to move to the previous control. In most cases, when a control has focus, the action can then be initiated by pressing Enter.

Some complex components use arrow keys to navigate after the component receives focus using the Tab key.

C.2.1 Tab Traversal Sequence on a Page

Default Tab traversal order for a page is from left to right and from top to bottom, as shown in Figure C-1. Tab traversal in a two-column form layout does not follow this pattern, but rather follows a columnar pattern. On reaching the bottom, the tab sequence repeats again from the top.

Figure C-1 Tab Traversal Sequence on a Page

Tab traversal sequence on a page

Avoid using custom code to control the tab traversal sequence within a page, as the resulting pages would be too difficult to manage and would create an inconsistent user experience across pages in an application and across applications.

To improve keyboard navigation efficiency for users, you should include a skip navigation link at the top of the page, which should navigate directly to the first content-related tab stop.

C.2.2 Tab Traversal Sequence in a Table

The Tab traversals in a table establish a unique row-wise navigation pattern when the user presses the Tab key several times to navigate sequentially from one cell to another. When the user presses Enter, the focus moves to the next row, to follow the same pattern. The navigational sequence begins and ends in the same column as in the previous row.

Figure C-2 shows an example of a tab traversal sequence in a table.

Figure C-2 Tab Traversal Sequence in a Table

Tab Traversal Sequence in a table

In Figure C-2, the user has navigated the rows in the following way:

  1. The user clicks a cell in the inputText column, giving it focus and making it editable.

    Because the Tab key is used to navigate, the inputText column is recognized as the starting column for the navigation pattern.

  2. The user presses the Tab key and moves the focus in the same row to the cell of the * Required field column.

  3. The user presses the Tab key and moves the focus in the same row to the cell of the inputComboListOf column.

  4. The user presses the Enter key and the focus shifts to the inputText column in the next row.

    Pressing the Enter key sets a navigation pattern, based on the first set of Tab keys, which is followed in subsequent rows.


    The navigational pattern is not recognized if you use arrow keys to navigate from one cell to another.

C.3 Accelerator Keys

Accelerator keys bypass menu and page navigation and perform actions directly. Accelerator keys are sometimes called hot keys. Common accelerator keys in a Windows application, such as Internet Explorer, are Ctrl+O for Open and Ctrl+P for Print.

Accelerator keys are single key presses (for example, Enter and Esc) or key combinations (for example, Ctrl+A) that initiate actions immediately when activated. A key combination consists of a metakey and an execution key. The metakey may be Ctrl (Command on a Macintosh keyboard), Alt (Option on a Macintosh keyboard), or Shift. The execution key is the key that is pressed in conjunction with the metakey.

BLAF Plus components have some built-in accelerator keys. Custom accelerator keys are supported only in menus, as shown in Figure C-3.

Figure C-3 Accelerator Keys in a Menu

Accelerator key for a menu.

When defining accelerator keys, you must follow these guidelines:

  • Accelerator keys must always have alternative interactions, such as direct manipulation with the mouse (for example, clicking a button, or dragging and dropping).

  • Because accelerator keys perform actions directly, if a user presses an accelerator key unintentionally, data may be lost or incorrect data may be entered. To reduce the likelihood of user error, accelerator keys should be used sparingly, and only for frequently and repetitively used functions across applications. As a general rule, less than 25% of available functions should have accelerator keys.

  • Custom accelerator keys must not override accelerator keys that are used in the menus of BLAF Plus-supported browsers (see the browser and system requirements for supported operating systems and browsers in BLAF Plus), and must not override accelerator keys that are used in assistive technologies such as screen readers.

  • Custom menu accelerator keys must always be key combinations. The metakey may be Ctrl, Ctrl+Shift, or Ctrl+Alt. Ctrl+Alt is the recommended metakey because Ctrl and Ctrl+Shift are commonly used by browsers. The execution key must be a printable character (ASCII code range 33-126).

  • Custom menu accelerator keys must be global to the entire page. If a page were to have different menus that used the same accelerator, it would be difficult for the browser to predict which actions would be executed by the accelerator at any given time.


In Windows, users have the ability to assign a Ctrl+Alt+character key sequence to an application desktop shortcut. In this case, the key assignment overrides browser-level key assignments. However, this feature is rarely used, so it can generally be ignored.

Certain BLAF Plus components have built-in accelerator keys that apply when the component has focus. Of these, some are reserved for page-level components, whereas others may be assigned to menus when the component is not used on a page. Table C-1 lists the accelerator keys that are already built into page-level BLAF Plus components. You must not use these accelerator keys at all.

Table C-1 Accelerator Keys Reserved for Page-Level Components

Accelerator Key Used In Function


Active Data

Check for updated data




Secondary Windows

Toggle focus between popup and primary window



Give focus to splitter bar

The menu commands take precedence if they are on the same page as page-level components, and have the same accelerator keys. For this reason, you must not use the accelerator keys listed in Table C-2 in menus when the related component also appears on the same page.

Table C-2 Accelerator Keys Assigned to Optional Components

Accelerator Key Component Function


Rich Text Editor



Rich Text Editor



Hierarchy Viewer

Switch content panel

Ctrl+Alt+0. . .Ctrl+Alt+5

Hierarchy Viewer

Switch diagram layout


Rich Text Editor



File Upload

Multi-Select Choice List

Multi-Select List Box

Pivot Table

Rich Text Editor

Spin Box

Text Box & Area


Select all


Rich Text Editor



Rich Text Editor

Toggle source code editing


Rich Text Editor

Center alignment


Rich Text Editor

Create hyperlink


Rich Text Editor

Remove hyperlink


Rich Text Editor



Rich Text Editor



Rich Text Editor

Full-justified alignment


Rich Text Editor

Left alignment


Rich Text Editor

Numbered list


Rich Text Editor

Increase indentation


Rich Text Editor

Decrease indentation



Pivot Table



Tree Table

Launch context menu


Rich Text Editor

Right alignment


Rich Text Editor

Toggle rich text editing


Rich Text Editor

Clear text styles


Rich Text Editor



Rich Text Editor



Rich Text Editor



Hierarchy Viewer


Tree Table

Go up one level



Reverse all edits of the row and disable edit mode




Navigate to the next or previous cell of the column

C.4 Access Keys

Access keys move the focus to a specific UI element.

Access keys relocate cursor or selection focus to specific interface components. Every component on the page with definable focus is accessible by tab traversal (using Tab and Shift+Tab); however, access keys provide quick focus to frequently used components. Access keys must be unique within a page.

The result of pressing an access key depends on the associated element and the browser:

  • Buttons: In both Firefox and Internet Explorer, access keys give focus to the component and directly execute the action.

  • Links: In Firefox, access keys give focus to the component and directly navigate the link; in Internet Explorer, access keys give focus only to the link.

  • Other Elements: In both browsers, access keys give focus only to the element.

Access keys are triggered with Shift+Alt+mnemonic in Firefox and Alt+mnemonic in Internet Explorer.

If the mnemonic is present in the text of the component label or prompt (for example, a menu name, button label, or text box prompt), it is visible in the interface as an underlined character, as shown in Figure C-4. If the character is not part of the text of the label or prompt, it is not displayed in the interface.

Figure C-4 Access Key

Access key for a component.

When defining access keys, you must follow these guidelines:

  • Access keys may be provided for buttons and other components with a high frequency of use. You may provide standard cross-application key assignments for common actions, such as Save and Cancel. Each of these buttons is assigned a standard mnemonic letter in each language, such as S for Save or C for Cancel.

  • A single letter or symbol can be assigned only to a single instance of an action on a page. If a page had more than one instance of a button with the same mnemonic, users would have no way of knowing which button the access key would invoke.

  • Focus change initiated through access keys must have alternative interactions, such as direct manipulation with the mouse (for example, clicking a button).

  • The mnemonic must be an alphanumeric character — not a punctuation mark or symbol — and it must always be case-insensitive. Letters are preferred over numbers for mnemonics.

  • In Internet Explorer, application access keys override any browser-specific menu access keys (such as Alt+F for the File menu), and this can be a usability issue for users who habitually use browser access keys. Thus, teams must not use access keys that conflict with the top-level menu access keys in BLAF Plus-supported browsers (for example, Alt+F, E, V, A, T, or H in the English version of Internet Explorer for Windows XP).

  • You are responsible for assigning access keys to specific components. When choosing a letter for the access key, there are a few important considerations:

    • Ease of learning: Although the underlined letter in the label clearly indicates to the user which letter is the access key, it is still recommended to pick a letter that is easy for users to remember even without scanning the label. That is often the first letter of the label, like Y in Yes, or a letter that has a strong sound when the label is read aloud, such as x in Next.

    • Consistency: It is good practice to use the same access key for the same command on multiple pages. However, this may not always be possible if the same command label appears multiple times on a page, or if another, more frequently used command on the page uses the same access key.

    • Translation: When a label is translated, the same letter that is used for the access key in English might not be present in the translation. Developers should work with their localization department to ensure that alternative access keys are present in component labels after translation. For example, in English, the button Next may be assigned the mnemonic letter x, but that letter does not appear when the label is translated to Suivantes in French. Depending on the pool of available letters, an alternative letter, such as S or v (or any other unassigned letter in the term Suivantes), should be assigned to the translated term.


For translation reasons, you should specify access keys as part of the label. For example, to render the label Cancel with the C access key, it is recommended to use &Cancel in the textAndAccessKey property (where the ampersand denotes the mnemonic) rather than C in the accessKey property. Product suites must ensure that access keys are not duplicated within each supported language and do not override access keys within each supported browser unless explicitly intended.

C.5 Default Cursor or Focus Placement

The default cursor puts the initial focus on a component so that keyboard users can start interacting with the page without excessive navigation.

Focus refers to a type of selection outline that moves through the page when users press the tab key or access keys. When the focus moves to a field where data can be entered, a cursor appears in the field. If the field already contains data, the data is highlighted. In addition, after using certain controls (such as a list of values (LOV) or date-time picker), the cursor or focus placement moves to specific locations predefined by the component.

During the loading of a standard BLAF Plus page, focus appears on the first focusable component on the page — either an editable widget or a navigation component. If there is no focusable element on the page, focus appears on the browser address field.

When defining default cursor and focus placement, you should follow these guidelines:

  • BLAF Plus applications should provide default cursor or focus placement on most pages so that keyboard users have direct access to content areas, rather than having to tab through UI elements at the top of the page.

  • You can set focus on a different component than the default when the page is loaded. If your page has a common starting point for data entry, you may change default focus or cursor location so that users can start entering data without excessive keyboard or mouse navigation. Otherwise, do not do this because it makes it more difficult for keyboard users (particularly screen reader users) to orient themselves after the page is loaded.

C.6 The Enter Key

The Enter key triggers an action when the cursor is in certain fields or when focus is on a link or button. You should use the Enter key to activate a common commit button, such as in a Login form or in a dialog.

Many components have built-in actions for the Enter key. Some examples include:

  • When focus is on a link or button, the Enter key navigates the link or triggers the action.

  • When the cursor is in a query search region, quick query search, or Query-By-Example (QBE) field, the Enter key triggers the search.

  • In a table, the Enter key moves focus to the cell below, and pressing Shift+Enter moves focus to the cell above. When the focus moves, the current cell reverts to the read-only mode.