11 · Components · Forms · Stable
Combobox
Поле ввода с выпадающим списком и поиском. Пользователь печатает — список фильтруется по метке; выбирает мышью или клавиатурой. Не является нативным <select>.
Состояния
Default · Focused · Error · Disabled · Read-only
Default — поле готово к вводу
Focused / Open — поле активно (показан статично)
Контрагент
Введите название для фильтрации
Error — обязательное поле не заполнено
Страна
ERR-001: Укажите страну регистрации
Disabled — поле недоступно для данной роли (disabled = read-only по роли)
Тип счёта
Только для администраторов
Read-only — значение отображается, но не редактируется
Юрисдикция
Обратитесь к администратору для изменения
Интерактивное демо
Поиск + выбор + клавиатурная навигация
Поиск по странам (ввод фильтрует список)
Выбрано:
Параметры размеров
Наследуются из --ds-input-* токенов
Параметр
SM — 32px
MD — 40px
LG — 48px
Токен высоты
--ds-input-sm-h
--ds-input-md-h
--ds-input-lg-h
Padding-x поля
10px
12px
14px
Font-size поля
14px
16px
16px
Border-radius
6px
6px
8px
Dropdown max-h
240px (scroll)
240px (scroll)
240px (scroll)
Dropdown bg
Light: --ds-surface-0 · Dark: --ds-nb-950 (elevated above nb-800 page-bg)
Тёмная тема
surface-0 = nb-950 · dropdown bg = nb-950 · hover = nba-40
Error
Страна
ERR-001: Укажите страну
Клавиатура и доступность
ARIA Combobox · WAI-ARIA 1.2
ARIA-паттерн
Поле: role="combobox" + aria-expanded + aria-autocomplete="list"
Список: role="listbox" с уникальным id
Опция: role="option" + aria-selected + aria-disabled
Активная опция: aria-activedescendant на поле
Ошибка: aria-invalid="true" + aria-describedby на caption
Readonly: aria-readonly="true" на поле
Focus Ring
Кольцо фокуса: --ds-shadow-focus — 2px Info-800, offset 1px. При ошибке — кольцо Negative-default.
Focus ring — Info-800 / offset 1px
↓ Arrow Down
Открыть dropdown (если закрыт) / перейти к следующей доступной опции
↑ Arrow Up
Перейти к предыдущей доступной опции
Enter
Открыть dropdown (если закрыт) / выбрать активную опцию
Escape
Закрыть dropdown и восстановить предыдущее значение
Home
Перейти к первой доступной опции в списке
End
Перейти к последней доступной опции в списке
Tab
Закрыть dropdown и перейти к следующему focusable-элементу
Shift + Tab
Закрыть dropdown и перейти к предыдущему focusable-элементу
Правила использования
Когда · Чего избегать
Правила
Когда использовать Combobox
Большие справочники от 8+ опций: страны, валюты, банки, контрагенты
Пользователь знает что ищет и может набрать часть значения
Динамически загружаемые данные с поиском на сервере
Формы платежей: получатель, SWIFT-код, назначение платежа
Фильтрация больших таблиц по справочным значениям
Типичные ошибки
Чего избегать
До 5–7 опций — лучше Radio Buttons или SelectControl (весь список виден)
Два взаимоисключающих состояния — Switcher или Checkbox
Переключение контента на странице — Tabs
Disabled без подсказки о причине и способе получения доступа
Non-searchable для больших списков — пользователь вынужден скроллить
State Explorer
Интерактивный тест состояний