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

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

もずはっく日記(2014年1月)

2014年1月30日

Bug-org 935876 <select> element shouldn't consume key events which don't cause any default action
初回投稿日時: 2014年01月30日12時47分33秒
カテゴリ: Events Mozilla Core Mozilla29 バグ修正
SNS: (list)

Bug-org 501496の修正によるregressionです。<select>要素で文字入力キー以外のハンドリングを、keypressイベントから、keydownイベントに変更し、keydownイベントのpreventDefault()が呼び出された場合に、keypressが発生しなくなっているため、現状の<select>要素では、文字入力キー以外のキー入力に対して、一切、keypressイベントが発生しなくなっている、というバグです。

混乱を避けるため、<select>要素が処理する可能性があるキーのみ、常にpreventDefault()を呼び出すようにし、それ以外のキーでは呼び出さないように変更しました。

例えば、一番上にある<option>要素が選択されている状態で、キーを押しても、何もおきませんが、この場合にもpreventDefault()は呼び出され、keypressイベントは発生しません。

元々、Gecko以外では、keypressイベントは原則として、文字入力キーでしか発生しないので、このバグで実際に改善されるのは、Enterキーぐらいかなという気がします。

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

bug-org 935876を含むエントリ