这个问题与我在这里的其他问题相关(但不同于):Give focus to browser
我的页面上有一个嵌入式 Flash 对象,我希望它包含在选项卡循环中。我已经设置tabindex
好了,它在 FireFox 中有效,但在 Google Chrome 和 Apple Safari 中的焦点仍然过去了。
下面是一些简单的测试代码:
<a href="#" tabindex=1>A</a>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width=550 height=400 id=movie_name tabindex=1>
<param name=movie value="http://helpx.adobe.com/content/help/en/flash-player/kb/find-version-flash-player/_jcr_content/main-pars/flash_1/file.res/theFile.swf"/>
<embed src="http://helpx.adobe.com/content/help/en/flash-player/kb/find-version-flash-player/_jcr_content/main-pars/flash_1/file.res/theFile.swf" name=movie_name type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" tabindex=1 />
</object>
<a href="#" tabindex=1>Z</a>
<button onclick="document.movie_name.focus()">Force focus into Flash</button>
(在小提琴中:http: //jsfiddle.net/tcDGq/)
一切都有一个tabindex
of 1
(我也尝试过 , 等的变体0
)0,1,2
,但不可能用键盘聚焦 flash 对象。单击它可以工作,按下按钮也可以,这会触发一些简单的 JavaScript。您可以通过捣碎 TAB 来判断它是否集中;它永远不会通过键盘放弃焦点,因此您永远不会看到任何突出显示。
好的,所以我可以一起破解一个拦截 TAB 键并在特定情况下强制聚焦的修复程序,但坦率地说,这是一个可怕的解决方案。我在这里错过了一些属性吗?如果可能的话,我正在寻找一个纯 HTML 修复程序。