The 21st Century IDEA Act requires government websites to be searchable. For sites with 50+ pages or hierarchies 4 levels deep, navigation alone cannot surface content reliably — citizens searching for a specific benefit, regulation, or form cannot be expected to know which section of the site to browse. The absence of search on large government sites disproportionately affects citizens with lower digital literacy, who rely on keyword search rather than browsing navigation to find services. It also raises average time-on-task for all users and increases support call volume when citizens cannot self-serve.
Low because a missing search feature on a large or deeply hierarchical government site violates the 21st Century IDEA Act's searchability requirement and measurably increases task failure for citizens who cannot locate content through browse navigation alone.
For sites with 50+ pages or 4+ levels of hierarchy, implement a site search feature. The fastest path is a USWDS-styled search form powered by Search.gov — the free federal search platform — or a local index with a library like Pagefind.
// app/search/page.tsx — using Search.gov embed
export const metadata = { title: 'Search | Agency Name' }
export default function SearchPage() {
return (
<main>
<h1>Search</h1>
{/* Replace YOURSITEID with your Search.gov affiliate name */}
<form action="https://search.usa.gov/search" method="get">
<input type="hidden" name="affiliate" value="YOURSITEID" />
<label htmlFor="query">Search this site</label>
<input className="usa-input" id="query" type="search" name="query" />
<button className="usa-button" type="submit">Search</button>
</form>
</main>
)
}
Register at search.gov to get your affiliate ID. Add a search link or search box to your site header using the usa-search component class.
ID: gov-web-standards.analytics-performance.search
Severity: low
What to look for: Count the number of pages/routes in the site structure. If the count exceeds 50, or if the site has deep hierarchies (4+ levels), look for a search feature. Check for a search box in the header or footer, or a /search route.
Pass criteria: For sites with 50+ pages or deep hierarchies, a search feature is present and functional.
Fail criteria: Site has 50+ pages or deep structure but no search feature.
Skip (N/A) when: Site has fewer than 50 pages and a shallow structure (max 2-3 levels).
Detail on fail: "Site has 120 pages but no search feature; users cannot easily find content" or "Documentation section has 4-level nesting but no search to help users navigate"
Remediation: Add a search feature using a search library or custom implementation:
// app/search/page.tsx
export default function Search() {
return (
<main>
<h1>Search</h1>
<SearchBox />
</main>
)
}