この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2013年11月)

2013年11月29日

Bug-org 940843 Print preview Alt+C doesn't activate "close" button anymore (& similar for other print preview UI with alt-keys)
初回投稿日時: 2013年11月29日23時48分28秒
最終更新日時: 2013年11月29日23時49分17秒
カテゴリ: Events Firefox Mozilla Core Mozilla28 バグ修正
SNS: (list)

Bug-org 501496のregressionです。プリントプレビューを表示している際に、プレビューされているコンテンツ部分をクリックした後に、UIのアクセスキーが利用できない、というバグです。

コンテンツ部分は、プリントプレビューモードに入る際に、DocShellにキャプチャフェイズのイベントリスナを登録し、コンテンツに処理される前に、イベントを殺すことで、プリントプレビュー内のコンテンツのスクリプト等が動くことを阻止しています。

Bug-org 501496の修正により、この、リスナによってkeydownイベントのpreventDefault()が呼び出されているために、keypressイベントが発生しなくなり、nsEventStateManagerがアクセスキーを処理することができなくなっているのが原因でした。

今回の修正により、keydownイベントのみ、デフォルトイベントグループ、システムイベントグループの両方で、リスナを登録し、keypressイベントを殺してしまわないよう、なおかつ、他のコンテンツがイベントを処理できないように、stopPropagation()のみを呼ぶようにして解決しています。

関連するかもしれないエントリ

bug-org 940843を含むエントリ