Версия источника: d33454c0dad753475ecc92aaecf8d783f02fd01b
Синхронизировано: 2026-11-13T05:38:20.984Z
Источник: https://github.com/sergey-from-riders/vibecoding-base/tree/d33454c0dad753475ecc92aaecf8d783f02fd01b

<a id="interface-search-suggestions"></a>

# Подсказки поиска при фокусе

## Коротко

При фокусе пустого поиска можно показывать ограниченную подборку доступных результатов с явным основанием ранжирования.

## Плохо

```text
Фокус сразу переводит на первый результат. Популярные закрытые записи и история другого аккаунта видны всем.
```

## Хорошо

```text
Пустой запрос: «Популярные разделы», не более 5 результатов по политике проекта.
С введенным запросом: релевантные подсказки текущей версии запроса.
Получение фокуса полем не подтверждает выбор и не запускает переход; Escape закрывает список.
```

## Почему

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

## Когда применять

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

### Требования

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

## Как проверить

- Поставьте фокус при пустом запросе, пройдите варианты клавиатурой, закройте Escape и выберите Enter.
- Проверьте двух пользователей, отзыв доступа, быстрое изменение запроса и обратный порядок ответов; нет утечки и автоматического перехода.

## Человек

Определяет пользу подсказок, источник популярности, лимит и допустимость личной истории.

## Агент

Реализует combobox, изоляцию прав и истории, отмену устаревших ответов; проверяет клавиатуру и отсутствие перехода при фокусе.

## Источники

- [WAI-ARIA APG: Combobox Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/)

Уровень: Рекомендуется. Опубликовано: 2026-11-13. Проверено: 2026-11-13. Изменено: 2026-11-13.

[Исходный файл](https://github.com/sergey-from-riders/vibecoding-base/blob/d33454c0dad753475ecc92aaecf8d783f02fd01b/registry/standards/ui/admin-interface/rules/search-suggestions.md)
