Подсказки поиска при фокусе
При фокусе пустого поиска можно показывать ограниченную подборку доступных результатов с явным основанием ранжирования.
Опубликовано Проверено Изменено
Плохо
Фокус сразу переводит на первый результат. Популярные закрытые записи и история другого аккаунта видны всем.
Хорошо
Пустой запрос: «Популярные разделы», не более 5 результатов по политике проекта.
С введенным запросом: релевантные подсказки текущей версии запроса.
Получение фокуса полем не подтверждает выбор и не запускает переход; Escape закрывает список.
Почему это важно
Подборка до ввода сокращает путь к частым задачам. Число результатов и критерий популярности являются настройкой продукта, а не требованием ARIA.
Когда применять
Для поиска, где есть полезные популярные, рекомендуемые или личные недавние результаты. При отсутствии безопасной подборки допустим пустой список.
Требования
- Определите вид подборки, лимит, период расчета популярности и обновление. Подписывайте «Популярные», «Недавние» или другой фактический источник; не выдавайте их за результат введенного запроса.
- Проверяйте права и tenant до выдачи подсказок, включая подписи и счетчики. Личная история изолируется по аккаунту и очищается по политике.
- Для интерактивных предложений используйте согласованную модель combobox/listbox: доступное имя, expanded/controls, активная опция, стрелки, Enter и Escape. При aria-activedescendant DOM-фокус остается на combobox; активная опция и ее aria-selected согласованы. Различайте активацию опции стрелками, подтверждение Enter и действие с принятым значением. Получение фокуса полем или hover не запускает навигацию.
- Дебаунс/отмена и sequence защищают от устаревших ответов. Loading, empty и failed не заменяются чужой/неактуальной подборкой.
Кто что делает
Человек
Определяет пользу подсказок, источник популярности, лимит и допустимость личной истории.
AI-агент
Реализует combobox, изоляцию прав и истории, отмену устаревших ответов; проверяет клавиатуру и отсутствие перехода при фокусе.
Как проверить у себя
- Поставьте фокус при пустом запросе, пройдите варианты клавиатурой, закройте Escape и выберите Enter.
- Проверьте двух пользователей, отзыв доступа, быстрое изменение запроса и обратный порядок ответов; нет утечки и автоматического перехода.
Первоисточники
История изменений на GitHubДата проверки отражает содержательную сверку. Синхронизация сайта не обновляет её автоматически.