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

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

もずはっく日記(2012年9月)

2012年9月7日

Bug-org 674477 element with overflow-x:hidden can be scrolled horizontal
初回投稿日時: 2012年09月07日12時17分10秒
カテゴリ: CSS Mozilla Core Mozilla18 バグ修正
SNS: (list)

overflow-xか、overflow-yの一方がhiddenで、もう一方の方向にスクロール可能な要素で、マウスホイールを使ってhiddenな方向にもスクロールできてしまうことがあるというバグです。

Geckoはマウスホイールでのスクロール対象にはトランザクションの概念を持っていますので、現在のリリースビルドであっても、例えば、overflow-x: hidden;な要素で、先にY軸方向にスクロールし、すぐにX軸方向へのスクロール操作をすると、スクロール対象がその要素に固定されたままになっているので、本来はX軸方向のホイールイベントでの、スクロール対象として算出されないはずのこの要素でスクロールを実行してしまいます。

さらに、D3E WheelEventが実装されたことにより、Macでは、一つのホイールイベントがX軸、Y軸両方向へスクロールすることがあります。

スクロール量を計算する際に、overflow値を考慮して、hiddenなら単にスクロール量をゼロにするように修正してあります。

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

bug-org 674477を含むエントリ