Flex辅助功能 - Tab Focus脱离了flex应用程序

时间:2010-11-29 00:42:20

标签: flex accessibility jaws-screen-reader

在可访问的flex应用程序中,用户可以使用TAB键在控件中导航。

在用户激活特定链接后,弹出应用程序会弹出html页面顶部,并使用swfobject.embedSWF加载。

在大多数情况下它运作良好,但在某些情况下会发生其中一种或两种情况:

a)flex应用加载好," flex focus"在介绍文本标签上设置为大声朗读,但按下标签似乎仍然循环通过页面后面的链接。 (现已修复,请参阅编辑2)

b)焦点效果很好,按下标签循环通过控件确定,但经过它们然后标签弹出应用程序并进入地址栏..它甚至成为一个噩梦甚至试图回到灵活的应用程序,而不是点击它..这是不完全友好的可访问性。

有没有办法防止这些事件发生?

编辑:目标浏览器是IE。似乎是最常用的大白鲨

编辑:我设法修复了问题(a)。诀窍是将焦点调用到swf对象上,但经过一段时间后 - 必须与flash / js ready状态有关。

setTimeout(function(){
   document.getElementById('swfobject').focus()
},25);

问题(b)仍然是一个问题......

2 个答案:

答案 0 :(得分:3)

在你的mx:Application组件中,为keyFocusChange添加一个事件监听器并添加以下代码:

protected function application1_keyFocusChangeHandler(event:FocusEvent):void
{
    event.preventDefault();
    focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus();
}

答案 1 :(得分:0)

b)尝试在swtml中放置一些可聚焦元素。当焦点离开flex app时,看看是否调用了该元素的onfocus处理程序。如果是,您可以从那里重新聚焦flex app或将其重定向到您想要的位置。