TGViewer
Всё про доступность интерфейсов Всё про доступность интерфейсов @accessibilityofinterfaces · 7 subscribers
Post #241 4
Календарь может быть «доступным» с клавиатуры — и всё равно ломаться на iPhone с VoiceOver.

В issue по Vaadin DatePicker описали неприятную штуку: с iOS VoiceOver пользователь не может нормально уйти дальше текущего месяца. Список месяцев не прокручивается как нужно, следующий календарь не получает фокус, а при движении по датам VoiceOver читает только число: «10», «11», «12». Без месяца и контекста это почти бесполезно.

Почему так вышло: компонент опирается на обычный DOM-фокус и roving tabindex. Но iOS VoiceOver в календарной сетке может двигаться своим способом, не передвигая DOM-фокус туда, где его ждёт компонент. В итоге часть календарей остаётся `aria-hidden`, хотя визуально интерфейс вроде бы есть.

Это важно не только для незрячих пользователей. Дата — частый шаг в бронировании, оплате, записи к врачу, выборе дедлайна. Если человек пользуется VoiceOver, увеличением, внешней клавиатурой или просто не может точно тыкать по экрану, «красивый календарь» превращается в стену.

Что проверять командам:

• реальные жесты VoiceOver на iOS, а не одни Tab/стрелки на десктопе;
• можно ли перейти на следующий месяц без визуального контроля;
• объявляется ли дата целиком, а не один день месяца;
• не прячете ли вы `aria-hidden` то, куда экранный доступ должен попасть;
• есть ли запасной путь: обычные select-поля месяца/года или текстовый ввод даты.

Roving tabindex — не гарантия доступности. Он работает только пока assistive technology действительно следует вашей модели фокуса. Если платформа навигирует иначе, нужен тест на реальном устройстве, а не только «правильная ARIA-схема» в коде.
GitHub DatePicker is unusable with iOS VoiceOver · Issue #12398 · vaadin/web-components Description When using the date picker with iOS VoiceOver: It is not possible to navigate beyond the current month: the month list doesn't scroll, and the next calendar doesn't receive focu...
More from @accessibilityofinterfaces
  1. Sep 1, 2026Форма, которую заполняют в 3 ночи В issue PaedsMom описали проверку формы консультации: ей…
  2. Aug 31, 2026Видео без дорожки субтитров — это не «потом допишем текст». Свежий сигнал из GitHub: в про…
  3. Aug 31, 2026Видео без дорожки субтитров — это не «потом допишем текст». В SCORM-проекте edumints-scorm…
  4. Aug 30, 2026Свежий баг в Highcharts: график закрыли, а accessibility-таймеры продолжают работать. В is…
  5. Aug 30, 2026Highcharts: график закрыли, а accessibility-таймеры ещё говорят. Свежий баг про отложенные…
  6. Aug 29, 2026Reduced motion как настройка продукта В ProgressRPG завели issue про отдельный переключате…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →