Components
Search Input - Design decisions
What is an ADR?
We use the ADR (Architecture Decision Record) to structure design decision documentation. Each ADR covers three things: the context that prompted the decision, the decision itself, and its consequences — including trade-offs and any open questions.
ADR 001 - Remove redundant aria-label from input
- Date raised: April 29, 2026
- Decision date: June 18, 2026
Context
When the search input field receives focus, JAWS announced “Search templates” three times on entering forms mode: once from the visually hidden label, once from the accessible name (accName) of the input (derived from an aria-label on the input), and once from the input itself.
Decision
The decision was made to remove aria-label from the va-search-input component’s input element. An investigation into the history of the component does not reveal any compelling reason as to why it was added or why it is needed, since there are other mechanisms making the correct announcement for the component already.
Consequences
Positive:
- Eliminates the redundant triple announcement. Screen reader users now hear the component’s accessible name once instead of three times when the input receives focus.
- Reduces verbosity and potential confusion for assistive technology users.
- Aligns with the accessibility best practice of avoiding redundant or duplicate labeling on a single element.
Negative / watch items:
- The accessible name now relies solely on the existing labeling mechanisms (the visually hidden label). Continue to verify the input still exposes a correct accessible name across supported screen reader and browser combinations.
- Any downstream code or tests that referenced the input’s
aria-labelwill need to be updated.