searchbox
Markerar ett element som ett textfält avgränsat till en sökuppgift. Använd <input type="search"> först — det ger rensa-knapp-funktion i de flesta webbläsare och söksemantiken kostnadsfritt. Använd role="searchbox" enbart på ett anpassat contenteditable-sökfält.
När du ska använda det
Använd <input type="search">. Webbläsare renderar en rensa-fält-funktion, mobiltangentbord växlar till ett “Sök”-returknapp och fältet annonseras av skärmläsare som “sök redigera”.
role="searchbox" förekommer bara i två fall:
- Ett anpassat sökfält byggt på ett contenteditable-element (rika tokens, inklistrade bilder, komplex frågesyntax).
- Att omsluta hela sökfunktionen i ett
<search>-landmärke ellerrole="search"-region, med fältet inuti som fortfarande använder det nativatype="search".
För sök med autokomplettering, använd role="combobox" på sökfältet och para det med en role="listbox" av förslag — searchbox äger inte en popup på egen hand.
Vanliga fel
role="searchbox"på en knapp. Rollen är för fältet, inte sök-ikonknappen bredvid det.- Sökfält utan tillgängligt namn. “Sök” ska finnas i ett
<label>,aria-labelelleraria-labelledby— inte bara i platshållartexten. - Att bygga ett sökformulär utan att omsluta fältet och knappen i ett
<search>-landmärke ellerrole="search". Skärmläsaranvändare navigerar via landmärken och förlorar funktionen. - Att använda
role="searchbox"för ett “filtrera den här tabellen”-fält. Det är inte webbplatsövergripande sökning; ett vanligttextboxellercomboboxär mer korrekt. - Formulärpostning vid varje tangenttryckning utan debouncing — utlöser hjälpmedelsannonseringar kontinuerligt.
Exempel
<search>
<form role="search" action="/search">
<label for="q">Search the site</label>
<input id="q" type="search" name="q">
<button type="submit">Search</button>
</form>
</search>