WindowsのFirefoxでは、かなり前からメニュー・バーが既定で非表示になっている。ほぼ全てのメニュー項目にアクセスできるボタンはあるし、Altキーを押すと一時的に表示されるようになっているので、特には困らない。ただ、Altキーでメニュー・バーの表示を切り替えた時にlvh
単位の基準も変化してしまうようだ。
簡単なテスト・ページで試せる。比較対象はFirefox 136とMobile Safari 18だ。Firefox 136ではAltキーを押してメニュー・バーを表示すると、lvh
(lvi
)単位も含め全ての単位で基準が変化し、四角い緑の幅が減る。Mobile Safari 18ではスクロールしてブラウザーのGUI領域が変化しても、dvh
(dvi
)単位の基準だけしか変化せず、四角い緑の幅もそれらしか減らない。
Altキーによるメニュー・バーの表示を、動的に開かれたもの(仕様で言うところの「dynamically expanded」)と捉えると、lvh
単位の基準は変化すべきではないだろう。ただ仕様では同時に「might be hidden behind」などとも書かれており、Mobile Safariのような描画領域に被さるような操作領域を想定しているようにも読める。こういったメニュー・バーは被さらないので、描画領域そのものが変化したと捉え、ウィンドウの大きさが変化した時のように基準が変わってもおかしくない。
Altキーによるメニュー・バーの表示は動的に開かれたものという印象を持っているので、感覚的にはバグのように思える。色々と考えていたら、オーバーフローのサイドバーでdvw
単位はどうなるべきかなど、別の疑問も湧いてくる。うまく考えがまとまったらBugzillaにでも投げてみようと思う。
現在、このウェブサイトではsvmin
単位を使って文字サイズを決定しているので、横長のウィンドウでメニュー・バーを出すと文字が小さくなる。その結果コンテンツが大幅に動くので、かなりびっくりする。やはりこの辺りの単位はウィンドウの大きさに対して固定的であって欲しいように思う。実機で操作しないと気付けないような挙動でもあるのでなおさらだ。