为了便于访问,我尝试在Fancybox窗口打开后发送焦点。
我在Fancybox的容器上将tabindex添加到0,并在其上发送焦点。这不管用。
afterLoad: function() {
this.group[this.index].content.attr('tabindex','0');
this.group[this.index].content.focus();
}我使用NonVisual桌面访问( NVDA ) http://www.nvaccess.org/进行测试,但Chrome也可以显示焦点。
感谢您的帮助。
发布于 2013-09-27 01:26:56
这在很大程度上取决于content的type,但这应该可以(使用inline、ajax或html内容)
$(".fancybox").fancybox({
afterShow: function () {
$(this.content).attr("tabindex",1).focus()
}
});它应该同样适用于单个或图库元素。
参见 (使用Chrome使其变得明显)
备注:我建议你使用tabindex > 0来避免IE的问题(如果你关心跨浏览器的兼容性)
编辑:这里是一个包含不同内容类型的示例:,其中focus在图像或iframes上不太明显
EDIT 2:更一般的东西是关注.fancybox-inner选择器,而不管内容的类型,比如
$(".fancybox-inner").attr("tabindex",1).focus();查看更新的,但不知道这是否能满足您的需求
https://stackoverflow.com/questions/19022658
复制相似问题