2011-09-27 46 views
0

我正在使用FlexSDK 4.1编译SWF。我没有禁用任何标签功能。 Swf通过swf对象嵌入以下内容:在Flash应用程序中神秘禁用的Tabbing

swfobject.embedSWF(“Main.swf”,“flashcontent”,“984”,“550”,“10.0.0”,params,flashvars,attributes“ expressInstall.swf“);

Tab键的预期结果是在包含单击事件的所有项目上看到“黄色框”。我没有看到任何浏览器。 WMODE是'窗口'

任何帮助,将不胜感激。

感谢

+0

什么是你的swf?纽扣?输入字段?它是flex还是纯as3? – Kodiak

+0

嘿科迪亚克,它是纯粹的AS3。这些按钮是扩展Sprite的自定义类,包含从SWC导出的MovieClip以及使用嵌入的CSS样式表扩展TextField的自定义类。 – leedium

回答

0

如果你在MS Windows,即可获得Windows 7 SDK拉Inspect32看什么操作系统将提供你当你无法看到的焦点。它可能是屏幕外或非视觉焦点。

+0

-1操作系统焦点在Flash Player上,OP询问Flash Player中的焦点。 – Kodiak

+0

+1取消;) - inspect32在这里仍然是一个有用的工具; Flash播放器实现了IAccessible接口,将其内部焦点暴露给诸如检查之类的工具;所以检查可以跟踪HWND焦点,并且*在某些其他类型的HWND内聚焦*。但是,为了检查这里看到的任何内容,您可能需要将基本Flash对象标记为可访问,因为默认情况下,AFAIK基本精灵不可访问/可标记,尽管按钮等库存控件确实具有此支持。 – BrendanMcK

0

这是嵌入在网页中的FLASH对象吗?如果是这样的话 - 问题在于各种浏览器在它们是否允许你首先放入FLASH对象(或任何插件,而不仅仅是FLASH)方面有所不同。

  • 试一试IE浏览器 - IE浏览器可以让你浏览,浏览和退出FLASH对象。
  • Chrome和Firefox - 这些选项卡位于对象之上。你可以通过这些FLASH对象选择这些对象的唯一方法是单击对象以在那里强制对焦 - 这在某种程度上会破坏首先使用键盘的目的......(可能会使用element.focus()让焦点在那里 - 但那么典型的问题是焦点卡在FLASH对象内,并且永远不会返回到页面...)

作为参考,请尝试使用YouTube页面进行播放。他们已经完成了使FLASH插件可访问的工作,但它只能在某些浏览器中使用,如上所述。

请注意,如果/当您确实将焦点放在该对象上时,焦点突出显示由闪光本身绘制;所以你不会看到浏览器的焦点风格(例如IE的虚线,铬的黄色矩形),但你应该看到。除此之外,如果你从一个基本类扩展(而不是从现有的更高级控件如按钮派生),你可能需要在你的类中设置一些属性使项目键盘变得可用,并且对辅助功能客户端(如屏幕阅读器)也可见。您可能还需要提供自己的视觉效果,以指示元素的焦点时间。

相关问题