Apache flex JAWS无法读取Flex自定义组件的第一项

Apache flex JAWS无法读取Flex自定义组件的第一项,apache-flex,jaws-screen-reader,Apache Flex,Jaws Screen Reader,Flex应用程序正在使可访问性兼容。当自定义组件基于某些条件变为可见时,Jaws将跳过组件内的第一项(文本或formitem或textarea)。它从第二项中读取。按向上箭头键时,将读取第一项。 是否有一种无需按向上箭头即可访问第一项的方法?这可能与焦点管理有关 当视图状态更改时,您可能希望将componentId.setFocus()分配给当前视图中的第一个组件 当显示器状态改变时,需要重新评估焦点。如果您发布了如何管理显示状态,我可以确切地建议如何通过事件或自定义状态方法触发显示状态 此外,

Flex应用程序正在使可访问性兼容。当自定义组件基于某些条件变为可见时,Jaws将跳过组件内的第一项(文本或formitem或textarea)。它从第二项中读取。按向上箭头键时,将读取第一项。
是否有一种无需按向上箭头即可访问第一项的方法?

这可能与焦点管理有关

当视图状态更改时,您可能希望将
componentId.setFocus()
分配给当前视图中的第一个组件

当显示器状态改变时,需要重新评估焦点。如果您发布了如何管理显示状态,我可以确切地建议如何通过事件或自定义状态方法触发显示状态

此外,如果不起作用,请在屏幕准备就绪/状态更改后尝试此操作:

focusManager.moveFocus(mx.events.FocusRequestDirection.TOP);

显示添加组件的代码。只需在此处添加伪代码。在这里,CustomComp2首先将变为可见=false。基于应用程序中满足的某些条件,使用comp2.visible=true使CustomComp2在脚本中可见。在这种情况下,屏幕读取器将跳过CustomComp2内的第一个控件。当JAWS软件运行时,按下tab键也会跳过第一个控件。如果我关闭JAWS,然后按tab键工作正常-不会跳过自定义组件的第一个控件。有什么帮助吗?用代码编辑你的问题…我试过setFocus()。setFocus无助于移动屏幕阅读器的焦点。为了澄清,setFocus()确实按照预期正确地将焦点设置到字段中,只是屏幕阅读器仍在读取错误的字段?使用另一种方法更新,该方法将焦点管理器设置为绝对顶部。这可能会奏效。