ライブラリ不要のダークモードをWeb標準だけで実装する — `color-scheme` の「効く範囲・効かない範囲」完全ガイド
DRANK

7月5日、Ollie Williamsが「Dark mode with web standards」と題した記事を公開した。外部ライブラリを一切使わず、Web標準だけでダークモードを完結させる実装を詳細に解説した内容だ。CSSの light-dark() 関数のグラデーション対応や、JavaScriptから prefers-color-scheme を上書きするUser Preferences APIの議論など、Web標準のダークモード周辺仕様はここ1〜2年で急速に進化している。その一方で「OSの設定に追従しつつ、ユーザーがサイト単位でも切り替えられる」という基本要件を、ライブラリなしで正しく実装しようとすると、思わぬ落とし穴にはまりやすい。本記事はその落とし穴を体系的に整理し、現時点でどこまでWeb標準で実現できるかを明確にしている。メタタグを起点にした設計実装の基本となるのが <meta name="color-scheme"> タグだ。CSSの color-scheme プロパティと役割は似ているが、CSSファイルの読み込み完了前に適用されるため、スロー回線でのスタイル未適用状態...

by @tf_official
Related Topics: CSS Web Standards / Browsers UX Design