对于辅助功能,我尝试在打开后将焦点发送到Fancybox窗口。
我在Fancybox的容器上将tabindex添加到0,然后将焦点发送到它。这不起作用。
afterLoad: function() {
this.group[this.index].content.attr('tabindex','0');
this.group[this.index].content.focus();
}
我使用NVDA(NonVisual桌面访问)http://www.nvaccess.org/进行测试,但Chrome也可以显示焦点。
感谢您的帮助。
答案 0 :(得分:8)
它几乎取决于type
的{{1}},但这应该可以解决问题(使用content
,inline
或ajax
内容)
html
对于单个或多个元素,它应该同样有效。
请参阅 JSFIDDLE (与Chrome一起使其显而易见)
注意:我建议您使用$(".fancybox").fancybox({
afterShow: function () {
$(this.content).attr("tabindex",1).focus()
}
});
> tabindex
以避免IE问题(如果您关心跨浏览器兼容性)
编辑:这里有一个不同类型内容的示例: JSFIDDLE 其中0
在图片上不太明显或 iframe
编辑2 :无论内容类型如何
,更通用的内容都会集中在focus
选择器上
.fancybox-inner
查看更新的 JSFIDDLE ,但想知道这是否适用于您的目的