我正在构建一个模态插件,我希望能够将焦点设置到地址栏。
我希望能够这样做,因为我需要能够将标签限制在模态窗口内的对象,但是键盘用户和辅助功能用户应该能够从模态窗口中跳出到地址栏当他们到达最后一个元素时(这样他们就不会卡在模态中)。我知道我可以通过将模态外的所有可列表元素设置为-1的tabindex来实现这一点,但是如果可能的话我想避免使用该解决方案。
我知道由于安全限制,可能无法直接将焦点设置到地址栏。但是,有没有办法要么这样做,要么让页面散焦,以便下一个元素是地址栏?
答案 0 :(得分:0)
拥有模态元素不会从可视缓冲区中删除其他元素。屏幕阅读器可以在模态后自动读取任何其他元素。因此,删除可能宣布的元素的tabindex确实不是解决方案。
您可以尝试使用某些代码(例如$(".outside_modal").onfocus() {$("#modal-first-link").focus()}
)从任何其他元素中移除焦点,但是您的视觉焦点(将读取链接目标)与键盘焦点提供的操作之间会出现不一致。
唯一可行的解决方案是将模态元素设置在DOM的最后位置。