iframe - 当页面有 iframe 元素时,如何在 IE11 中管理键盘导航 a11y?
问题描述
问题陈述
我有一个由 iframe 组成的 html 页面(内容在导航中动态加载),还有其他元素,例如按钮、fancytree、导航控件等
。第一次加载时使用键盘进行键盘导航:
1.从 url 地址栏到任何子项在页面上
2. iframe 内容内的键盘导航(因为其中一个元素将焦点移动到 iframe 内容)
导航按预期工作。
iframe 内容更新后的键盘导航:
iframe 内容更新后,按下 tab 键后,转到 IE11 选项卡并再次按下它,不会导致关注任何元素。
分析
我试过以下:
- 检查了activeElement,当焦点在IE选项卡上时再次按下它,activeElement指向iframe,但再次按下它,只是将焦点移出页面并返回地址栏。
- 检查 iframe 和其他元素上 tabindex 属性的代码库。在 iframe 上未设置 tabindex。很少有元素,例如跳过内容、退出按钮等,其中设置了 tabindex 顺序。
- 尝试在 body 元素上设置模糊和焦点事件侦听器,以便将焦点移到所需元素上(不起作用)
- 尝试为 iframe 设置 tabindex,在这种情况下,令人惊讶的是,其中包含视频的页面之一,它获得焦点,键盘导航按预期工作,但其他页面仍然没有获得任何焦点。
关于我应该如何解决这个问题的任何建议?
注意:我尝试通过安装几个 a11y 扩展在 Chrome 中进行调试,但还没有找到可以检查键盘 a11y 的扩展。
解决方案
推荐阅读
- npm - 不小心增加了 package-lock.json lockfileVersion。如何还原?
- c# - 在 C# 中将 Word 转换为 PDF 时防止警报
- python - 将 systemd 服务的输出重定向到文件 - 我错过了什么
- java - 使 JPA @Column 名称特定于 db 方言或取决于属性
- scikit-learn - Scikit-learn roc_curve:为什么将阈值 [0] 设置为大于 1 的值?
- delphi - 在 Win10/Exchange Online 环境中访问某些 Outlook OLE 对象属性失败
- powershell - Power Bi 订阅
- css - CSS如何更改特定动态元素的背景颜色
- amazon-web-services - 避免每个节点的 AWS EKS IP 限制
- flutter - Flutter 桌面上的原生闪屏