在可访问的 flex 应用程序中,用户可以使用 TAB 键在控件中导航。
在用户激活特定链接后,flex 应用程序会在 html 页面顶部弹出,并使用 swfobject.embedSWF 加载。
它在大多数情况下都运行良好,但在某些情况下会发生其中一种或两种情况:
a) flex 应用程序加载正常,“flex focus”设置在介绍文本标签上以大声朗读,但按 Tab 键似乎仍在循环浏览后面页面上的链接。 (现已修复,请参阅编辑 2)
b) 焦点运行良好,按 tab 键循环通过控件可以,但在通过它们之后,它会跳出 flex 应用程序并跳到地址栏上.. 甚至试图回到flex 应用程序而不点击它.. 这不是完全可访问性友好的。
有什么办法可以防止这些事情发生吗?
编辑:目标浏览器是 IE。好像和Jaws一起用的最多
编辑:我设法解决了问题 (a)。诀窍是将焦点放在 swf 对象上,但在稍微超时后 - 一定与 flash/js 就绪状态有关。
setTimeout(function(){
document.getElementById('swfobject').focus()
},25);
问题 (b) 仍然是一个问题......
最佳答案
在您的 mx:Application 组件中,为 keyFocusChange 添加事件监听器并添加此代码:
protected function application1_keyFocusChangeHandler(event:FocusEvent):void
{
event.preventDefault();
focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus();
}
关于apache-flex - Flex 辅助功能 - Tab Focus 退出 Flex 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300049/