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

## Подписи

- Сопровождайте поле видимым `Label`.
- `PinFieldInput` — семантический элемент формы, и именно на нём должны быть атрибуты, связанные с формой.

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

| Клавиша | Действие |
| --- | --- |
| <kbd>Backspace</kbd> | Удаляет символ перед кареткой. Фокус остаётся в поле: за ячейками стоит одно поле ввода. |

- Ввод с клавиатуры обрабатывается через `PinFieldInput`.
- Стрелки перемещают позицию активного слота; вверх и `Home` ведут в начало, вниз и `End` — в конец.
- `Shift` со стрелкой нативно расширяет выделение.

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

- Фокус попадает на `PinFieldInput`, а видимые слоты отражают активное состояние.
- При потере фокуса индикатор активного слота сбрасывается.

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

- `PinFieldInput` сохраняет доступность поля для вспомогательных технологий и браузерного автозаполнения.
- Видимые слоты — лишь сегментированное представление того же значения.

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

- Задавайте `name`, `required` и другие пропсы формы на `PinFieldInput`.
- Число слотов должно соответствовать `maxLength`.

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

- отсутствие `PinFieldInput`
- опора только на видимые слоты без настоящего элемента управления за ними
- неясные подписи в сценариях одноразовых кодов (OTP) или подтверждения
