【发布时间】:2018-11-15 18:34:49
【问题描述】:
我正在尝试改善我的网站对仅使用键盘的用户的可访问性。我在向上和向下箭头导航时被阻止在页面上滚动。通常它可以工作,但如果我在 iframe 内播放视频,它就会停止工作(因为 iframe 内的滚动是有限的)。是否有 javascript(或 jquery 或 html)解决方案?
【问题讨论】:
标签: javascript scroll keyboard accessibility
我正在尝试改善我的网站对仅使用键盘的用户的可访问性。我在向上和向下箭头导航时被阻止在页面上滚动。通常它可以工作,但如果我在 iframe 内播放视频,它就会停止工作(因为 iframe 内的滚动是有限的)。是否有 javascript(或 jquery 或 html)解决方案?
【问题讨论】:
标签: javascript scroll keyboard accessibility
很高兴您尝试为仅使用键盘的用户提供更好的访问功能,但它当前的工作方式是正确的。当 iframe 收到焦点(或 iframe 中的任何元素)时,所有事件都会转到 iframe。如果 iframe 要显示的内容多于 iframe 中的内容,则向上/向下箭头将滚动 iframe 的内容而不是主页。如果在焦点位于 iframe 中时强制向上/向下滚动主页,则会导致意外行为。
现在,最终用户可能不知道或不关心您正在使用 iframe,只是在您的页面上看到一个视频,并且可能想知道为什么他们不能再使用向上/向下箭头键滚动页面。这是 iframe 实现方式的不幸后果。
您可能会尝试的一件事是在 iframe 上添加键盘事件处理程序,当您获得向上/向下箭头键时,将其冒泡到包含的文档。也许是这样的(未经测试):
document.getElementById("myiframe").contentDocument.addEventListener(...)
你在哪里
<iframe id="myiframe">
【讨论】: