Legacy ARIA 1.0 Combobox With Both List and Inline Autocomplete Example
NOTE: Please provide feedback in issue 553.
The below combobox for choosing the name of a US state or territory demonstrates the ARIA 1.0 design pattern for combobox. The design pattern describes four types of autocomplete behavior. This example illustrates the autocomplete behavior referred to in the pattern as list with inline completion. If the user types one or more characters in the edit box and the typed characters match the beginning of the name of one or more states or territories, a listbox popup appears containing the matching names, and the first match is automatically selected. In addition, the portion of the selected suggestion that has not been typed by the user, a completion string, appears inline after the input cursor in the textbox. The automatically selected suggestion becomes the value of the textbox when the combobox loses focus unless the user chooses a different suggestion or changes the character string in the textbox. Note that this implementation enables users to input the name of a state or territory, but it does not prevent input of any other arbitrary value.
Similar examples include:
- ARIA 1.0 Combobox with List Autocomplete: A combobox that demonstrates the autocomplete behavior known as
list with manual selection
and uses the ARIA 1.0 implementation pattern. - ARIA 1.0 Combobox Without Autocomplete: A combo box that demonstrates the behavior associated with
aria-autocomplete=none
and uses the ARIA 1.0 implementation pattern. - ARIA 1.1 Combobox with Listbox Popup: Comboboxes that demonstrate the various forms of autocomplete behavior using a listbox popup and use the ARIA 1.1 implementation pattern.
- ARIA 1.1 Combobox with Grid Popup: A combobox that presents suggestions in a grid, enabling users to navigate descriptive information about each suggestion.
Example
- Alabama
- Alaska
- American Samoa
- Arizona
- Arkansas
- California
- Colorado
- Connecticut
- Delaware
- District of Columbia
- Florida
- Georgia
- Guam
- Hawaii
- Idaho
- Illinois
- Indiana
- Iowa
- Kansas
- Kentucky
- Louisiana
- Maine
- Maryland
- Massachusetts
- Michigan
- Minnesota
- Mississippi
- Missouri
- Montana
- Nebraska
- Nevada
- New Hampshire
- New Jersey
- New Mexico
- New York
- North Carolina
- North Dakota
- Northern Marianas Islands
- Ohio
- Oklahoma
- Oregon
- Pennsylvania
- Puerto Rico
- Rhode Island
- South Carolina
- South Dakota
- Tennessee
- Texas
- Utah
- Vermont
- Virginia
- Virgin Islands
- Washington
- West Virginia
- Wisconsin
- Wyoming
Keyboard Support
The example combobox on this page implements the following keyboard interface. Other variations and options for the keyboard interface are described in the Keyboard Interaction section of the combobox design pattern.
Textbox
Key | Function |
---|---|
Down Arrow |
|
Up Arrow |
|
Enter |
|
Escape |
|
|
Listbox Popup
NOTE: When visual focus is in the listbox, DOM focus remains on the textbox and the value of aria-activedescendant
on the textbox is set to a value that refers to the listbox option that is visually indicated as focused.
Where the following descriptions of keyboard commands mention focus, they are referring to the visual focus indicator.
For more information about this focus management technique, see
Using aria-activedescendant to Manage Focus.
Key | Function |
---|---|
Enter |
|
Escape |
|
Down Arrow |
|
Up Arrow |
|
Right Arrow | Moves visual focus to the textbox and moves the editing cursor one character to the right. |
Left Arrow | Moves visual focus to the textbox and moves the editing cursor one character to the leftt. |
Home | Moves visual focus to the textbox and places the editing cursor at the beginning of the field. |
End | Moves visual focus to the textbox and places the editing cursor at the end of the field. |
Printable Characters |
|
Role, Property, State, and Tabindex Attributes
The example combobox on this page implements the following ARIA roles, states, and properties. Information about other ways of applying ARIA roles, states, and properties is available in the Roles, States, and Properties section of the combobox design pattern.
Textbox
Role | Attribute | Element | Usage |
---|---|---|---|
combobox
|
input[type="text"] |
|
|
aria-autocomplete=
|
input[type="text"] |
Indicates that the autocomplete behavior of the text input is to both show an inline completion string and suggest a list of possible values in a popup where the suggestions are related to the string that is present in the textbox. | |
aria-haspopup=
|
input[type="text"] |
Indicates that the combobox can popup another element to suggest values. | |
aria-owns=
|
input[type="text"] |
|
|
aria-expanded=
|
input[type="text"] |
Indicates that the popup element is not displayed. | |
aria-expanded=
|
input[type="text"] |
Indicates that the popup element is displayed. | |
aria-activedescendant=
|
input[type="text"] |
|
Listbox Popup
Role | Attribute | Element | Usage |
---|---|---|---|
listbox
|
ul
|
Identifies the ul element as a listbox . |
|
aria-label=
|
ul |
Provides a label for the listbox . |
|
option
|
li |
|
|
aria-selected=
|
li |
|
Javascript and CSS Source Code
- CSS: combobox-1.0.css
- CSS: listbox.css
- Javascript: combobox-1.0-list.js
- Javascript: listbox.js
- Javascript: listboxOption.js
HTML Source Code