2024年4月の障害者差別解消法改正により、ECサイトのアクセシビリティ対応は「努力義務」から事実上の必須要件に。何をすべきかを解説します。
改正法の正式名称は「障害を理由とする差別の解消の推進に関する法律」(平成25年法律第65号)。2024年4月1日施行の改正により、民間事業者にも「合理的配慮の提供」が義務化されました。
このチェックリストの使い方
以下の8項目はWCAG 2.2(Web Content Accessibility Guidelines)の基準に基づいています。各項目にWCAG基準番号を併記しているので、公式ガイドラインの該当箇所を参照しやすくなっています。
1. 全画像にalt属性を設定する
WCAG基準: 1.1.1 Non-text Content(レベルA) なぜ重要か: スクリーンリーダー(NVDA, VoiceOver, JAWS等)は画像のalt属性を読み上げます。altが空の商品画像は「画像」としか読み上げられず、視覚障害のあるユーザーが商品を理解できません。 ECサイトでの実装ルール:- 商品画像: 商品名+色+サイズ →
alt="オーガニックコットンTシャツ ホワイト Mサイズ" - 装飾画像: 空のalt →
alt=""(読み上げをスキップさせる) - バナー画像: バナーのテキスト内容 →
alt="サマーセール 全品20%OFF 7月31日まで" - アイコン: 機能を説明 →
alt="お気に入りに追加"/alt="カートに入れる"
---
2. カラーコントラスト比を4.5:1以上にする
WCAG基準: 1.4.3 Contrast (Minimum)(レベルAA) なぜ重要か: テキストと背景のコントラスト比が低いと、色覚異常や弱視のユーザーだけでなく、屋外でスマホを見ている一般ユーザーも読みにくくなります。 基準値: | テキストサイズ | 最低コントラスト比 | 推奨コントラスト比 | |--------------|-------------------|-----------------| | 通常テキスト(14px〜) | 4.5:1 | 7:1(レベルAAA) | | 大きなテキスト(18px〜 or 14px太字〜) | 3:1 | 4.5:1 | テストツール: WebAIM Contrast Checkerにテキスト色と背景色を入力 → 合否判定。 よくある違反: 薄いグレーの注意書き(#999 on #fff = 2.85:1 → NG)。最低でも #767676(4.54:1)以上を使うこと。
---
3. フォーム要素にlabel要素を関連付ける
WCAG基準: 1.3.1 Info and Relationships(レベルA)/ 4.1.2 Name, Role, Value(レベルA) なぜ重要か: が関連付けられていないフォーム要素(入力欄、セレクトボックス等)は、スクリーンリーダーが「テキストフィールド」としか読み上げず、何を入力すべきかわかりません。
正しい実装:
<!-- label の for 属性と input の id を一致させる -->
<label for="email">メールアドレス</label>
<input type="email" id="email" name="email" required>
<!-- プレースホルダーはlabelの代替にならない -->
<!-- ❌ 悪い例 -->
<input type="email" placeholder="メールアドレス">
ECサイトの重要フォーム: 会員登録、ログイン、カート、チェックアウト、お問い合わせ。特にチェックアウトフォームの未対応は購入機会の損失に直結。
---
4. キーボードナビゲーションを確保する
WCAG基準: 2.1.1 Keyboard(レベルA) なぜ重要か: マウスを使えないユーザー(運動機能障害、スクリーンリーダー利用者)はTabキーでページを操作します。全てのインタラクティブ要素がキーボードでアクセスできる必要があります。 テスト方法:- マウスを使わずにTabキーだけでページを操作してみる
- 確認ポイント:
---
5. ページの言語を宣言する
WCAG基準: 3.1.1 Language of Page(レベルA) なぜ重要か: がないと、スクリーンリーダーがページの言語を判定できず、日本語テキストを英語の発音規則で読み上げてしまいます。
実装(1行追加するだけ):
<html lang="ja">
多言語対応時: ページ内に部分的に英語が含まれる場合 → Made in Japan
テストツール: HTML Validatorで lang 属性の有無を自動チェック。
---
6. フォーカスインジケーターを視認可能にする
WCAG基準: 2.4.7 Focus Visible(レベルAA)/ 2.4.11 Focus Not Obscured(レベルAA、WCAG 2.2 新基準) なぜ重要か: Tabキーでフォーカスが当たっている要素が視覚的にわかないと、キーボードユーザーは今どこにいるか把握できません。 よくある問題: CSSでoutline: none を設定してフォーカスリングを消している。
正しい実装:
/ デフォルトのフォーカスリングを消さない。カスタマイズする場合は: /
:focus-visible {
outline: 3px solid #4A90D9;
outline-offset: 2px;
}
/ マウスクリック時は非表示、キーボード操作時のみ表示 /
:focus:not(:focus-visible) {
outline: none;
}
---
7. タッチターゲットのサイズを44×44px以上にする
WCAG基準: 2.5.8 Target Size (Minimum)(レベルAA、WCAG 2.2 新基準) なぜ重要か: モバイルECでタップ対象が小さすぎると、運動機能障害のあるユーザーだけでなく、一般ユーザーの誤タップも増えます。 基準:- 最低: 24×24px(WCAG 2.2 レベルAA)
- 推奨: 44×44px(Apple HIG / Material Design推奨)
- カラーバリエーションの小さな丸ボタン(20×20px)
- フッターのリンク(テキストのみ、タッチ領域なし)
- 「カートに入れる」ボタンの横の「お気に入り」ハートアイコン(16×16px)
/ タッチターゲットの最低サイズを保証 /
.btn, a, button, input, select {
min-height: 44px;
min-width: 44px;
}
---
8. エラーメッセージを具体的に提示する
WCAG基準: 3.3.1 Error Identification(レベルA)/ 3.3.3 Error Suggestion(レベルAA) なぜ重要か: 「入力エラーがあります」だけでは、どのフィールドが間違っているかわかりません。具体的なフィールド名と修正方法を提示する必要があります。 良い例:<div role="alert" aria-live="polite">
<p>以下のエラーを修正してください:</p>
<ul>
<li><a href="#email">メールアドレス: 「@」の後にドメイン名を入力してください</a></li>
<li><a href="#phone">電話番号: ハイフンなしの数字のみで入力してください</a></li>
</ul>
</div>
悪い例:
<p style="color: red;">入力エラーがあります。</p>
ECサイトの注意: チェックアウトフォームでのエラーは直接カート放棄につながります。バリデーションエラーは入力中にリアルタイムで表示するのがベスト。
---
まとめ
8項目のチェックリストを順番に対応することで、WCAG 2.2 レベルAA準拠への道筋が見えます。
まず今日やるべき3つ: ① の確認 ②商品画像のalt属性チェック ③カラーコントラスト比の確認。この3つは5分で完了します。
アクセシビリティ対応は法的リスク軽減だけでなく、SEO(alt属性、構造化マークアップ)やCRO(フォームUX改善)にも直結します。
自社サイトの現状を確認するには、Pulse DigitalのChrome拡張で診断してみてください。WCAG基準のアクセシビリティ問題をワンクリックで検出できます。