メールのダークモードプレビュー

メールアプリはダークモードでメッセージの色を変えるとき、断りを入れませんし、その方法もアプリごとにばらばらです。HTMLを貼り付ければ3種類の挙動を並べて表示し、読みにくくなる箇所を見つけます。

HTMLの入手方法:Mailchimp、Brevo、Constant Contactなどのサービスには「HTMLとしてエクスポート」や「コードを表示」があります。署名なら、署名作成ツールで「HTMLコードをコピー」を押してください。Gmailでは、受信したメッセージを開いて「メッセージのソースを表示」を選ぶとソースが見られます。

コードはこのブラウザー内にとどまり、アップロードされません。プレビューはスクリプトを無効にしたサンドボックスのフレームで表示します。画像はメールアプリと同じように、それぞれのURLから取得します。

ダークモードは1つではなく3種類

ウェブサイトでは、ダークモードの見た目はあなたが決めます。メールでは、読む側のプログラムが代わりに決め、プログラムの系統ごとにやり方が違います。

挙動代表的なアプリ何をするか
変更なしApple Mail、Outlook for Mac、ブラウザー版Gmail色はそのままです。メッセージの周りのウィンドウは暗くなり、メッセージ自体はダーク用のスタイルを持っている場合にだけ変わります。
部分的な反転Outlook.com、Android版OutlookとGmail、iPhone版Outlook明るい背景は暗くされ、暗い文字は明るくされます。もともと暗かった部分はそのままです。
完全な反転iPhone版Gmail、Windows版の従来のOutlookすべての色が反転します。暗い背景も明るくなります。

つまり1通のメッセージに4つの見た目があります。明るい元の状態と、この3つです。このページでは4つすべてをパソコンまたはスマートフォンの幅で表示します。

プレビューの作り方

ツールはHTML内で見つけたすべての色を書き換えます。インラインのstyle属性にあっても、<style>ブロックにあっても、bgcolorのような古い属性にあっても同じです。各色を色相、彩度、明度に変換し、色相はそのままで明度を変えます。

  • 部分的な反転:相対輝度が0.35を超える背景は暗くなります。明度の暗い側半分にある文字と枠線は明るくなります。それ以外はそのままです。
  • 完全な反転:すべての色の明度を鏡のように反転させます。白はほぼ黒に、黒はほぼ白になります。
  • 変更なし:何も書き換えません。メッセージがcolor-schemeでdarkを宣言していれば、@media (prefers-color-scheme: dark)のルールを有効にします。色をまったく指定していないメッセージには、アプリ標準の暗い背景が付きます。

[data-ogsc]と[data-ogsb]セレクターを使ったOutlook.com向けのルールは、部分的な反転のプレビューに適用します。各プレビューはスクリプトが実行できないサンドボックス化されたフレーム内で表示します。

指摘の意味

コントラスト不足
各バージョンで、見えている文字をすべてその背後にある最も近い背景と組み合わせ、コントラスト比を計算します。4.5:1未満の組み合わせを、悪いものから順に一覧にします。3:1未満ならそのモードをエラーとします。非表示のプリヘッダーテキストは対象外です。
中間のグレーの文字
彩度が低く、明度が45〜70%のグレーは、スケールの真ん中にあります。反転してもほぼ同じグレーになり、背景だけが逆になります。補足的な文字には#555555かそれより暗い色を使ってください。
透明背景の暗いロゴ
ツールは最大15枚の画像を読み込み、ピクセルを調べます。不透明なピクセルのほとんどがとても暗く、縁が透明なら、そのロゴは暗い背景に溶け込んでしまいます。不透明な白い背景の画像も報告します。白い四角として表示されるからです。
要確認の透明部分
画像のサーバーが、他のサイトからピクセルを読むことを許可していませんでした。ダークモードのプレビューを自分の目で確認する必要があります。
ダークモードの設定
メッセージがダークモード対応を宣言しているか、ダーク用の色を用意しているかを示します。色を用意せずに対応だけ宣言するのは、何も宣言しないより悪い結果になります。
画像と文字
実際の文字が120文字未満のメッセージは、ほとんどが画像です。画像の中の文字は決して色が変わりません。alt属性のない画像も数えます。

どのアプリでも崩れない対策

まずはコードが要らない選択から始めましょう。とても暗い文字ととても明るい背景、またはその逆という、はっきりした組み合わせを使います。反転で台無しになるのは中間の色調だからです。暗いロゴには2〜3ピクセルの白い縁取りを付けるか、画像ファイルの中で白い角丸の図形の上に置きます。言葉は画像にせずHTMLのテキストのままにします。

ニュースレターなら、それに対応するアプリ向けにダーク用のスタイルを追加できます。

<meta name="color-scheme" content="light dark">
<style>
  :root { color-scheme: light dark; }
  @media (prefers-color-scheme: dark) {
    .card { background-color: #1e1e1e !important; }
    .body-text { color: #f2f2f2 !important; }
  }
</style>

署名にはこの手段がありません。貼り付ける先のエディターが<meta>と<style>を取り除いてしまうので、残る手段ははっきりした色と、どちらの背景でも見えるロゴだけです。メール署名作成ツールなら、作った結果をこのページに直接送れます。

これは観察された挙動に基づくシミュレーションです。実際の色の書き換えルールは公開されておらず、アプリの更新で変わります。問題のない結果は良い兆しと受け止め、そのうえでダークモードにしたスマートフォンとパソコンにテストメールを送ってください。

よくある質問

ダークモードでメールの見た目が変わるのはなぜですか?

読む人のメールアプリが色を変えたからです。明るい背景を暗くし暗い文字を明るくするアプリもあれば、すべての色を反転するアプリも、何も変えないアプリもあります。結果を決めるのはアプリで、あなたのデザインではありません。

Gmailがメールの色を反転させるのを止められますか?

いいえ。Gmailには送信者が反転を拒否するスイッチがなく、モバイルアプリはダークモード用のメディアクエリを無視します。できるのは、反転しても読めるメッセージを作ることです。強いコントラスト、中間のグレーを使わないこと、明るい縁取りのあるロゴです。

ダークモードでロゴが消えたのはなぜですか?

おそらく透明な背景で保存された暗いロゴです。アプリが背後の白をほぼ黒に置き換え、暗い上に暗いものは誰にも見えません。画像に白い縁取りか白い台を加えるか、ダークモード用に明るい版を用意してください。

prefers-color-schemeに対応しているメールアプリは?

Mac、iPhone、iPadのApple Mailと、Outlook for Macが適用します。GmailとWindows版Outlookは対応しておらず、Outlook.comは独自の[data-ogsc]セレクターを使います。ダーク用のスタイルは一部の読者の表示を改善しますが、全員をカバーするわけではありません。

メールのcolor-schemeメタタグは何をしますか?

<meta name="color-scheme" content="light dark">は、メッセージが両方のモードを自分で処理することをアプリに伝えます。これを尊重するアプリは、あなたのダーク用スタイルを使います。必ずダーク用の色を指定するprefers-color-schemeブロックと一緒に追加してください。

貼り付けたHTMLはアップロードされますか?

いいえ。色の書き換えとチェックはブラウザー内で行います。要求されるのはHTMLが参照している画像だけで、どのメールアプリとも同じように、それぞれのアドレスから取得します。