HTML элемент search

Источник: «The HTML Native Search Element»
HTML-элемент search — это контейнер, представляющий части веб-страницы с функциональностью поиска.

в спецификации HTML появился элемент search — специализированный контейнер для интерфейсов поиска.

Элемент <search> служит семантической обёрткой для форм поиска и фильтрующих компонентов UI. Он обеспечивает лучшую доступность, чем общие элементы <div>, и разъясняет назначение связанного с поиском контента как браузерам, так и вспомогательным технологиям.

До его появления разработчики полагались на типовые элементы div с ролями ARIA для обозначения областей поиска — решение приемлемое, но не идеально. Элемент search меняет ситуацию, предоставляя собственное семантическое значение для интерфейсов поиска и фильтрации.

HTML элемент <search>

<search> <!-- NEW -->
<form>
<input type="search" placeholder="Search...">
<button type="submit">Search</button>
</form>
</search>

Поле ввода type="search" предоставляет специфические для платформы возможности, такие как понятные кнопки в некоторых браузерах.

Явная метка помогает всем пользователям понять, что они ищут, а метка ARIA обеспечивает дополнительный контекст для устройств чтения с экрана.

<search>
<h2>Filter Products</h2>
<div class="filter-group">
<h3>Price Range</h3>
<input type="range" min="0" max="1000" value="500">
</div>
<div class="filter-group">
<h3>Categories</h3>
<input type="checkbox" id="electronics" name="category">
<label for="electronics">Electronics</label>
<input type="checkbox" id="clothing" name="category">
<label for="clothing">Clothing</label>
</div>
</search>

Когда использовать <search>

Элемент search может показаться простым, но знание, когда его использовать, повышает эффективность:

<!-- Хорошо: Глобальный поиск по сайту -->
<search>
<form>
<input type="search" placeholder="Search entire site">
</form>
</search>

<!-- Хорошо: Фильтрация товаров -->
<search>
<form>
<fieldset>
<legend>Filter by price</legend>
<input type="range">
</fieldset>
</form>
</search>

<!-- Не идеально: Просто текстовое поле -->
<input type="text" placeholder="Enter your name">

Элемент search не предназначен для всех полей ввода. Он предназначен для интерфейсов поиска и фильтрации, в которых пользователи могут искать или ограничивать содержимое.

Элемент <search> представляет специальный раздел для поисковой функциональности — но с важной оговоркой. Хотя он идеально подходит для ввода поисковых данных и мгновенных результатов, таких как автозавершение, его не следует использовать для полноценных страниц с результатами поиска.

<!-- Хорошо: Ввод поисковой информации с быстрыми предложениями -->
<search>
<form>
<input type="search">
<ul class="suggestions">
<li><a href="/doc1">Quick result 1</a></li>
<li><a href="/doc2">Quick result 2</a></li>
</ul>
</form>
</search>

<!-- Не подходит: Страница с результатами поиска -->
<search> <!-- Не делайте так -->
<h1>Search Results for "query"</h1>
<div class="results">
<!-- Страница результатов поиска -->
</div>
</search>

Результаты поиска размещаются в основном содержимом страницы, обычно в элементах <main> или <article>. Элемент <search> предназначен для самого интерфейса поиска — полей ввода, фильтров и немедленной обратной связи, например, предложений автозаполнения.

Комментарии


Дополнительные материалы

Предыдущая Статья

Работа с JavaScript Scheduler API

Следующая Статья

CSS единицы измерения: lh и rlh