Роля Контрола
searchbox
Маркира елемент като текстово поле за въвеждане, ограничено до задача за търсене. Препоръчва се използването на <input type="search"> — осигурява бутон за изчистване и семантика за търсене. Прибягва се до role="searchbox" само при персонализирано поле за търсене, базирано на contenteditable.
Кога да се използва
Препоръчва се употребата на <input type="search">. Браузърите визуализират бутон за изчистване на въведения текст, мобилните клавиатури превключват на клавиш „Търсене”, а полето се обявява от екранните четци като „поле за търсене”.
role="searchbox" се появява само в два случая:
- Персонализирано поле за търсене, изградено върху contenteditable елемент (богати маркери, поставени изображения, сложен синтаксис на заявки).
- Обгръщане на цялото средство за търсене в ориентир
<search>или регионrole="search", като полето вътре все още използва нативенtype="search".
За търсене с автодовършване се използва role="combobox" върху полето за търсене, съчетано с role="listbox" за предложенията — самият searchbox не притежава попап.
Чести грешки
role="searchbox"върху бутон. Ролята е предназначена за полето за въвеждане, а не за бутона с иконата за търсене до него.- Поле за търсене без достъпно наименование. „Търсене” трябва да присъства в
<label>,aria-labelилиaria-labelledby— не само в placeholder. - Изграждане на форма за търсене без обгръщане на полето и бутона в ориентир
<search>илиrole="search". Потребителите на екранни четци навигират по ориентири и губят тази функционалност. - Употреба на
role="searchbox"за поле „филтриране на таблица”. Това не е търсене в целия сайт; по-точни са обикновенtextboxилиcombobox. - Изпращане на формата при всяко натискане на клавиш без debouncing — генерират се непрекъснати обявявания от помощните технологии.
Пример
<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>