本文へ移動
easeweb
ご相談
トピックを検索

divやアイコン、手入力の番号で作った見た目だけのリスト

プランのカードで、特長をチェックアイコン付きのdivで、始め方の手順を番号を手入力した段落で表しているため、スクリーンリーダーでは、リストでも件数もない、ばらばらの行として読まれ、移動もスキップもできません。

WCAG 2.2
SC 1.3.1A
必須とする規格
Section 508 · EN 301 549(EU) · JIS X 8341-3
問題あり <div class="feature"><svg class="icon-check" …>プロジェクト数無制限</div>
アクセシビリティの問題を示した図: 見た目はリスト。読み上げはばらばらの行。
01

問題

スクリーンリーダー利用者には、プランの特長と手順が、件数も終わりもないばらばらの行として聞こえ、そこへ移動することも、読み飛ばすこともできません。

02

試してみる

プランのカードを聞いてから、スクリーンリーダー利用者と同じ方法でリストへ移動してみてください。

パネルには、NVDAやJAWSがカードを上から読んだ内容が出ます。「Lキー」は次のリストへ移動するキーです。リストの始まり、長さ、終わりを伝えるものはありますか?「問題2」は、番号を段落に手入力した手順です。

問題あり 修正できますか?

チームプラン
プロジェクト数無制限
50 GBのストレージ
共有カレンダー
優先サポート

カードを上から読むと、スクリーンリーダーの読み上げ:

チームプラン 見出しレベル3プロジェクト数無制限50 GBのストレージ共有カレンダー優先サポート

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

項目のまとまりは、ulとol、またはリストのロールでリストにし、順番のある手順には番号を一度だけ付けます。

  1. 1リストに見えるものはリストにする。ul、ol、dl、またはrole="listitem"の項目を持つrole="list"を使う。
  2. 2順番に意味があるときは番号付きリストにし、番号は一度だけ付ける。
  3. 3リストの直下には項目だけを置き、リストを上書きするロールを付けない。
修正前

アイコンで描いた特長

<h3>チームプラン</h3><div class="features">  <div class="feature"><svg class="icon-check" aria-hidden="true">…</svg>プロジェクト数無制限</div>  <div class="feature"><svg class="icon-check" aria-hidden="true">…</svg>50 GBのストレージ</div>  <div class="feature"><svg class="icon-check" aria-hidden="true">…</svg>共有カレンダー</div>  <div class="feature"><svg class="icon-check" aria-hidden="true">…</svg>優先サポート</div></div>
修正後

Ulとol要素

<h3>チームプラン</h3><ul class="features">  <li><svg class="icon-check" aria-hidden="true">…</svg>プロジェクト数無制限</li>  <li><svg class="icon-check" aria-hidden="true">…</svg>50 GBのストレージ</li>  <li><svg class="icon-check" aria-hidden="true">…</svg>共有カレンダー</li>  <li><svg class="icon-check" aria-hidden="true">…</svg>優先サポート</li></ul> <h3>始め方</h3><ol class="steps">  <li>チームを作成します。</li>  <li>最大10人を招待します。</li>  <li>カレンダーを連携します。</li></ol>

この方法を選ぶ理由:まずHTMLの要素を使う

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得

04

修正の確認

マウスを使わない4つの確認

確認方法: スクリーンリーダー

4件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。共通のリストのコンポーネント、CMSのエディター、記号を消すスタイルを変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。クラス名とアイコン内の … は仮のものです。スクリーンリーダーによって「リスト 4項目」「4項目のリスト」など言い方が異なるため、正確な言い回しではなく、項目数と終わりが伝わるかを確認してください。このガイドは、リストとして表示している内容がリストとしてマークアップされているかを扱います。表、見出し、ドラッグで並べ替えるリストは扱いません。実際に使用する支援技術で、操作全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方