iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
An accessible Angular combobox needs more than the right ARIA attributes. Choose an interaction model first, then make the control’s name, popup state, keyboard behavior, selection behavior, and visible focus agree. Angular’s documented Autocomplete, Select, or Multiselect patterns are the better starting point for standard needs; use its lower-level combobox primitive when your interface needs specialized filtering or popup coordination.
What kind of combobox are you building?
A combobox is a control associated with a popup containing choices. The popup might be a listbox, grid, tree, or dialog. The input might be editable, allowing users to type, or select-only. An editable combobox might accept arbitrary text or require a choice from its suggestions. Its autocomplete can offer suggestions without selecting one, select a suggestion automatically, or complete text inline.
Those differences determine what typing, arrow keys, and Enter should do. Decide them before adding roles or event handlers. For example, a search field that accepts any text and a field that requires a choice from a fixed set may look similar, but they do not have the same value and selection rules.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For a short, familiar fixed-choice list, a native <select> may meet the need with less custom interaction work. WAI-ARIA is intended to supplement native semantics, not replace them; the WAI-ARIA specification recommends using a host-language feature when one fits. A custom combobox makes your team responsible for interactions a native control already provides.
#1 Best Overall
- KEYBOARD: The keyboard works for Windows with hot keys that enable easy access to Media, My Computer, Mute, Volume up/down, and Calculator
- EASY SETUP: Experience simple installation with the USB wired connection
- VERSATILE COMPATIBILITY: This keyboard is designed to work with multiple Windows versions, including Vista, 7, 8, 10 offering broad compatibility across devices.
- SLEEK DESIGN: The elegant black color of the wired keyboard complements your tech and decor, adding a stylish and cohesive look to any setup without sacrificing function.
- FULL-SIZED CONVENIENCE: The standard QWERTY layout of this keyboard set offers a familiar typing experience, ideal for both professional tasks and personal use.
Which Angular implementation should you choose?
Angular’s current Angular Aria guidance presents ngCombobox as a lower-level primitive for coordinating a trigger and popup. It also documents higher-level Autocomplete, Select, and Multiselect patterns for common needs. Use the pattern closest to your intended behavior rather than rebuilding a familiar control from scratch. Confirm the API names and examples against the Angular version your application uses; they can change between releases.
| Choice | Good fit | What to decide |
|---|---|---|
Native <select> |
A fixed set of choices when its interaction and presentation meet the product need. | Whether native behavior and styling satisfy the interface. Reuse it where possible instead of recreating its keyboard and focus behavior. |
| Angular Select pattern | A familiar single-choice list. Angular’s Select guidance suggests it for a fixed list with fewer than 20 options; this is a documented heuristic, not a universal accessibility threshold. | Whether users need to search the list or enter a value outside it. |
| Angular Autocomplete pattern | A larger or searchable list where users type to find suggestions. | Whether typing filters choices, whether the field accepts arbitrary text, and whether suggestions are selected manually or automatically. |
| Angular Multiselect pattern | A standard control where users can select multiple values. | How chosen values are represented and how users add or remove them. |
Angular ngCombobox primitive |
Specialized filtering, selection, or popup coordination not covered by a higher-level pattern. | Whether the team can implement and test the full keyboard, focus, selection, and popup behavior required by its chosen design. |
Angular’s Select guidance also suggests radio buttons when there are only two or three options. Treat both option-count suggestions as guidance for choosing a control, not as hard limits. The right choice depends on how people need to interact with the options, as well as the styling and testing your interface requires.
Which ARIA attributes does an accessible combobox need?
Each state must describe what the user can actually see and do. For a common editable combobox with a listbox popup, the rendered structure might resemble this schematic markup:
Rank #2
- Reliable Plug and Play: The USB receiver provides a reliable wireless connection up to 33 ft (1), so you can forget about drop-outs and delays and you can take it wherever you use your computer
- Type in Comfort: The design of this keyboard creates a comfortable typing experience thanks to the low-profile, quiet keys and standard layout with full-size F-keys, number pad, and arrow keys
- Durable and Resilient: This full-size wireless keyboard features a spill-resistant design (2), durable keys and sturdy tilt legs with adjustable height
- Long Battery Life: MK270 combo features a 36-month keyboard and 12-month mouse battery life (3), along with on/off switches allowing you to go months without the hassle of changing batteries
- Easy to Use: This wireless keyboard and mouse combo features 8 multimedia hotkeys for instant access to the Internet, email, play/pause, and volume so you can easily check out your favorite sites
<label for="city-input">City</label>
<input id="city-input"
type="text"
role="combobox"
aria-expanded="false"
aria-controls="city-options"
aria-autocomplete="list">
<ul id="city-options" role="listbox">
<li id="city-option-1" role="option">Example City</li>
</ul>
This is a semantic sketch, not a complete Angular implementation. In a working component, update the attributes and popup as state changes; the example’s fixed values do not handle opening, filtering, or selection.
aria-expandedreports whether the popup is open. Change it when the popup opens or closes.aria-controlsreferences the popup element by its ID. Keep that relationship valid when the popup is rendered or removed.aria-autocompletedescribes the editable field’s actual autocomplete behavior. Do not announce a suggestion or completion mode the component does not provide.- The popup’s role must match its content. A set of options belongs in a listbox; other popup types call for different structures.
- The control needs an accessible name that is independent of its current value. Prefer a visible label when available; otherwise use a valid relationship such as
aria-labelledbyor anaria-label.
For the common listbox-popup model, focus stays on the combobox while aria-activedescendant identifies the option that is visually active. Keep that reference pointed at a real option and synchronize it with the visual active state. The active option is not necessarily the selected value.
How should keyboard navigation and selection work?
ARIA roles do not supply keyboard behavior. The W3C’s keyboard-interface guidance explains that, unlike native HTML form elements, browsers do not provide keyboard support for GUI components made accessible with ARIA; authors must implement it. Choose a coherent model and document what each supported key does.
Rank #3
- All-day Comfort: The design of this standard keyboard creates a comfortable typing experience thanks to the deep-profile keys and full-size standard layout with F-keys and number pad
- Easy to Set-up and Use: Set-up couldn't be easier, you simply plug in this corded keyboard via USB on your desktop or laptop and start using right away without any software installation
- Compatibility: This full-size keyboard is compatible with Windows 7, 8, 10 or later, plus it's a reliable and durable partner for your desk at home, or at work
- Spill-proof: This durable keyboard features a spill-resistant design (1), anti-fade keys and sturdy tilt legs with adjustable height, meaning this keyboard is built to last
- Plastic parts in K120 include 51% certified post-consumer recycled plastic*
For a common editable combobox with a listbox popup, the APG pattern provides a useful starting point:
Recommended Free Tools
- Tab: The combobox participates in the page’s Tab sequence. The popup and its options do not each become Tab stops.
- Down Arrow: When suggestions are available, move the active suggestion through the list according to the component’s navigation model.
- Enter: Accept the active suggestion if one exists.
- Escape: Dismiss the popup. Decide whether the current value remains unchanged or follows another clearly specified rule.
These are conventions for a common pattern, not a mandate to make every combobox behave identically. If you choose a different APG-documented variant, make its behavior consistent. In an editable field, preserve the browser’s usual text editing, cursor movement, and text selection; do not intercept keys that users need to edit their input.
Also decide when a suggestion becomes the value. Arrow-key movement can merely highlight an option, update the input automatically, or leave commitment until Enter or a click. The visual treatment, the input value, the selected option, and what assistive technology announces should all reflect that decision. The W3C select-only example illustrates a model where users explore options without replacing the current value until they activate a choice, and Escape retains the existing value.
Rank #4
- 【Dreamy Rainbow Gaming Keyboard】K521 Gaming Keyboard Adopts a Different LED Backlight Design, Upgraded on the Traditional LED Backlight Effect, Making the Light More Penetrating, Giving You a More Dazzling Visual Effect, Making Your Gaming Process More Enjoyable
- 【One Touch Opens & Visual Feast】The K521 Red Dragon Keyboard has a One-Touch on/off Lighting Button for Added Convenience. It also has a Three-Position Adjustable Breathing Mode and a Four-Position Adjustable Brightness Lighting Mode
- 【Mechanical Feeling & Fast Tapping】The PC Keyboard Keys are Designed for Mechanical Feeling, Giving You a Better Feel During Use and the Ability to Trigger Keys Quickly, Allowing You to Win All Your Games
- 【19 Keys Anti-Ghosting Keyboard】Anti-Ghosting Ensures Every Button Can Be Triggered. This Allows You to Trigger Key Combinations In The Game Accurately, And Each Skill Can Be Accurately Released to Increase Your Winning Rate. Redragon K521 Will Be Your Perfect Partner
- 【12 Multimedia Combination Keys】The K521 Wired Gaming Keyboard is Equipped with 12 Multimedia Keys That Can Greatly Enhance Your Gaming/Office Efficiency and Make It More Convenient to Use
How do you keep the active option visible?
When the combobox uses aria-activedescendant, changing that reference does not move DOM focus to the option. Browsers therefore do not automatically scroll the option into view as they would a focused element. Scroll the active option into view whenever keyboard navigation changes it.
This matters when a popup has more options than fit in its viewport and when a person uses browser zoom. Assistive technology may announce an option that a sighted keyboard user cannot see if the active row is clipped or outside the popup’s visible area. Keep the visual active indicator visible alongside the accessibility state.
How should you test an Angular combobox?
Check component behavior with focused interaction tests
Angular’s current guide documents a ComboboxHarness, with examples checking whether the popup opens and closes. Its Autocomplete guide also describes using combobox and listbox harnesses to test filtering and selecting options. Check the API against your Angular version before relying on a specific harness or method.
Best Value
- All-day Comfort: This USB keyboard creates a comfortable and familiar typing experience thanks to the deep-profile keys and standard full-size layout with all F-keys, number pad and arrow keys
- Built to Last: The spill-proof (2) design and durable print characters keep you on track for years to come despite any on-the-job mishaps; it’s a reliable partner for your desk at home, or at work
- Long-lasting Battery Life: A 24-month battery life (4) means you can go for 2 years without the hassle of changing batteries of your wireless full-size keyboard
- Simply plug the USB receiver into a USB port on your desktop, laptop or netbook computer and start using the keyboard right away without any software installation
- Simply Wireless: Forget about drop-outs and delays thanks to a strong, reliable wireless connection with up to 33 ft range (5); K270 is compatible with Windows 7, 8, 10 or later
Build a test matrix around the behavior your control supports. Assert both the input’s value and the active or selected option, so a test catches accidental commitment while someone is exploring suggestions.
| Test case | What to verify |
|---|---|
| Initial state | The control has its accessible name and expected value; the popup is collapsed and its state is exposed correctly. |
| Open and close | The popup and expanded state change together through supported keyboard and pointer interactions. |
| Typing and filtering | Input updates as intended and the results match the filter behavior. |
| No results | The empty-results state is handled without leaving a stale active-option reference. |
| Arrow navigation | The active option changes as designed, the input is not committed unintentionally, and the active row remains visible. |
| Enter and Escape | Enter applies the intended choice; Escape closes the popup according to the chosen cancellation behavior. |
| Other supported states | Disabled and required states, if present, behave correctly; mouse or touch activation works; focus returns or remains where the design specifies. |
Validate with the project’s browser and assistive-technology targets
Harness tests can establish that component logic behaves as asserted; they do not establish what a screen reader announces or guarantee compatibility across browser and assistive-technology pairings. Manually test with the combinations your project supports. Check that the control’s name and value are announced, popup expansion changes are conveyed, active options are announced, Escape behaves as designed, and zoom does not hide the active option. Record the combinations you actually validate rather than implying universal compatibility.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →

