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

## Именование

Метки переключателя должны описывать управляемую функцию или состояние, а не действие переключения.

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

| Клавиша | Действие |
| --- | --- |
| <kbd>Space</kbd> | Включает или выключает переключатель в фокусе. |
| <kbd>Tab</kbd> / <kbd>Shift</kbd> + <kbd>Tab</kbd> | Переносит фокус на следующий или предыдущий переключатель. Каждый переключатель — отдельная остановка табуляции. |

- Видимая строка должна ясно читаться как одна бинарная настройка.

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

- Фокус должен попадать на нативный input.
- Видимый стиль фокуса должен оставаться заметным на дорожке переключателя.

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

- Участие скрытого input помогает сохранить нативную семантику checked.
- Метка должна делать включённое состояние понятным без лишних догадок.
- Переключатели стоит оставлять для бинарных настроек, применяемых сразу, а не для сравнения вариантов.

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

- Используйте `SwitchInput`, когда переключатель должен участвовать в нативных формах.
- Текст продукта должен ясно говорить, применяется ли переключатель сразу или при отправке.

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

- Метки вроде «Включить», которые не описывают управляемую настройку.
- Отсутствие `SwitchInput`.
- Переключатель там, где модели продукта лучше соответствует группа радиокнопок или список чекбоксов.
