我想让模态对话框可访问。我添加了两个隐藏的可聚焦元素
<a href="javascript:void(0)" id="dialog-start">Dialog Start </a>
Some focussable Dialog Elements
<a href="javascript:void(0)" id="dialog-end" onblur="onblurevent()">Dialog end</a>
function onblurevent(){
document.getElementById("dialog-start").focus();
}
当对话框结束元素模糊事件发生时,我尝试将焦点移动到对话框开始元素调用 focus() 方法,但焦点移动到地址栏。使用以下样式隐藏对话框开始和结束锚标记
#dialog-start{
height:1px;
left:-9999px;
overflow:hidden;
position:absolute;
top:0;
width:1px;
}
我不确定锚样式是否是原因或确保焦点位于对话框内的唯一方法是获取可聚焦元素列表并在容器上的 keydown 事件处理程序中调用 focus() 方法。