0

我们有一个使用 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: {....}
});

$(this).focus(); 并没有真正专注于弹出窗口。

谢谢

4

1 回答 1

1

Jquery focus 仅适用于可聚焦元素。表格或链接。

存储当前焦点位置并在打开弹出窗口之前在页面中的每个表单和链接上使用 tabindex=-1,在弹出窗口上使用 tabindex=0 并对其进行焦点。关闭弹出焦点时存储的焦点位置。

使用此解决方案,使用无法将注意力集中在弹出窗口的“下方”。并在关闭弹出窗口后检索位置。

于 2014-07-22T22:58:48.007 回答