2011-04-13 7 views
0

を設定することはできません。各テキスト要素にtabIndexプロパティを設定していますが、これはスクリーンリーダーの読み込み順序を設定する適切な方法です。Flexのアクセシビリティ - 私は私のFlexアプリケーションのテキストのカスタム読み取り順序を設定することはできないんだけど、問題を抱えているスクリーンリーダーのため

<?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コンポーネントの使用に切り替えることができ知っているが、私はそれが意味するであろうことができますようならば、タイムラインは、私が働いている現在のプロジェクトに変更しなければならないことを回避しようとしています。

は、誰もが任意の同様の問題に遭遇し、またはこれが仕事を得るかもしれない任意の提案を持っていますか?

答えて

0

ラベルの代わりにテキストを使用します。ドキュメント:それは 他のコントロールに関連付けられている場合、またはFormsモード が非アクティブである場合

Labelコントロールは、スクリーン リーダーによって読み取られます。 Labelコントロールはフォームモードでは 、または キーボードではフォーカスできません。

...

テキストコントロールがフォーカス可能ではないと フォーム モードが非アクティブのときのみ、スクリーンリーダーによって読み取られます。

私もfound thisこれは、より良い解決策かもしれません。この例はFlex 4に含まれていますが、Flex 3ではLabelで同じことができますが、IFocusManagerComponentインターフェイスを実装するだけで済みます。

+0

お返事ありがとうございました。私はまだ、テキストコントロールを使用しているときに読書の順序を変更することはできません。 –

+0

私の問題は、最初にテキストを読むのが得意ではない - うまくいきます。問題は読書の順序を制御することです。私が扱っている実際のアプリケーションでは、ページのレイアウトは多少複雑で、ページ上のテキストを読み込む順序を指定できる必要があります。なぜなら、位置に基づいたデフォルトの順序では正しい結果が得られないからです。 –

+0

ああああ。タブインデックスは、同じコンテナ内のコンポーネントに対してのみ機能します。したがって、テキストが同じコンテナ内にない場合は、何かを一緒にハックしない限り、何らかの問題が発生します。今、私はそれを考えると、これを扱いやすくするために図書館をやったことがない人は驚いています。 –

0

havntはまだその問題を持っていたので、イムは、現時点でのFlex 3でJAWS 11での作業。私は、また、トリックを

http://www.adobe.com/accessibility/products/flash/reading.html#off_stage

:しかし、私は約1舞台裏のコンポーネントのコピーを置くのオプション、私たちのニーズにその複雑すぎると、スクリーンリーダーがちょうどためにこれらのコンポーネントを読むせを読みましたtabIndexを10ずつ増やして設定していました.JAWはその順序だけを気にします。余分なコンポーネントを追加する必要がある場合は、すべての番号を付け直す必要はありません。つまり、10,20,30の場合は、必要に応じてすべてを番号付けするのではなく、11を追加することができます。

ブライアン

+0

感謝の気持ちです。ある時点でコンテンツのコピーを置くことについての読書を覚えています。今度はもう一度言及します。 Sparkのコンポーネントに切り替えるだけの作業かもしれないと思うが、もしそれが終わったら、やってしまうかもしれない。 tabIndex値の間隔を設定するヒントをお寄せいただきありがとうございます。 –

関連する問題