テーブルの交互背景色は必要?長い表を読みやすくするWEBデザイン
長いテーブルでは、行を追っているうちに別の列や行へ視線がずれることがあります。偶数行と奇数行で背景色を交互に変える「ゼブラストライプ」は、必須ではありませんが、長い表を目で追うための補助として役立つ場合があります。W3Cの表に関するガイドでも、交互の行を異なる見た目にする方法は、読みに困難がある人や文字を拡大して読む人の視覚的なガイドになり得ると説明されています。大切なのは、色だけに頼らず表の構造を正しく作り、どちらの背景でも文字を十分に読めるようにすることです。
交互背景色は必須ではないが、長い表では視線のガイドになる
行数が少ない表なら、白 ■#FFFFFF の背景だけでも十分に読めることがあります。一方、料金比較や仕様一覧のように横方向へ複数の列を見比べる長い表では、1行おきに背景を変えると、同じ行を追いやすくなります。
ただし、交互背景色は表の構造そのものを置き換えるものではありません。W3CのTables Tutorialでは、見出しセルを <th>、データセルを <td> で適切に示し、見出しとデータの関係をHTML上でも分かるようにすることが重要とされています。見た目の縞模様だけで列や行の意味を伝えないようにします。
白と薄いグレーを使い、文字コントラストを両方で確認する
交互背景色は強い色差にする必要はありません。たとえば奇数行を白 ■#FFFFFF、偶数行をライトグレー ■#F7F8FA、本文文字をダークブルーグレー ■#334155 にすると、文字とのコントラスト比(前景色と背景色の相対的な明るさの差を示す数値)は白 ■#FFFFFF で約10.35:1、ライトグレー ■#F7F8FA で約9.74:1です。
白 ■#FFFFFF とライトグレー ■#F7F8FA 自体の比は約1.06:1と小さいですが、交互背景色はデータの意味を伝える必須情報ではなく、行を追いやすくする補助として使えます。重要なのは、どちらの行でも文字が読めることです。WCAG(Web Content Accessibility Guidelines、Webアクセシビリティのガイドライン)2.2では、通常サイズの文字は背景とのコントラスト比4.5:1以上、大きな文字は3:1以上が基準です。
列見出しをさらに区別したい場合は、ヘッダー背景をライトブルーグレー ■#E2E8F0、文字をダークブルーグレー ■#334155 にすると約8.40:1です。背景色だけでなく、太字や <th> の構造も併用します。
ホバー・選択状態と混同せず、スマホ表示でも行の関係を保つ
交互背景色と、マウスを重ねた行のホバー表示、選択中の行、エラー行などを同じ色で表すと状態が分かりにくくなります。ゼブラストライプはあくまで行を追うための背景として固定し、選択状態には枠線・アイコン・チェックマークなど別の手掛かりを加えます。色だけで選択状態を伝えないことも重要です。
CSSでは :nth-child() というセレクターを使い、偶数行や奇数行を対象にして交互背景色を付けられます。たとえば偶数行だけに色を付ける方法なら、行が追加されても自動的に交互表示を維持できます。ただし、レスポンシブ表示で表をカード形式などへ変換する場合は、行と見出しの関係が失われないようにします。W3Cも、小さい画面や拡大表示で形式が変わっても、表の構造的な関係を利用できるようにすることを勧めています。
HueRollでは、候補色を3桁または6桁のHEX(Webで色を表す16進数コード)やカラーピッカーで調整し、選択色と白・黒とのコントラストを確認できます。任意の2色同士の比較やWCAGのAA・AAA自動判定には対応していないため、表の文字と各行背景、見出し背景など、実際に隣接する組み合わせは別途確認します。