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

表示と名前が食い違うボタンとリンク

ショップが「かごに入れる」ボタンそれぞれに、商品名と「カート」を含む aria-label を付けたため、名前にボタン上の言葉が含まれず、音声操作でボタンを見つけられません。

WCAG 2.2
SC 2.5.3A· 2.1 で追加
必須とする規格
EN 301 549(EU)
問題あり aria-label="Linen toteをカートに追加"
アクセシビリティの問題を示した図: 手の操作:なぜ押せないの?
01

問題

音声操作の利用者は、見えている言葉を話してもショップの「かごに入れる」ボタンを押せず、スクリーンリーダー利用者は画面と違う言葉を聞きます。

02

試してみる

再現した音声操作で「かごに入れるをクリック」と話してから、Tabキーで各ボタンへ移動してください。

音声操作は、話した言葉を名前に含むボタンを探します。商品の下に、スクリーンリーダーが読み上げる名前が出ます。

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

問題別の言葉の aria-label
  • Linen tote

    $48

  • Enamel mug

    $18

音声操作(再現):

スクリーンリーダーの読み上げ:

(Tabでボタンへ移動)

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

03

修正方法

各ボタンの名前を表示されている言葉で始め、商品名はその後ろか説明に入れます。

  1. 1ボタンやリンクの名前は、表示されている言葉を含み、その言葉で始める。
  2. 2補足は表示の言葉の後ろか説明として足し、表示の言葉と置き換えない。
  3. 3表示の言葉を aria-hidden で隠して、別の言葉で名前を付けない。
修正前 別の言葉の aria-label
<ul class="products">  <li class="card">    <img src="linen-tote.jpg" alt="">    <h3>Linen tote</h3>    <p class="price">$48</p>    <button type="button" aria-label="Linen toteをカートに追加">かごに入れる</button>  </li>  …</ul>
修正後

ボタン自身の言葉にし、商品名を説明にする

<ul class="products">  <li class="card">    <img src="linen-tote.jpg" alt="">    <h3 id="product-linen-tote">Linen tote</h3>    <p class="price">$48</p>    <button type="button" aria-describedby="product-linen-tote">かごに入れる</button>  </li>  …</ul>

AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得、または全ガイドをコーディングエージェントで使う。

04

修正の確認

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

確認方法: 音声入力、スクリーンリーダー、キーボード

4件中0件を確認済み

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

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。音声認識ソフトによって、話した言葉の照合方法は異なるため、利用者が使う音声操作で確認してください。外部のウィジェットやコンテンツの編集者が追加するボタンも、同じように確認が必要です。表示の言葉で始まる名前が、商品について十分に伝えているかは別の問題です。リンクについてはリンクテキストが空、または「詳しくはこちら」だけのリンクで扱っています。実際に使用する支援技術で、操作全体を確認してください。

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

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

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

再テストの進め方