3

アクセシビリティ対応のフレックス アプリでは、ユーザーは TAB キーを使用してコントロール内を移動できます。

flex アプリは、ユーザーが特定のリンクをアクティブにした後、html ページの上にポップアップし、swfobject.embedSWF を使用して読み込まれます。

ほとんどの場合はうまく機能しますが、次のいずれかまたは両方が発生する場合があります。

a)フレックスアプリは正常にロードされ、「フレックスフォーカス」はイントロテキストラベルに設定されて読み上げられますが、タブを押すと背後のページのリンクが循環するようです。(現在修正済み、編集 2 を参照)

b)フォーカスはうまく機能し、タブを押すとコントロールが循環しますが、それらを通過した後、フレックスアプリからアドレスバーにタブ移動します..せずにフレックスアプリに戻ろうとすることさえ悪夢になりますそれをクリックしてください..これは正確にはアクセシビリティフレンドリーではありません。

これらが起こらないようにする方法はありますか?

編集: ターゲット ブラウザは IE です。Jawsで最も使用されているようです

編集:問題(a)を修正できました。トリックは、swf オブジェクトにフォーカスを呼び出すことでしたが、わずかなタイムアウトの後、flash/js の準備状態に関係しているに違いありません。

setTimeout(function(){
   document.getElementById('swfobject').focus()
},25);

問題(b)はまだ問題ですが...

4

2 に答える 2

3

mx:Application コンポーネントで、keyFocusChange のイベント リスナーを追加し、次のコードを追加します。

protected function application1_keyFocusChangeHandler(event:FocusEvent):void
{
    event.preventDefault();
    focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus();
}
于 2010-12-03T11:03:44.227 に答える
0

b) html の swf の後にフォーカス可能な要素を配置してみてください。フォーカスがフレックスアプリを離れたときに、その要素の onfocus ハンドラーが呼び出されるかどうかを確認します。そうである場合は、そこから flex アプリに再度フォーカスするか、必要な場所にリダイレクトできます。

于 2010-12-03T08:24:17.280 に答える