apache-flex - Flex 辅助功能 - Tab Focus 退出 Flex 应用程序

标签 apache-flex accessibility jaws-screen-reader

在可访问的 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/

相关文章:

ios - 带自定义键盘的 VoiceOver

javascript - 在 React.cloneElement() 中设置 aria-label/aria-labelledby?

flash - 为什么 Jaws 不阅读文本区域中的所有内容

google-chrome - Aria-live 属性在 Chrome 上不起作用

twitter-bootstrap - 在 Bootstrap 下拉菜单中启用键盘导航

crash - 带有 JAWS 16 的 Microsoft Edge 在关注多个网站上的输入字段时行为异常

arrays - 什么时候在 as3 中使用 ArrayCollection 或 Array?

apache-flex - 扩展 Flex Spark Button 以包含可单击的复选框

apache-flex - 如何将 Flex Alert 框放置在特定的 x,y 位置?

iphone - iPhone 支持 Flex 和 Flash 吗?