The Search Input component lets users enter a search term and submit it using an adjacent button.

The component helps users find content, records, or results within a service such as by reference number, keyword, or name using a consistent, accessible search field.

{{ aspExample({ code: "", nunjucks: "", json: "", title: "", example: "default", id: "6a3194caa98e3" }) }}

Visually hidden label

Use a visually hidden label when the purpose of the search field is clear from the surrounding page context, such as in a dedicated search area or site header.

{{ aspExample({ code: "", nunjucks: "", json: "", title: "", example: "visually-hidden-label", id: "6a3194caa99e2" }) }}

Search input with hint

Use hint text when users need additional guidance on what they can search for or how results will be matched.

{{ aspExample({ code: "", nunjucks: "", json: "", title: "", example: "hint", id: "6a3194caa9a27" }) }}

When to use this component

Use the Search Input component when users need to submit a search query to find information within a service.

This includes:

The purpose of the component is to provide a standard search experience, including a labelled input, optional hint text, and a submit button so users can confidently search across ASP Digital services.

When not to use this component

Do not use the Search Input component for general text entry that is not a search action.

Use the Input component instead for standard form fields such as names, addresses, or reference numbers collected as part of a wider form.

Before using this component, consider:

The Search Input component uses a full-width text field with an appended submit button. The input uses type="search" and follows ASP form styling to align with other form components across the design system.

Example of where we have used this component

This component is used on:

This list is not exhaustive.

Status of development

The below criteria all need to be met for a component to be considered as fully developed for use within the ASP Digital Design System.


{{ aspTable({
head: [
{ text: 'Development criteria'},
{ text: 'Status'}
],
rows: [
{
cells: [
{ text: 'WCAG 2.2 compliant'},
{ html: '<span class="asp-status">Not started</span>'}
]
},
{
cells: [
{ text: 'WCAG 2.1 compliant'},
{ html: '<span class="asp-status asp-status–green">Completed</span>'}
]
},
{
cells: [
{ text: 'HTML / Nunjucks version'},
{ html: '<span class="asp-status asp-status–green">Completed</span>'}
]
},
{
cells: [
{ text: 'Figma version'},
{ html: '<span class="asp-status">Not started</span>'}
]
},
{
cells: [
{ text: 'M365 versions'},
{ html: '<span class="asp-status">Not started</span>'}
]
},
{
cells: [
{ text: 'Documentation'},
{ html: '<span class="asp-status">Not started</span>'}
]
}
]
}) }}