【发布时间】:2013-04-06 23:19:11
【问题描述】:
这个问题与我在此处的另一个问题相关(但不同于):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 或1(我也尝试过0、0,1,2 等的变体),但无法用键盘聚焦闪光灯对象。单击它可以工作,按下按钮也可以,这会触发一些简单的 JavaScript。您可以通过捣碎 TAB 来判断它是否集中;它永远不会通过键盘放弃焦点,因此您永远不会看到任何突出显示的内容。
好的,所以我可以拼凑一个修复程序,拦截 TAB 键并在特定情况下强制焦点,但坦率地说,这是一个可怕的解决方案。我在这里错过了一些属性吗?如果可能的话,我正在寻找一个纯 HTML 修复程序。
【问题讨论】:
标签: html google-chrome focus embedded-flashplayer