Definitions

Autocomplete
Technically autocomplete is the native browser action/attribute available for making suggestions for fields based on values people have previously entered or stored, like email, address or credit card information.
Autosuggest
Autosuggest is the correct terminology for this component that suggests what it thinks/hopes the user is searching for, but since most people call it autocomplete, we’ll just roll with it for the title.

Code examples

Custom listbox with autosuggest

Custom listboxes are notoriously difficult to build in an accessible fashion for screenreaders.

Semantic input with datalist autosuggest

  • This simple native HTML example illustrates all the functionality of a listbox with inline autosuggest.
  • Support and functionality on mobile devices varies.
<label for="favorite-nato-text">
  What's your favorite NATO letter?:
</label>
<input id="favorite-nato-text" 
       list="nato-letters" 
       type="text">
       
<datalist id="nato-letters"> 
  <option value="Alpha"> 
  <option value="Bravo"> 
  <option value="Charlie"> 
  <option value="Delta">
  <option value="Echo">
  <option value="Foxtrot">
  <option value="Golf">
  <option value="Hotel">
  <option value="India">
  <option value="Juliet">
  <option value="Kilo">
  <option value="Lima">
  <option value="Mike">
  <option value="November">
  <option value="Oscar">
  <option value="Papa">
  <option value="Quebec">
  <option value="Romeo">
  <option value="Sierra">
  <option value="Tango">
  <option value="Uniform">
  <option value="Victor">
  <option value="Whiskey">
  <option value="X-ray">
  <option value="Yankee">
  <option value="Zulu">
</datalist>