Навигация по стрелкам вверх и вниз заблокирована внутри iframe - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь улучшить доступность моего сайта только для пользователей клавиатуры.Я заблокирован на навигации вверх и вниз, чтобы прокрутить страницу.Обычно это работает, но если я проигрываю видео внутри iframe, оно перестает работать (потому что прокрутка внутри iframe конечна).Есть ли решение javascript (или jquery, или html)?

1 Ответ

0 голосов
/ 13 июня 2018

Замечательно, что вы пытаетесь сделать вещи лучше только для пользователей клавиатуры в целях доступности, но способ, которым он сейчас работает, верен.Когда фрейм получает фокус (или любые элементы в фрейме), все события переходят в фрейм.Если бы в iframe было больше материала для отображения, чем поместилось бы в iframe, стрелки вверх / вниз прокручивали бы содержимое iframe, а не главную страницу.Если вы нажмете вверх / вниз, чтобы прокрутить главную страницу, когда фокус находится в iframe, вы будете вызывать неожиданное поведение.

Теперь конечный пользователь, вероятно, не знает или не заботится о вас.используя iframes и просто видит видео на вашей странице и может удивляться, почему они больше не могут прокручивать страницу с помощью клавиш со стрелками вверх / вниз.Это печальное следствие того, как реализованы iframe.

Одна вещь, которую вы можете попробовать, это добавить обработчик событий клавиатуры в iframe, а когда вы получите клавишу со стрелкой вверх / вниз, всплыть наверх к содержащемуся документу.Возможно, что-то вроде этого (не проверено):

document.getElementById("myiframe").contentDocument.addEventListener(...)

, где у вас есть

<iframe id="myiframe">
...