This page is intended for manual AT (assistive technology) testing. Interact with the component using only a keyboard or screen reader to verify behaviour described below.
| Key | Context | Action |
|---|---|---|
| ↓ | Input focused, dropdown closed, static/pre-fetched source | Opens dropdown and highlights first suggestion |
| ↓ | Dropdown open | Moves highlight to next option (wraps to first) |
| ↑ | Dropdown open | Moves highlight to previous option (wraps to last) |
| Home | Dropdown open | Highlights first option; does not move text cursor |
| End | Dropdown open | Highlights last option; does not move text cursor |
| Enter | Dropdown open, option highlighted | Selects highlighted suggestion, closes dropdown, adds tag |
| Enter | Dropdown open, no highlight | Commits typed text as free-form tag (if enforceSuggestions is off) |
| Enter | Dropdown closed | Commits typed text as tag |
| , | Any, input has text | Commits typed text as tag (default delimiter) |
| Escape | Dropdown open | Closes dropdown; preserves input text and focus |
| Backspace | Input empty, tags present | Removes the last tag |
| Tab | Input has text | Commits typed text (when Tab is configured as delimiter); moves focus to next element |
| Shift+Tab | Any | Moves focus backward; never trapped inside the component |
aria-live="polite")role="alert")role="combobox", aria-autocomplete="list", aria-haspopup="listbox", aria-expanded, aria-controls, aria-activedescendantrole="listbox"role="option", aria-selectedrole="list", aria-label="Selected tags"role="listitem" with a <button> — aria-label="Remove <label>"role="alert" (assertive live region)aria-live="polite", aria-atomic="true"