AI-assisted inputs
AI-assisted inputs are features that help the user produce input rather than generate a final answer. They include inline autocomplete and faint preview text that appears ahead of the cursor, suggestion chips, smart compose and rewrite, and voice-to-text. They can be a real help, and they can also get in the way if a user cannot perceive or control them.
Key points
Section titled “Key points”- AI input help like autocomplete and rewrite can assist or obstruct, depending on whether users can perceive and control it.
- That faint preview text is usually invisible to screen readers, so announce that a suggestion is available and what it is.
- Do not hijack keys like Tab, and let keyboard users both accept and dismiss a suggestion.
- Keep the help optional, and never force a suggestion or time it out before the user can react.
- Make AI edits easy to see and undo, like any other change to a form.
Announce suggestions that you can see but not hear
Section titled “Announce suggestions that you can see but not hear”The core problem is that an inline suggestion, such as faint gray text that appears after the cursor, is usually invisible to a screen reader. A sighted user sees a completion offered. A screen reader user hears nothing, so the feature does not exist for them. When you offer a suggestion, expose it to assistive technology, for example by announcing that a suggestion is available and what it is, so the user can choose to take it.
Do not hijack the keyboard
Section titled “Do not hijack the keyboard”Many tools accept a suggestion with the Tab key, which can clash with using Tab to move between controls. Pick an acceptance method that does not break normal keyboard navigation, make it discoverable, and make sure a keyboard user can both accept and dismiss a suggestion without a mouse. The combobox and listbox patterns in ARIA exist for this when you build a suggestion list, so follow an established pattern rather than inventing one.
Give people time and control
Section titled “Give people time and control”A suggestion should never be forced on the user or time out before they can react. Under the timing requirements in WCAG Operable, let users work at their own pace. GitHub Primer’s Copilot principles make the same point, that an AI feature should adapt to the user’s pace and input method rather than rushing them.
Predictive text can be assistance or obstacle
Section titled “Predictive text can be assistance or obstacle”For some people, predictive text and rewriting are genuinely enabling. A tool like Typeahead offers system-wide AI autocomplete, which can help people who find typing slow or tiring, including some disabled users and people writing in a second language. For others the same suggestions interrupt their own words and add effort. The way to serve both is to make the help optional and easy to turn off, and to avoid changing what the user typed without their say-so.
Make edits easy to undo
Section titled “Make edits easy to undo”When AI rewrites or fills in a field, the user has to be able to see what changed and put it back. Treat an AI edit like any other change to a form, with a clear way to review and undo it, which is part of the input-assistance requirements in WCAG Understandable.
Audience: Engineer
Inline suggestions are the trap. Preview text added with CSS is invisible to assistive technology, so announce that a suggestion is available through a polite live region or expose it with an established combobox pattern, and provide a keyboard key to accept that does not collide with Tab navigation. Never auto-replace the user’s text without a clear, focusable undo. Test the whole field with a screen reader and with the mouse unplugged.
When you build a suggestion list, follow the combobox pattern so the field reports its state, and announce an inline suggestion through a polite region because a screen reader cannot see it.
<label for="compose">Reply</label><input id="compose" role="combobox" aria-expanded="true" aria-controls="suggestions" aria-autocomplete="list" /><ul id="suggestions" role="listbox" aria-label="Suggestions"> <li role="option" id="opt-1">Thanks for your help</li> <li role="option" id="opt-2">Thanks, that answers my question</li></ul>
<!-- For inline preview text, announce that a suggestion is available --><p class="visually-hidden" role="status"> Suggestion available. Press Control plus Enter to accept.</p>Bind acceptance to a key such as Control plus Enter rather than Tab, so it does not fight normal keyboard navigation, and never replace the user’s text without a focusable undo.
Audience: Designer
Design suggestions as clearly optional. Make the offer perceivable without relying on a faint color, give an obvious way to accept or dismiss, and provide a setting to turn the help off. Remember that the same suggestion that speeds one person up will interrupt another, so the control to decline has to be as easy as the control to accept.
Audience: Self-advocate
Autocomplete that you cannot hear is just a feature for other people, and autocomplete that changes your words or steals the Tab key is worse than none. The tools that help are the ones that announce what they are offering, let you take it or leave it with the keyboard, and never rewrite what you said without asking. Predictive input can be a real boost when it stays under your control.
Audience: Accessibility Specialist
Check assisted inputs against the combobox or listbox pattern they imitate, including name, role, expanded state, and active-option announcement. Confirm that a suggestion is perceivable to a screen reader, not only visible, and that acceptance and dismissal work from the keyboard. Watch for timing on suggestions that disappear, and for AI edits that lack an accessible undo.
Further reading
Section titled “Further reading”- GitHub Primer’s Copilot accessibility principles on adapting to the user’s pace and input.
- Scott O’Hara on the output element, useful for announcing input feedback.