Подписи
DateField должен получать видимую подпись через окружающую строку поля или нижележащий input. Иконка-кнопка триггера не должна быть единственным источником имени.
Поведение клавиатуры
ОбъявлениеПереведите фокус на демо и нажмите клавишу из таблицы.
| Клавиша | Действие |
|---|---|
| EnterSpace | На кнопке-триггере: открывает или закрывает всплывающий календарь. Фокус остаётся на кнопке. |
| Tab | С открытого триггера: переносит фокус во всплывающий календарь, на первую кнопку шапки. |
| Enter | На дне во всплывающем календаре: записывает день в поле. Календарь остаётся открытым; остальные клавиши календаря работают как в Calendar. |
| Escape | Закрывает всплывающий календарь, не меняя дату, и возвращает фокус на кнопку-триггер. |
- Вводить можно, не открывая календарь. Внутри календаря навигация только перемещает фокус; значение меняется, только когда выбран день.
- Ввод проверяется в календарной системе поля: одна цифра, с которой не может начинаться двузначный сегмент, дополняется нулём, полные сегменты ограничиваются (день — длиной месяца), а полное значение ограничивается
min/max.
Поведение фокуса
- Обычно фокус начинается в
DateFieldInput. - После открытия календаря должно оставаться понятным, как вернуться к input.
- Композицию оверлея внутри диалогов или шторок проверяйте на восстановление фокуса.
Семантика для скринридеров
- Ожидаемый формат даты должен сообщаться в подписи, подсказке или тексте ошибки.
- Календарь должен быть вспомогательным, а не единственным способом понять значение.
- Иконке-кнопке триггера всё равно нужна доступная подпись, например «Open calendar».
Семантика в формах
DateFieldведёт себя как поле, потому что построен поверх семантики input изTextField.- Сообщения валидации должны быть привязаны к состоянию input, а не только к визуальным элементам календаря.
Риски доступности
- Ожидаемый формат даты указан только в placeholder.
- Иконка-кнопка триггера — единственное доступное описание элемента управления.
- Календарь открывается внутри другого оверлея без совместной проверки фокуса и закрытия.