トピックを検索
色だけで区別される本文中のリンク
段落の中のリンクから下線が消され、本文に近い色だけがリンクを見分ける手がかりになっています。
問題
リンクの色と本文の色を見分けられない人が、段落の中のリンクを見つけられません。
園芸店の商品ページに、育て方の欄があります。ある段落には、水やりは週2回、初霜の前に冬の育て方ガイドを読むこと、大きな鉢を注文する前に配送について確認することが書かれています。「冬の育て方ガイド」と「配送について」はリンクです。サイトのスタイルシートはすべてのリンクから下線を消し、リンクを暗い青で表示しています。一般的な色覚の人がよい画面で見れば、青い言葉がかろうじて分かります。それ以外の多くの読み手には、段落はクリックできるもののない、ひとかたまりの暗い文字に見えます。
2つのリンクを示しているのは、色だけです。WCAG 1.4.1は、色を情報を伝える唯一の視覚的な手段にしてはいけないとしています。「ここがリンクである」ことも情報です。リンクの青 #285c99 は白いページに対して6.82:1あり、文字自体は読みやすい色です。しかし #1a1a1a の本文に対しては2.55:1しかありません。違いはほぼ色相だけで、色覚特性によって失われるのはまさにその色相です。
WCAGの失敗例F73は、この状態を挙げています。色覚がなければ見分けられない本文中のリンクです。達成方法G183は代わりの方法を示しています。周囲のテキストに対して3:1以上の色にし、マウスを重ねたときとフォーカスしたときに下線などの視覚的な手がかりを付ける方法です。
色が薄く見えるプロジェクター、角度のついた安価なノートPCの画面、日差しの下のスマートフォンでも同じことが起きます。青と黒が同じグレーに見えるためです。メニュー、ボタン、カードのリンクはここでの問題ではありません。位置と形からリンクだと分かるためです。問題は本文の中、同じように見える言葉に囲まれたリンクです。
10グループ中3グループに影響
- 全盲 (影響なし)
- 弱視 (影響あり)
- 色覚 (影響あり)
- ろう (影響なし)
- 難聴 (影響なし)
- 発話 (影響なし)
- 手の操作 (影響なし)
- 届く範囲・力 (影響なし)
- 認知 (影響あり)
- 光過敏 (影響なし)
- 色を知覚しない 色覚特性のある人の多くには、中間の青とほぼ黒の文字が同じ暗いグレーに見えます。文の中のリンクは、ないのと同じです。
- 視覚が限られる コントラストの感度が低い人や、大きく拡大して読む人は、一度に数語しか見えず、リンクと本文を見分ける形の手がかりもありません。
- 言語・認知・学習の能力が限られる 文章を読むのが難しい人は、目立つリンクを頼りに次の行き先を選びます。目立たないリンクは見落とします。
axeは、文章の中のリンクの色が周囲のテキストと3:1未満で、ほかに区別するスタイルがない場合に指摘します。最も単純なケースは見つかりますが、すべてではありません。マウスを重ねたときだけの下線があるかは判断できず、背景が画像やグラデーションの場合は判定できないことが多く、訪問済みのリンクも確認しません。ブランドの配色から生成されたデザインは、下線をうるさいとして消し、デザイナーの画面で違って見えるリンクの色を残しがちです。
修正方法
本文中のリンクに下線を付けるか、本文と3:1以上の差がある色にして、マウスを重ねたときとフォーカスしたときに下線を付けます。
- 1段落の中のリンクには、色相以外で周囲のテキストと区別できる手がかりが必要。
- 2その手がかりが明るさの差だけなら、本文に対して3:1以上にし、マウスを重ねたときとフォーカスしたときに下線を付ける。
- 3訪問済みのリンクと強制配色でも、手がかりを残す。
body { color: #1a1a1a;}a { color: #285c99; /* 白の上で6.82:1、本文に対して2.55:1 */ text-decoration: none;}リンクは読めますが、色相だけで示されています。その色相が分からなければ、文の中の暗い言葉の1つにすぎません。
下線は色にまったく頼らない手がかりです。グレースケールでも、どの色覚特性でも、ブラウザーが下線を残す強制配色でも、リンクが分かります。下線を少し離すと文字の下の部分と重なりません。マウスを重ねたときとフォーカスしたときに線を太くすると、どのリンクを指しているかも分かります。.prose に限定することで、本文中のリンクにだけ適用し、メニューやボタンには影響しません。
どちらも1.4.1を満たします。下線を使ってください。どの背景でも、すべての読み手にリンクを示せ、CSSは4行で済み、失うのは段落のすっきりした見た目だけです。色の差は、デザイン上どうしても下線を使えないときにG183が認める方法です。ただし指し示すまでは明るさの差だけが手がかりで、頼りにする2つの比率には余裕がほとんどありません。本文が #1a1a1a の場合、本文に対して3:1、白に対して4.5:1の両方を満たす色はごく狭い範囲に限られます。
手がかりは下線に限りません。下の枠線、点線の下線、アイコン、太字も、色以外の違いになります。ただし本文中の太字はおすすめしません。同じ段落で強調にも太字を使うと、リンクと重要な言葉の区別がつかなくなるためです。
ルールは本文エリアに限定します。ナビゲーションメニュー、ボタン、カード、リンクを並べたフッターは、レイアウトからリンクだと分かります。すべてに下線を付けても、うるさくなるだけです。リッチテキストのコンポーネント、CMSの本文、Markdownの表示部分と、その中の表のセルやリスト項目に適用します。
訪問済みのリンクにも同じ手がかりが必要です。:visited で色を変える場合は、その色も本文と背景に対して測定し、下線が消えないようにします。
強制配色では、ブラウザーがリンクの色をシステムの LinkText の色に置き換え、本文の色とほぼ同じになることがあります。下線は残りますが、色の差だけでは残らない場合があります。マウスを重ねたときに表示するために text-decoration-color: transparent で下線を隠さないでください。どのモードでも本文と同じに見えてしまいます。
AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得
修正の確認
5つの確認
確認方法: コントラストの測定、マウス、キーボード、タッチ、強制配色
OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。色のトークンや本文のスタイルを変更した際は、再度確認します。
制限
このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。色の値は例のため、実際の配色を実際の本文と背景で測定してください。このガイドは本文中のリンクを扱います。エラーを示す赤い枠、「在庫あり」の緑の点、グラフの線など、ほかの場所で色だけを使う場合も同じ基準を満たさず、文字や模様など別の手がかりが必要です。必要とする人と一緒に、ページ全体を確認してください。
よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。
コードを更新しても、使いやすさを保つために
ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。