打开Fancybox-2后,将焦点发送到fancybox窗口

时间:2013-09-26 08:06:15

标签: jquery focus fancybox-2 wai-aria accessibility

对于辅助功能,我尝试在打开后将焦点发送到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也可以显示焦点。

感谢您的帮助。

1 个答案:

答案 0 :(得分:8)

它几乎取决于type的{​​{1}},但这应该可以解决问题(使用contentinlineajax内容)

html

对于单个或多个元素,它应该同样有效。

请参阅 JSFIDDLE (与Chrome一起使其显而易见)

注意:我建议您使用$(".fancybox").fancybox({ afterShow: function () { $(this.content).attr("tabindex",1).focus() } }); > tabindex以避免IE问题(如果您关心跨浏览器兼容性)

编辑:这里有一个不同类型内容的示例: JSFIDDLE 其中0图片上不太明显 iframe

编辑2 :无论内容类型如何

,更通用的内容都会集中在focus选择器上
.fancybox-inner

查看更新的 JSFIDDLE ,但想知道这是否适用于您的目的