我遇到了一个问题,我无法在我的 Flex 应用程序中为文本设置自定义阅读顺序。我tabIndex
在每个文本元素上设置属性,我理解这是设置屏幕阅读器阅读顺序的正确方法。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute">
<mx:Label x="10" y="10" text="1" tabIndex="2" />
<mx:Label x="10" y="36" text="2" tabIndex="1" />
<mx:Label x="10" y="62" text="3" tabIndex="3" />
</mx:Application>
对于这个小型测试应用程序,屏幕阅读器 (JAWS 12) 读取“1 2 3”而不是“2 1 3”。
一些测试似乎表明这只是我的特定配置的问题。我正在使用 Flex SDK 4.1 编译应用程序,但仅使用 MX 组件集和 Halo 主题。我们有一个相当复杂的应用程序,它在 Flex 4 出现之前就开始了,所以虽然我们已经开始使用最新的 SDK 进行编译,但我们还没有升级任何东西来使用 Spark 组件集。
当我使用 4.1 SDK 和 Spark 组件+主题制作类似的测试应用程序时,阅读顺序设置正确。如果我制作一个测试应用程序并使用 3.5 SDK 进行编译,结果相同——一切正常。
我知道我可以改用 Spark 组件,但如果可以的话,我会尽量避免这种情况,因为这意味着我正在处理的当前项目的时间线必须改变。
有没有人遇到过任何类似的问题,或者有任何建议可以使它起作用?