Настройка фокусировки программы чтения с экрана на модальное оповещение в тлеющем угле
Я пытаюсь сделать свое приложение ember.js более доступным и тестирую его с помощью встроенной в Apple утилиты VoiceOver. Я добавляю ariaRoles по мере необходимости к своим представлениям и добавляю атрибуты aria-label, где цель навигации неясна. У меня возникают проблемы с фокусировкой на модальных оповещениях, так как фокус читателя остается на элементах страницы позади модальных. У кого-нибудь есть опыт работы с модальными оповещениями для программ чтения с экрана? У меня сложилось впечатление, что объявление "ariaRole: 'alertDialog'" на мой взгляд устанавливает подходящую роль для такого диалога, и, возможно, поведение фокуса для этой роли различается в разных программах чтения с экрана. Спасибо!!!
1 ответ
У меня нет личного опыта работы с модальными вещами. По сути, ваша проблема в том, что вы играете роль ARIA, и ожидаете, что она сработает. Вам нужно сделать больше, чем это. Вы должны иметь в виду следующее:
- Как только ссылка / кнопка нажата, переместите фокус на модальное окно / диалоговое окно / всплывающее окно. Большинство модальных элементов просто
<div>
, Вы можете дать<div>
атрибутtabindex="-1"
, - Ловите фокус внутри модального окна.
- Разрешить пользователю нажать клавишу выхода, чтобы закрыть
- После закрытия переместите фокус обратно на ссылку / кнопку
Ресурсы
- доступность клавиатуры с лайтбоксами
- Аналогичный вопрос в UX StackExchange
- Демо-модальный диалог - я думаю, что он все еще в разработке (я давно не слышал об этом от автора).
- Поток jQuery в Google Group(Ханс - лучший парень или один из них)