WebコンテンツのDark Modeについて

WebコンテンツのDark Modeの情報が全然ない。まぁ、まだ仕様策定中で実装してるのがmac版のsafariだけなので仕方ないのだが。

Safari以外の状況は以下のような感じ。

ChromeはWork In Progress。FirefoxはNightlyバージョンで一部実装済み。

supported-color-schemes / color-schemeプロパティ

利用するカラースキームの設定。darkを設定しておくとDark Mode時にはDark Mode用のデフォルトスタイルシートが適用されるようになる。

フォームのボタンやプルダウン等もDark Mode用のものに切り替わるのが地味にありがたい。

macsafari 12.1ではsupported-color-schemesという名前で実装されているが、次のバージョンでcolor-schemeに改名される予定。Firefox Nightly (68.0) では未対応

:root {
  supported-color-schemes: light dark;
  color-scheme: light darkl;
}

当初はmeta tagとして実装される予定だったらしいが、CSSプロパティとして実装されるようだ。

https://github.com/whatwg/html/issues/4504

prefers-color-scheme メディアクエリ

今dark mode対応についてググると出てくるのは大体これに関する情報。Dark Mode時に適用されるスタイルを指定できる。

現状macsafari 12.1とFirefox Nightly 68.0以降で動作する

@media (prefers-color-scheme: dark) {
  html {
    color: #fff;
    background-color: #000;
  }
}

@media (prefers-color-scheme: light) {
  html {
    color: #000;
    background-color: #fff;
  }
}

メディアクエリなのでlinkタグにも設定可能