Site search is often an afterthought. Drop in a search box, wire it up to return results, and call it done. But search is critical for accessibility because it’s how many users bypass complex navigation entirely. A screen reader user on an e-commerce site isn’t going to drill through category menus. Most likely, they’ll reach for search. If your search doesn’t work well, you’ve blocked a primary navigation path.

The search input itself

The search field needs a proper label, and placeholder text doesn’t count. It disappears when users start typing, and screen readers don’t always announce it reliably. Use a visible label (preferable) or aria-label if visual design requires hiding it.

The search button also needs clear text or an aria-label if it’s icon-only. “Search” is better than a magnifying glass alone.

Announcing results

When search results load, screen reader users need to know. Use an ARIA live region to announce how many results were found.

<form role="search">
  <label for="search-input">Search</label>
  <input type="search" id="search-input" name="q">
  <button type="submit">Search</button>
</form>
<div aria-live="polite" aria-atomic="true" class="sr-only">
  Showing 47 results for running shoes
</div>
<div id="search-results">
  <!-- Results content here -->
</div>

The live region announces the result count. If there are no results, announce that too: “No results found for running shoes.”

Search results need structure

Present results with clear headings. Each result should be a distinct unit. Consider using a list structure so screen readers announce “3 of 47 results.”

Include enough context in each result. Product name alone isn’t enough – include category, price, or availability if relevant.

Site search isn’t just a text box and a submit button. It’s a complete interaction that needs proper labels, result announcements, helpful error states, and structured results. When search works well, it becomes the primary navigation method for many users.

Don’t Miss Out

Get practical accessibility tips in your inbox every week.

Matt Litzinger headshot

Matt Litzinger

Matt is a web developer who builds tools that help organizations better engage with customers and improve website accessibility.