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) は "2 1 3" ではなく "1 2 3" を読み取ります。
いくつかのテストでは、これは私の特定の構成のみの問題であることが示されているようです。Flex SDK 4.1 でアプリケーションをコンパイルしていますが、MX コンポーネント セットと Halo テーマのみを使用しています。Flex 4 が登場する前に開始されたかなり複雑なアプリがあるため、最新の SDK でコンパイルするためにジャンプしましたが、Spark コンポーネント セットを使用するためにまだ何もアップグレードしていません。
4.1 SDK と Spark コンポーネント + テーマを使用して同様のテスト アプリを作成すると、読み取り順序が正しく設定されます。テスト アプリを作成し、3.5 SDK を使用してコンパイルすると、同じ結果になります。すべてが機能します。
Spark コンポーネントの使用に切り替えることができることはわかっていますが、現在取り組んでいるプロジェクトでタイムラインを変更する必要があることを意味するため、可能であれば回避しようとしています。
誰かが同様の問題に遭遇したことがありますか、またはこれを機能させる可能性のある提案はありますか?