BLAF Guidelines - Keyboard Shortcuts

Keyboard Shortcuts

Last Updated 29-Apr-2004

General Description

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 applications:

  1. Tab Traversal, using Tab and Shift-Tab keys, moves focus through UI elements on a screen (fully supported in Oracle HTML applications).
  2. Accelerator Keys (hot keys), such as Ctrl+A for Save As in a Windows application, bypass menu and page navigation, and perform an action directly (provided for certain actions in Oracle HTML applications).
  3. Access Keys, such as Alt+F to open the File menu in a Windows application, and move the focus to a specific UI element (supported by UIX, but standard letter key assignments are now used exclusively for accelerator keys).
  4. Default Cursor/Focus Placement, where focus is placed in a field or on a control (typically the first field in the page) so users can enter data without excessive navigation through the page.
  5. Enter Key, which triggers an action when the cursor is in certain fields or focus is on a link or button.

Guideline Attributes

Spec Version # - 3.1
Spec Contributors - Betsy Beier, Mervyn Dennehy, Lisa Serface, Irene Wong, Ivy Leung
UI Models - all models
Example Products - all products
Related Guidelines - Accessibility, Language, Content Layout Templates, BLAF Users: Keyboard

Interaction and Usage Specifications

General

Accelerator keys and access keys can only be implemented for applications running in Internet Explorer v.4.x and higher, Mozilla, and Netscape v.7 and higher.

In Oracle applications, accelerator keys are provided for action/navigation buttons with a high frequency of use. Standard cross-application key assignments are provided for common actions, such as Apply and Cancel. Each of these buttons is assigned a standard mnemonic letter in each language, such as "p" for "Apply" or "l" for "Cancel", where the letter. Individual applications can assign numeric accelerator keys for actions that are uncommon across applications, but that have a high frequency of use within that application.

Note: In keyboard shortcuts the term 'mnemonic letter' refers to an underscored letter in a control label indicating that the letter functions as a keyboard shortcut when used in combination with other keys (typically the Alt key in Windows applications). In previous versions of this guideline, the term 'mnemonic' was used exclusively for access keys.

This guideline avoids assigning mnemonic letters used by either IE v.5x and 6 or Netscape 7 (Mozilla uses a subset of Netscape 7 mnemonics). Duplicating mnemonics can prohibit a user from accessing the built-in browser functionality via the keyboard, which can be a usability issue, especially for users who habitually use browser access keys.

Note: Any discussion of keyboard shortcuts requires use of the terms "focus" and "cursor". In this context, "focus" refers to a type of selection outline that moves through the page when users press Tab keys or mnemonic keys. When the focus moves to a field where data can be entered, a cursor appears in the field.

Tab Traversal

All active elements of the page (see list below) are accessible by Tab traversal, 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, action can be initiated by pressing Enter.

The general default Tab traversal order for an entire HTML page is from left to right, and from top to bottom. Tab traversal in a block of 2 column label/data layout does not follow this pattern, but a columnar pattern. See Content Layout Templates: Page Layout of Standard Web Widgets for further details regarding label/data 2 column layouts.

BLAF applications provide default cursor/focus placement on most pages so keyboard users have direct access to content areas, rather than having to tab through UI elements at the top of the page. See Default Cursor/Focus Placement below for details.

Note: Developers should avoid custom code using the HTML 4.0 TABINDEX attribute to control the Tab traversal sequence within a page, as resulting pages will be too difficult to manage and inconsistent user experience across pages in an application and/or across applications. Instead, most page templates should have a default cursor/focus placement, described later in this guideline.

Active page elements that can be navigated with Tab traversal include:

  • Action/Navigation Button
  • Link
  • Global Button
  • Standard Web Widgets in Label/Data Layout
    • List/Choice/Option
    • Radio Button
    • Check Box
    • Text Input field, Text Area
    • List Box
  • Tab/Navigation
    • Tabs in Tab Bar
    • Horizontal Navigation Sections
    • Side Navigation Sections
    • SubTab Navigation Sections
    • Task/Property Menu Items
  • Table
  • Breadcrumbs
  • Icons
  • Shuttle

The basic Tab traversal sequence between active elements of a page is from left to right and top to bottom. Unless the page features a default cursor/focus placement, the starting point is the browser address field. The following images show this basic sequence -- the numbers in the images correspond to the number of times the user presses the tab key:

Note: A 2-column block of label/data tab traversal follows a columnar pattern. See Content Layout Templates: Page Layout of Standard Web Widgets for further details.

On reaching the bottom, the sequence repeats again from the top. If the page features a default cursor/focus placement, this only changes the starting point for the tab order -- on reaching the bottom, the sequence continues at the very top of the page.

When a table is nested within a table cell, Tab traversal runs through each cell in the nested table before continuing on to the next cell in the parent table. In the following example, the left navigation area is contained in a nested table, so Tab traversal runs through the nested table before continuing on to the active elements at the right and bottom of the page:

Cursor/Focus Placement After Using Specific Controls

After using certain controls, cursor/focus placement moves to predefined locations, depending on the page context:

  • Add a Row Button: If the user clicks Add a Row in an updateable table, the cursor moves to the first field in newly added row in the table.
  • LOV - Auto complete (where there is only one match): the cursor/focus goes to the next updateable field.
  • LOV - After LOV selection (when the LOV window is closed): the cursor remains in the LOV text input field. When the user tabs out of the field, it is treated the same as Auto Complete, and so the cursor/focus moves to the next updateable field.
  • LOV - No value entered: If the user tabs out of the field without entering a value, the focus moves to the LOV icon.
  • LOV - If user clicks Cancel or browser "X" (Close) control on LOV page: the LOV field is cleared and the cursor remains in the LOV text input field.

Accelerator Keys

Accelerator keys bypass menu and page navigation, and perform an action directly, as if the user has pressed an action/navigation button or link. Accelerator keys are also commonly called "hot keys". Common accelerator keys in a Windows application, such as Internet Explorer, are Ctrl+O for "Open".

In HTML applications, accelerator keys consist of Alt + key combinations, and are typically provided for action/navigation buttons. In an Apple environment, depending on context, the Cmd or Option key fills the same function as the Alt key. Shortcut key assignments on other types of controls, such as fields, operate as Access Keys, which are described in the next section of this guideline.

Accelerator Keys in Example Page (Cancel, and Apply buttons)
Cancel, and Apply buttons with mnemonics in example page

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, Oracle applications mostly assign accelerator keys to common action/navigation buttons with a high frequency of usage across applications, where the mnemonic letter indicates that the button has an associated accelerator key.

There are two types of accelerator keys in Oracle applications:

  • Mnemonic (common) accelerator keys: Consist of standard mnemonic letter and symbol assignments for actions that are frequently used across all Oracle applications. With the exception of repeating page-level buttons, only one instance of a mnemonic accelerator key may appear on a page.
  • Numeric (application-specific) accelerator keys: Consist of assignments of numerals 0-9 for actions that are NOT frequently used across Oracle applications, but instead are frequently used within a page of an individual application. If a page contains multiple instances of a control, separate numeric accelerator keys may be assigned to each of those instances.

Note: Accelerator keys are turned off in screen reader mode (accessibility mode).

Mnemonic (Common) Accelerator Keys

Mnemonic accelerator keys consist of standard letter and symbol assignments for actions that are frequently used across all Oracle applications.

There are a number of constraints on use of mnemonic letters and symbols in HTML applications:

  • Some letters and symbols are already used by supported browsers as access keys, especially for menu commands, so the available pool of characters is limited.
  • Underscore indicates a link in an HTML page, and mnemonic letters are also indicated by underscore, so mnemonics must either be assigned only to controls without underscored links, or must be indicated in another way.
  • To facilitate user learning, mnemonics must be consistently assigned for common actions, both within and across applications.
  • In internationalized applications, button text may be translated. Consequently, internationalization teams should reassign mnemonic letters for each common accelerator key in each translated language.
  • A single letter or symbol can only be assigned 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 (with the exception of repeating page level buttons that perform the same actions regardless of position), users would have no way to know which button the hot key would invoke.
  • When symbols are assigned as accelerator keys, the symbol is not indicated on the page, and must be learned by users. At present the only symbol assignments are the "," (comma) and "." (period) symbols for navigation within Subtabs.

Apart from the underscored mnemonic letter in buttons with accelerator keys, users may learn about accelerator key assignments in other ways:

  • Product documentation
  • Associated ALT text popups, which include the text "Hot key = Alt + {character}".

All standard English language accelerator key assignments are listed in the following table:

Control Character Type/Function
Apply p Action/Nav. button
Back k Navigation button
Cancel l Action/Nav. button
Continue c Navigation button
Finish i Action/Nav. button
Next x Action/Nav. button
No n Action/Nav. button
Save s Action/Nav. button
Search r Action/Nav. button
Submit m Action/Nav. button
Yes y Action/Nav. button
Right Subtab

","
(comma)

Move to Subtab on right
Left Subtab "."
(period)
Move to Subtab on left

Numeric (Application-Specific) Accelerator Keys

In addition to the common mnemonic accelerator keys listed above, keystroke intensive applications may need other hot keys to speed up routine operations. In this case, development teams can assign number 0 through 9 to controls with high usage on each page. Unlike mnemonic letters, these numeric key assignments should not be assigned based on control labels, but rather, based on location in the page. The first control should be assigned the numeral 0, the second should be 1, and so on.

Numerals indicating accelerator key assignments are appended to control labels within parentheses, so can be assigned to links and other labeled controls. The syntax is:

{ActionName} ({NumericValue})

where ActionName is variable text, and NumericValue is a number from 0 through 9.

For example, if the control "Assign" is assigned the numeral "2", it's label would appear as:

"Assign (2)"

The following restrictions apply to use of numeric accelerator keys:

  • A single numeral can only be assigned to a single instance of an action on a page.
  • When there are more than one instance of a button on a page, (such as multiple occurrences of Update, Create, Go and so on), development teams can choose to provide hot key support (Alt + numeric) for such actions. They can use Alt + numeric to differentiate between the instances of the same non-page level button on the same page (e.g., Alt + 0 for the first Create button; Alt + 1 for the second Create button, and Alt + 2 for the third Create button, and so on.)
  • If applications implement numeric hot keys, they must also implement standard accelerator keys for the common actions listed above, wherever those actions appear as buttons in the application.

Note: Development teams using the OA Framework may not assign numeric accelerator keys on LOV pages, as the OA Framework manages key assignments on this page centrally. The current assignments for LOV pages include use of the Enter key to activate the Select button, along with the standard mnemonic accelerator key for Cancel.

Localized Accelerator Keys

Internationalization needs to localize common accelerator key mnemonic letters for each target language. This can be accomplished by generating a language-specific list of mnemonics based on the English language list, but with different key assignments.

For example, in English the button "Next" is assigned the mnemonic letter "x". In French, depending on the pool of available letters, this could appear as "Suivantes", with the mnemonic letter "S", or as "Suivantes", with the mnemonic letter "v" (or any other unassigned letter in the term "Suivantes").

The spreadsheet mnemonics.xls facilitates assignment of language-specific mnemonics for accelerator keys.

Note: Assignments of numeric and symbol hot keys should not be changed in localized applications.

Access Keys

In a Windows environment, users of HTML applications can press the Alt key in combination with a character to move focus to a specific control within a page. In an Apple environment, depending on context, the Cmd or Option key fills the same function as the Alt key. In current browsers, access keys can also activate some controls, such as radio buttons and check boxes.

Due to the limited pool of available mnemonic letters for keyboard shortcuts, Oracle applications assign these letters as accelerator keys on action/navigation buttons with a high frequency of usage, rather than as access keys. As a result, Oracle applications do not provide access keys at this time, even though they are supported by UIX. This policy may be revised in future releases of this guideline.

Default Cursor/Focus Placement

Most standard BLAF templates feature default cursor/focus placement, so users can enter data without excessive keyboard or mouse navigation. These default positions are common across BLAF applications. The default position is typically the first editable field in the page, or the right-most page-level action/navigation button below the page title, but this varies depending on the template, as listed in the table below.

Note: Default cursor placement is turned off in accessibility mode to avoid interfering with screen readers.

When discussing keyboard shortcuts, "focus" refers to a type of selection outline that moves through the page when users press Tab keys 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 by a selection cursor.

The templates listed below use the same names as those in the BLAF Guidelines Index. Each template is named for the functions that can be performed on that page. Links on template names lead to their respective guidelines.

Note: Action/navigation buttons often have similar names to the templates they launch, but usually are located on different templates. For example, an Object template may contain an Add Attachments action/navigation button that launches the Attachments page/template -- however that object page is NOT an Attachments template.

Template Function/Context Default Cursor and Focus Position Notes
About Application Template If page level button exists Focus on right-most page level button Page usually consists only of text and links, without buttons.
Attachments Template With the 'Attachment Summary Information' section Cursor in first text field (probably 'Name') of the 'Attachment Summary Information' section  
Without 'Attachment Summary Information' section The first radio group selection ('File') should be selected and the cursor should go in the 'File' text field.
Batch Detail Mode Template View-only page Focus on "Next" page level button.  
Updateable page Place the cursor on the first updateable field encountered on the page.
Browse Page Templates If page level button exists Focus on right-most page level button Page usually consists of text and links
If no page level button Focus on first hyperlink
Browser Incompatibility Template If page level button exists Focus on right-most page level button Page usually consists of text and links
Compare Templates Select Attributes page Place the cursor on the first item in the 'Available Attributes' section OR if the 'Available Attributes' shuttle has a search function above it, place the cursor there OR on "Continue" page-level button, OR no default cursor placement on this page.  
View Comparisons page Focus on right-most page level button (usually 'Finish').
Export/Import Templates With 'Export Options' Cursor in the first text field of the page  
Without 'Export Options' No default cursor because dialog box is opened. Place focus on page-level button on originating page (usually 'Apply').
Global Page Templates Return to Portal n/a Not a true template, just a button
Login/Logout page Place cursor in 'User Name' text field  
Generic Unknown Application teams can build this page on their own
Preferences Place cursor in the first text field 'Known As' under the 'General' SideNav group.  
Contact Us Focus on first hyperlink. Page is all links.
Help No cursor placement Page is all links in a secondary browser window.
Home Page Templates 3 column layout Place cursor in the 'Search' text field.  
2 column layout Place cursor in the first text field of the topmost content container on the right side of the page.  
2 column layout with SideNav Place cursor in the 'Search' text field.  
1 column layout Focus on right-most page level button, if it exists. Otherwise on first hyperlink on page. Page consists of read-only data.
Long Page (Object) Template View-only page Focus on right-most page level button.  
Updateable page Place the cursor in the first updateable field encountered on the page.
LOV Template All Place cursor in first text field in the 'Search' region/section.  
Master/Detail Templates All Place cursor in the first updateable field on the page.  
Object List Templates View-only page Focus on right-most page level button.  
Updateable page If it exists, place cursor in first field on page; if not, focus on right-most page level button. If there is no page level button: no default cursor/focus placement.
Object Page Templates View-only page Focus on right-most page level button.  
Updateable page Place the cursor in the first updateable field encountered on the page.
Messaging Page Templates Error page Focus on right-most page level button.  
Information page Focus on Return to XXX link if it exists; otherwise focus on right-most page level button.
Warning page Focus on right-most page level button.
Confirmation page Focus on Printable Page button if it exists; otherwise focus on Return to XXX link if it exists; otherwise focus on right-most page level button.
Notification Templates All Focus on right-most page level button.  
Overview Templates All Focus on right-most page level button.  
Personalization of HGrid Views Templates Personalize Views page Cursor in Create View field (first field in page).  
General and Column Properties page Cursor in View Name field (first field in page).
Rename Columns page Cursor in first updateable field on page (New Column Name).
Select Nodes to View page Focus on Finish button (right-most page-level button).
Sort Child Nodes page Focus on Apply button (right-most page-level button).
Personalization of Table Views Templates Personalize Views page Focus on Create View global table button.  
Update/Create/Duplicate/Save As page Cursor in View Name field (first field in page).
Rename Columns and Totaling page Focus on Apply button (right-most page-level button).
Update Column Span page Place cursor in first field in the Available Columns column of the shuttle, in the first section of the page.
Preview Templates Preview BLAF Object page (Preview only) Focus on Printable Page button if it exists; otherwise focus on Return to XXX link.  
Preview BLAF Object page (Preview with actions) Focus on right-most action/nav. button.
Preview Third-Party Objects n/a (controlled by third-party application).
Printable Page Templates Printable page No default focus. Initial page from all printable page options is an object page. No default focus is provided once a printable page is generated.
Print Specific Content page Focus on right-most page level button (either Print {ObjectType} or "Print Selected Content").
Privacy Statement Template All No default focus.  
Processing Page Templates All Focus on page level Cancel button.  
Search Templates All types, including advanced search, SideNavigation, and Views Cursor/Focus in first field in search section. Depending on search type, first field may be a text field or a choice list.
1-Step (Transactional or Form) Templates All types Cursor/Focus in first field in page. Depending on the page, first field may be a text field or a choice list.
2 Step Process/2 Page Object Templates 2 step process where user may enter or modify data in both steps. Cursor/Focus in first field in page. Depending on the page, first field may be a text field or a choice list.
2 step process where user enters or modifies data in first step, then reviews changes in second step. In first step, place cursor/focus in first field in page; in second step, focus on right-most page-level action/nav. button (such as Submit).
Step by Step Process (3+ Steps) Templates All steps except last step. Focus on Next button.  
Last step of process. Focus on right-most page-level action/nav. button (such as Submit).
Tree Templates With a search section (including SideNav type) If the root node is selected in the tree, place cursor/focus in first field in search section; if another tree node is selected, focus on that node.  
Without a search section Focus on whichever node is selected in the tree.

Use of Enter Key

The Enter key can be used in three different ways:

  • When the focus is already on a link, an image, or a button with an associated URL, the Enter key triggers the action. This is default browser behavior, and is supported by all BLAF applications.
  • When the cursor is in a field, the Enter key triggers the action/nav. button associated with the field, such as "Go" and "Login". This behavior requires programming, and will be supported for two types of fields:
    • Login fields: If the cursor is in a Login field, such as User Name or Password, the Enter key triggers the action of the Login button.
    • Search fields: (for Simple Search only) If the cursor is in a Search field the Enter key triggers the search. If the page contains other updateable fields, the application must validate the data before the search is performed.
  • On an LOV page, the Enter key triggers the Select button (currently only available in applications based on the OA Framework).

Note: The Enter key is not supported on other fields because of technical constraints: In order for the Enter key to function in a field, the field must be embedded in an HTML Form tag, but most BLAF pages are assembled within a single HTML Form tag.

Visual Specifications

Oracle HTML applications only assign mnemonic letters as accelerator keys for specific Action/Navigation buttons, and indicate the mnemonic letter with underscore. The UIX GIF generator will render assigned mnemonics along with other elements of the button.

Yes: Alt + y No: Alt + n

Controls with assignments of accelerator keys, both mnemonic letters and numeric keys, should also have ALT text. ALT text must include both the full control name and the shortcut key, separated by a colon as follows:

Submit Form: Alt + m

For more information on the use of ALT text, see the sections on "Bubble Text" in the Inline Tips and Messaging and Language in UI guidelines.

Open/Closed Issues

Open Issues

  • 28-Feb-2003:
    • Evaluate whether to add more accelerator keys using symbols.
    • Some action/nav. buttons require input to an adjacent field before activation. Need to determine whether it is more useful to provide an access key on the adjacent field.
    • Access keys could be provided to speed up navigation through fields (such as move focus to Next field), using symbols. However these would not be indicated in the UI, and there may be technical constraints that limit their utility.
  • 17-Dec-2002: Add Enter key support for other fields besides Search and Login (such as LOV)

Closed Issues

  • 5-Dec-2003:
    • On an LOV page, the Enter key triggers the Select button (currently only available in applications based on the OA Framework).
    • Defined cursor/focus behavior in relation to LOV (under Tab Traversal).
  • 27-Nov-2003:
    • Removed standard mnemonic assignments for Create, Update, and Go.
    • Added hot key support for "Save": Changed mnemonics for "Finish" and "Continue" to accommodate the change. "S" now assigned to Save; "i" now assigned to "Finish"; "C" now reassigned from "Create" to "Continue". The result is improved mnemonics for all three buttons.
    • Added hot key support for Subtab navigation.
    • Frequently used actions with more than one instance of the same button on a page can only be supported with Alt + Numeric key combinations.
  • 16-Oct-2003: Added numerals as accelerator keys.
  • 4-Mar-2003: Added note explaining the use of the term 'mnemonic'.
  • 26-Feb-2003: Reassigned access keys as accelerator keys.
  • 03-Jan-2003: Completed list of default cursor placements for each template.
  • 14-Dec-2002: Updated mnemonics.xls spreadsheet for use by Internationalization
  • 14-Dec-2002: Changed guideline on use of numeric access keys -- these are now reserved for localization
  • 10-Dec-2002: Added the letter "S" for "Finish" and reassigned the letter "i" from "Finish" to the new mnemonic for "Continue"
  • 10-Dec-2002: Removed the letters "D" (Add) and "W" (unassigned) from the list of shortcuts to remove conflicts with IE 6 and Netscape 7
  • 06.05.00 - Tab traversal will not be controlled with TABINDEX attribute.
  • 06.dd.00 - The Jaws screen reader reads ALT tags, but does not read any HTML 4 accessibility tags. The mnemonic Alt text syntax (Alt + x) is easy to understand. Alt - x works well, too.
  • 06.21.00 - Changed mnemonic ALT text syntax (Alt + X) to "Full control name: Access key = X" for cross-platform compatibility.
  • 06.21.00 - Have reduced list of terms based on Language Spec. review, and assigned mnemonics to the highest priority terms.
  • 06.22.00 - We only use mnemonics for Action/Navigation buttons, so can use underscore to identify the mnemonic letter.
  • 06.23.00 - IE 4.5 on the Mac does not support mnemonics.
E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy