javascript - 以编程方式聚焦地址栏?

标签 javascript html accessibility

我正在构建一个模式插件,我希望能够将焦点设置到地址栏。

我希望能够执行此操作,因为我需要能够限制对模式窗口内的对象进行 Tab 键切换,但键盘用户和辅助功能用户应该能够从模式窗口切换到地址栏当它们到达最后一个元素时(这样它们就不会卡在模态中)。我知道我可以通过将模式之外的所有可选项元素的 tabindex 设置为 -1 来做到这一点,但如果可能的话,我想避免该解决方案。

我知道由于安全限制,可能无法直接将焦点设置到地址栏。但是,有没有办法做到这一点,或者使页面散焦,以便下一个元素是地址栏?

最佳答案

拥有模态元素不会从视觉缓冲区中删除其他元素。屏幕阅读器可以自动读取模式之后的任何其他元素。所以去掉可能公布的元素的tabindex确实不是一个解决办法。

您可以尝试使用一些代码从任何其他元素中删除焦点,例如 $(".outside_modal").onfocus() {$("#modal-first-link").focus()} 但读取链接目标的视觉焦点与键盘焦点提供的操作之间会出现不一致。

唯一可行的解​​决方案是将模态元素设置在 DOM 的最后一个位置。

关于javascript - 以编程方式聚焦地址栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37901554/

相关文章:

javascript - 在 AngularJS 中,我可以在 ngView 之外的 ngSwitch 中使用当前路由吗

javascript - 在 ZoomStart 上获取当前位置

html - 2 列和多行使用 CSS

javascript - 使用 JavaScript 更改 HTML 名称属性

javascript - 使用选项卡导航到不同的 html 文件(HTML、JavaScript)

javascript - 我无法从我的复选框中获取值,我需要将提交按钮下的复选框上的值打印到 div 中

html - 在您的链接中包含标题 =""好吗?

iphone - 为 iOS 应用程序使用辅助功能检查器时出现 AX 错误。

pdf - 提供大量 PDF 的网站的可访问性问题

javascript - "this"将 JSONP 数组分配给 AngularJS Controller 时变量不起作用