- 2000年代初頭に Internet Explorer に導入されたCSS
zoom プロパティは、標準化されないまま広まり、Web 開発者に混乱をもたらした機能
zoom は要素のサイズを拡大・縮小する単純な機能だったが、ブラウザ間の不一致と互換性の問題を引き起こした
- その後登場したCSS
transform が標準的な代替手段となったが、レイアウトに影響を与える zoom の特性を必要とするケースは継続して存在した
- 利用データの調査では、
zoom は実際には IE のバグ回避用である zoom:1 の使用によって、誇張された高い人気指標を記録していた
- 最終的に 2023年に CSS ワーキンググループが新しい標準仕様を策定し、2025年の Interop プロジェクトに含まれたことで、25年ぶりに標準化と幅広いサポートを得ることになった
zoom プロパティの登場
- 2000年に Internet Explorer 5.5 に含まれた非標準機能
zoom は、要素サイズを倍率で調整できるプロパティだった
zoom:2 は2倍に拡大、zoom:0.1 は10分の1に縮小するように動作
- 要素のサイズ変更に応じて周囲のレイアウトも再配置される特徴を持っていた
- しかし公式仕様がなかったためブラウザごとの実装が異なり、これはWeb 開発者とユーザーの双方に混乱をもたらした
- 初期には装飾的な性格が強く、サイトの機能性に大きな影響はなかった
標準化の試みとブラウザの反応
- Mozilla は初期から標準準拠を優先し、
zoom を無視して Firefox には取り入れなかった
- その代わりに CSS
transform プロパティが登場し、似た機能を標準化した
- より強力で効率的な制御を提供
- ただし隣接要素の配置には影響を与えない
- Apple は Safari に
transform と zoom の両方を実装し、ブラウザ間の差は続いた
- その結果、
zoom は標準にはないものの一部のブラウザには残っている中途半端な状態に置かれた
人気指標と誤解
- Bocoup と Mozilla はブラウザ機能の利用状況を調査する際、Web 開発者アンケート、MDN 検索量、Stack Overflow 言及、Chrome テレメトリ、HTTP Archive データなどを活用した
- 予想に反して
zoom は上位に入ったが、これは主にIE のバグを回避するために zoom:1 を指定するパターンのためだった
- 実際に
zoom:1 の使用を除外して計算すると、全体の使用量の94%が減少した
- このため Mozilla は
zoom よりも他の機能改善に優先して取り組んだ
再浮上と標準化
- Firefox のバグトラッカーでは、レイアウトに影響を与える
zoom の挙動の必要性を開発者が継続的に訴えていた
- Microsoft Excel Web、Gmail モバイル Web アプリなど主要サービスもこの機能に依存していた
- 2023年、CSS ワーキンググループは新しい
zoom 仕様を策定し、互換性問題を減らして標準化を推進した
- Interop 2025 プロジェクトに採用され、現在は主要ブラウザで包括的なサポートを受けるようになった
教訓と結論
- Web 標準の合意形成は遅くても、世界中の開発者とユーザーに包摂的な解決策を提供することを示している
- 閉鎖的・非標準技術に依存することは長期的に危険だという教訓を与える
- CSS
zoom は 25年の紆余曲折を経て標準化され、Web プラットフォームにおける合意と進化の重要性を象徴する事例として残った
2件のコメント
久しぶりに
*zoom: 1;を思い出しましたねウェブは本当に情けない。今でも動いているのが不思議なくらいだ