Как управлять навигацией с помощью клавиатуры a11y в IE11, когда на странице есть элемент iframe? - PullRequest
0 голосов
/ 03 мая 2019

Постановка задачи

У меня есть HTML-страница, которая состоит из iframe (где контент загружается динамически при навигации), и есть другие элементы, например, кнопки, фантазии, навигационные элементы управления и т. д.
Клавиатура Навигация с использованием клавиатуры при первой загрузке:
1. из адресной строки url любым детям на странице
2. Клавиатура Навигация внутри содержимого iframe (поскольку один из элементов перемещает фокус на содержимое iframe)
навигация работает как положено.
Навигация с клавиатуры после обновления содержимого iframe:
Контент iframe обновляется, после этого нажатие клавиши табуляции переходит на вкладку IE11 и повторное нажатие не приводит к фокусировке на каком-либо элементе.

Анализ

Я пробовал следующее:

  1. Отметил activeElement, нажимая его снова, когда фокус находится на вкладке IE, activeElement указывает на iframe, но нажимая его снова, просто перемещает фокус со страницы, и он возвращается к адресной строке.
  2. Проверена база кода для свойства tabindex для iframe и других элементов. На iframe tabindex не установлен. Есть несколько элементов, например skipcontent, кнопка выхода и т. д., где установлен порядок tabindex.
  3. Попытка настройки размытия и фокусировки слушателя событий на элементе тела, чтобы перемещать фокус на нужный элемент (не работает)
  4. Попытка установки tabindex для iframe, в данном случае на удивление одна из страниц, которая состоит из видео, получает фокус и навигация с помощью клавиатуры работает, как и ожидалось, но другие страницы по-прежнему не получают фокус.

Любые предложения о том, как мне решить эту проблему?

Примечание: я попытался отладить в Chrome, установив пару расширений a11y, но не определил расширение, которое может проверить клавиатуру a11y.

...