首页 > 解决方案 > 当页面有 iframe 元素时,如何在 IE11 中管理键盘导航 a11y?

问题描述

问题陈述

我有一个由 iframe 组成的 html 页面(内容在导航中动态加载),还有其他元素,例如按钮、fancytree、导航控件等
。第一次加载时使用键盘进行键盘导航:
1.从 url 地址栏到任何子项在页面上
2. iframe 内容内的键盘导航(因为其中一个元素将焦点移动到 iframe 内容)
导航按预期工作。
iframe 内容更新后的键盘导航:
iframe 内容更新后,按下 tab 键后,转到 IE11 选项卡并再次按下它,不会导致关注任何元素。

分析

我试过以下:

  1. 检查了activeElement,当焦点在IE选项卡上时再次按下它,activeElement指向iframe,但再次按下它,只是将焦点移出页面并返回地址栏。
  2. 检查 iframe 和其他元素上 tabindex 属性的代码库。在 iframe 上未设置 tabindex。很少有元素,例如跳过内容、退出按钮等,其中设置了 tabindex 顺序。
  3. 尝试在 body 元素上设置模糊和焦点事件侦听器,以便将焦点移到所需元素上(不起作用)
  4. 尝试为 iframe 设置 tabindex,在这种情况下,令人惊讶的是,其中包含视频的页面之一,它获得焦点,键盘导航按预期工作,但其他页面仍然没有获得任何焦点。

关于我应该如何解决这个问题的任何建议?

注意:我尝试通过安装几个 a11y 扩展在 Chrome 中进行调试,但还没有找到可以检查键盘 a11y 的扩展。

标签: iframeaccessibilityinternet-explorer-11section508keyboard-navigation

解决方案


推荐阅读