focusRectをtrueまたはfalseに設定した時の挙動の違い
Flashでのアクセシビリティ対応時、focusRectをtrueまたはfalseに設定した時の挙動の違いにハマったのでメモ。
focusRectがtrueの時
- フォーカスに黄色の枠が表示される
- <ENTER>キーでのMouseEvent.CLICKイベントがリスナーに加えられる
focusRectがfalseの時
- フォーカスに黄色の枠は表示されない
- <ENTER>キーでのMouseEvent.CLICKイベントはリスナーに加えられない
※KeyboardEventで<ENTER>キーを判定しなければならない。
ボタン、ムービークリップボタンでの_over動作などはtrue/false共に付くが、MouseEvent.ROLL_OVERなどにはFocusEvent.FOCUS_INなどで対応が必要。
制作途中での変更は少々面倒。特にfalseで制作したものをtrueに変更した場合、<ENTER>キーでのクリックイベントとキーボードイベントが同時に起こり、2度クリックしたような状態になってしまうので、注意が必要。
まさにこれにハマってしまった・・・
また、visibleがfalseになものはイベントを受け付けないが、トウィーンなどでゆっくり消えていくボタンなどはremoveEventListenerを行わないと<ENTER>キー連打で何度もイベントが発生することになる。
