我们有一个使用jQuery显示模态弹出窗口的网站。当用户点击我们的一个按钮时,我们将模态弹出窗口加载/绑定到DIV,然后显示一个DIV,其中包含叠加层顶部的实际弹出窗口。 因此,当弹出窗口时,如何将焦点置于模态内部,以便屏幕阅读器停止其执行操作并开始在模态内部读取。
$("#EditPageForm").dialog({
autoOpen: true,
position: { my: "center", at: "center", of: window },
width: 650,
resizable: false,
title: 'Edit Page',
modal: true,
open: function () {
$(this).load('@Url.Action("EditPage", "Page")');
$(this).focus();
},
buttons: {....}
});
$(本).focus();并没有真正专注于弹出窗口。
由于
答案 0 :(得分:1)
Jquery焦点仅适用于可聚焦元素。表格或链接。
存储当前焦点位置并在打开弹出窗口之前在页面中的每个表单和链接上使用tabindex = -1,在弹出窗口中使用tabindex = 0并将其聚焦。关闭弹出窗口时,对焦存储的焦点位置。
使用此解决方案,使用无法关注""弹出。关闭弹出窗口后检索位置。