searchbox
Merkitsee elementin hakutehtävään tarkoitetuksi tekstisyötteeksi. Käytä ensin <input type="search"> — se tarjoaa tyhjennys-affordanssin useimmissa selaimissa ja hakusemantiikan ilmaiseksi. Ota role="searchbox" käyttöön vain mukautetussa contenteditable-hakukentässä.
Milloin käyttää
Käytä <input type="search">. Selaimet näyttävät tyhjennys-affordanssin, mobiilinäppäimistöt vaihtavat “Search”-paluunäppäimeen ja ruudunlukuohjelmat ilmoittavat kentän “search edit” -muodossa.
role="searchbox" esiintyy vain kahdessa tilanteessa:
- Mukautettu hakukenttä, joka on rakennettu contenteditable-elementistä (monipuoliset tunnisteet, liitetyt kuvat, monimutkainen kyselysyntaksi).
- Koko hakutoiminnon kääriminen
<search>-kiintopisteeseen tairole="search"-alueeseen, jossa sisällä oleva kenttä käyttää edelleen natiiviatype="search".
Automaattista täydennystä varten käytä role="combobox" hakukentässä ja yhdistä se role="listbox" -ehdotuslistaan — searchbox itsessään ei omista ponnahdusvalikkoa.
Yleisimmät virheet
role="searchbox"painikkeessa. Rooli kuuluu syötteelle, ei hakukuvakepainikkeelle sen vieressä.- Hakukenttä ilman saavutettavaa nimeä. “Search” tulisi olla
<label>-elementissä,aria-label-attribuutissa taiaria-labelledby-viittauksessa — ei pelkässä placeholder-tekstissä. - Hakolomakkeen rakentaminen ilman, että kenttä ja painike kääritään
<search>-kiintopisteeseen tairole="search"-alueeseen. Ruudunlukuohjelman käyttäjät navigoivat kiintopisteiden avulla ja menettävät hakutoiminnon. role="searchbox":n käyttäminen “suodata taulukko” -syötekentässä. Kyseessä ei ole koko sivuston haku; pelkkätextboxtaicomboboxon tarkempi.- Lomakkeen lähettäminen jokaisella näppäinpainalluksella ilman debouncingia — aiheuttaa jatkuvat ilmoitukset avustavalle teknologialle.
Esimerkki
<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>