# NumberField: Доступность

## Подпись

- Связывайте `NumberFieldInput` с видимым `Label`.

## Поведение клавиатуры

| Клавиша | Действие |
| --- | --- |
| <kbd>↑</kbd> | Увеличивает значение на один `step`, не выше `max`. Пустое поле получает `min`, а без него 0. |
| <kbd>↓</kbd> | Уменьшает значение на один `step`, не ниже `min`. |

- Обычное редактирование текста по-прежнему происходит в нативном input.

## Поведение фокуса

- Фокус находится на input и на кнопках шага, если они есть.
- Следите, чтобы соседние элементы управления оставались доступными с клавиатуры в разумном порядке.

## Семантика для скринридеров

- Значимый элемент ввода — по-прежнему нативный input.
- `aria-valuemin` и `aria-valuemax` выставляются на input из контекста.

## Семантика форм

- `name`, `required` и поведение отправки принадлежат `NumberFieldInput`.
- Границы и шаг — поведение продукта, а не замена валидации на бэкенде.

## Риски доступности

- числовое поле без подписи
- изменения колесом мыши, неожиданные для пользователя, когда фокус на поле
- неясный смысл соседних кнопок уменьшения и увеличения
