トピックを検索
色や形、位置だけに頼る操作の指示
購入手続きの画面が「右の緑の矢印を押してください」と案内していますが、ボタンには言葉がなく、スクリーンリーダーは色も形も位置も読み上げず、スマートフォンではボタンが右にありません。
<p>…右の緑の矢印を押してください。</p> 問題
画面を見られない人や、違うレイアウトで見ている人が、指示がどの操作要素のことか分かりません。
食料品店の購入手続きに、配達の手順があります。見出しの下に「配達枠を選んで、右の緑の矢印を押してください。」という1文があります。その下に配達枠のラジオボタンが3つあり、手順の最後には、左に「カートに戻る」のリンク、右に白い矢印の付いた丸い緑のボタンがあります。ボタンに言葉はなく、コード上の名前は「お支払いへ進む」です。
広い画面で見える人は、すぐに矢印を見つけます。スクリーンリーダーの利用者には、指示の文、配達枠、「カートに戻る、リンク」「お支払いへ進む、ボタン」と聞こえます。緑、矢印、右に当たるものは聞こえません。スマートフォンでは手順のボタンが縦に並び、矢印はリンクの下、左側に来るため、この文は誰にとっても正しくなくなります。
WCAG 1.3.3は、指示が形、色、大きさ、視覚的な位置、向き、音といった感覚的な特徴だけに頼らないことを求めています。この指示は、ボタンを色、形、画面上の位置だけで特定しています。形や位置だけで内容を特定する失敗例F14に当たります。この基準は、こうした言葉を禁止してはいません。見ることや聞くことに頼らない手がかりを一緒に示すことを求めていて、その手がかりは通常、操作要素の名前です。達成方法G96がその形を示しています。「丸い go ボタンを押す」が伝わるのは、「go」という言葉があるからです。
ショップやアカウントのページでは、同じ問題が別の感覚に頼る形でも現れます。
- 色:「緑の配達枠はまだ空いています」「赤い欄は必須です」と書き、ほかに印がない。
- 形:「葉っぱのマークの商品は、繰り返し使える梱包で届きます」と書き、葉っぱは文字のないアイコンだけ(記号だけで情報を伝える失敗例F26)。
- 大きさ:「住所は大きいほうの欄に入力してください」。
- 位置:「右上のメニューから」「サイドバーに詳細があります」と書き、スマートフォンではレイアウトが位置を変える。
- 音:「チャイムが鳴ったら、配達枠が確保されています」と書き、画面にメッセージが出ない。
この問題は、指示を書いた人には見えにくい問題です。書いた人の画面では正しいためです。同じ画面を受け取らない人、つまり使う感覚、画面の幅、拡大の度合いが違う人や、右から左に書く言語に翻訳して読む人には通じなくなります。
10グループ中5グループに影響
- 全盲 (影響あり)
- 弱視 (影響あり)
- 色覚 (影響あり)
- ろう (影響なし)
- 難聴 (影響なし)
- 発話 (影響なし)
- 手の操作 (影響あり)
- 届く範囲・力 (影響なし)
- 認知 (影響あり)
- 光過敏 (影響なし)
- 視覚を使わない スクリーンリーダーは指示の文を読んだ後、「カートに戻る」というリンクと「お支払いへ進む」というボタンを読み上げます。どちらも緑、矢印、右とは読まれないため、指示が何も指していません。
- 手の操作が限られる 音声操作の利用者は、操作要素の名前を話して操作します。「緑の矢印をクリック」に合うものはなく、ボタンには代わりに話せる言葉も表示されていません。
- 視覚が限られる 拡大鏡では一度に手順の一部しか見えず、「右」が画面の外にあることがあります。スマートフォンや大きな拡大表示では、矢印はそもそも右にありません。
- 色を知覚しない 緑とほかの色を見分けられない人には「緑」が手がかりにならず、形と、間違っているかもしれない位置だけが残ります。
- 言語・認知・学習の能力が限られる 左右を取り違えやすい人や、矢印を「次へ進む」と読み取らない人は推測するしかなく、その推測がカートに戻るリンクになることもあります。
文が感覚的な言葉だけに頼っているかどうかを、ルールで判定することはできません。「緑の『お支払いへ進む』ボタンを押す」は問題なく、「緑の矢印を押す」は問題ですが、どちらにも色と動詞が含まれています。EaseWebの診断は、感覚的な言葉と指示が一緒に出てくる文を英語と日本語で見つけ、確認候補として人やAIのレビューに渡します。位置の言葉がどのブレークポイントでも正しいか、アイコンの意味がどこかに書かれているか、音に代わる表示があるかは確認できません。AIが生成する文章は、デザイナーが見ている画面を説明しがちです(「下の青いボタンをタップ」)。渡されたのがデザインの画像だけだからです。
試してみる
指示を読んで、どのボタンのことか探してください。次に「スマホの幅」をオンにして、もう一度読んでください。
ページの下の欄に、スクリーンリーダーが読み上げる内容が順に出ます。どれが「右の緑の矢印」でしょうか?
問題あり 修正できますか?
手順を先頭から読むと、スクリーンリーダーの読み上げ:
- 配達、見出しレベル2
- 配達枠を選んで、右の緑の矢印を押してください。
- 配達枠、グループ、火曜日 10:00〜12:00、ラジオボタン、選択済み
- カートに戻る、リンク
- お支払いへ進む、ボタン
修正方法
指示の中で、表示されている言葉かアクセシブルな名前で操作要素を呼び、見た目の説明はどの画面幅でも正しく保ちます。
- 1指示は、目的の操作要素を、表示されているテキストかアクセシブルな名前で呼ぶ。
- 2色、形、大きさ、位置、音は補助として使えるが、名前と一緒に限る。
- 3レイアウトで変わる位置の言葉は削る。読む順序に沿った「上記」「下記」は使える。
<h2>配達</h2><p>配達枠を選んで、右の緑の矢印を押してください。</p><fieldset> <legend>配達枠</legend> …</fieldset><div class="step-actions"> <a href="/basket">カートに戻る</a> <button type="submit" class="next" aria-label="お支払いへ進む"> <svg aria-hidden="true" focusable="false">…</svg> </button></div>ボタンに言葉を表示し、指示で引用する
<h2>配達</h2><p>配達枠を選んで、「お支払いへ進む」を押してください。</p><fieldset> <legend>配達枠</legend> …</fieldset><div class="step-actions"> <a href="/basket">カートに戻る</a> <button type="submit" class="next"> お支払いへ進む <svg aria-hidden="true" focusable="false">…</svg> </button></div>この方法を選ぶ理由:操作要素は、表示されている言葉で指し示す
ボタンには支援技術向けの正しい名前がありますが、指示はその名前を一度も使っていません。説明しているのはボタンの色、形、置き場所で、スクリーンリーダーはそれを読み上げず、狭いレイアウトでは位置も変わります。
ボタンに名前が表示され、名前はそのテキストから決まります。見える言葉、スクリーンリーダーの読み上げ、音声操作が聞き取る言葉が同じになります。指示はその言葉を引用しているため、どの画面幅やレイアウトでも正しく、見える人は目でも照らし合わせられます。矢印は、言葉の横の飾りとして残します。
どちらも1.3.3を満たします。ボタンに言葉を表示すると、すべての人が同じ名前を受け取れ、合わせておくものもなく、矢印を「次へ進む」と読み取らない人にも伝わります。その代わりボタンは幅が広くなり、デザインの変更が必要です。デザインは共通コンポーネントや別のチームの担当かもしれません。指示に名前を加える方法は、デザインに触れない1行の文言の変更で済みますが、ボタンには言葉がないままで、ボタンの見た目が変わるたびに文を確認する必要があります。ボタンを変更できるなら、言葉を表示してください。すぐには変更できないなら、まず文を直し、コンポーネントの次のリリースでボタンを変えます。
「上記」「下記」は、読む順序に沿っていれば使えます。1.3.3のUnderstandingは、リンクが実際にページの中ですぐ後に続き、指すものがはっきりしていれば、「下記のリンクから選んでください」を認めています。「右の」「サイドバーの」「右上の」には、そうした読み方がなく、レスポンシブなレイアウトは指しているものを動かします。
凡例も指示です。「葉っぱのマークは繰り返し使える梱包」という凡例があるなら、葉っぱを使う場所でも同じ言葉を伝えます。横に見えるテキストを置くか、少なくとも <img src="leaf.svg" alt="繰り返し使える梱包"> のようなアクセシブルな名前を付けます。グラフ、地図、空き状況のカレンダーの色の凡例も同じです。
音には、目に見える対になる表示が必要です。チャイムや振動で何かが起きたことを伝えるなら、同じメッセージを画面に表示してステータス領域にも書き込み、聞こえない人や音を消している人にも届くようにします。
指示の文言は、確認できる場所に置きます。CMSや翻訳ファイルで書かれた文言は、説明している部品からずれていきます。ボタンの言葉はボタンと同じ出どころから引用するか、デザインを変えるときに、色や位置の言葉を文言の中で検索してください。
AI コーディングアシスタントで修正しますか? このガイドを Markdown で取得
修正の確認
マウスを使わない4つの確認
確認方法: スクリーンリーダー、音声入力、ズーム
OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。文言、レイアウト、ボタンのデザインを変更した際は、再度確認します。
制限
このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。このガイドは、操作要素や項目を指し示す指示を扱います。アクセシブルな名前がまったくないボタンは別の問題で、名前がないアイコンだけのボタンで扱っています。色だけで示した入力欄は色だけで示された必須項目で扱っています。画像、動画、PDFの中の指示にも、同じ確認が必要です。必要とする人と一緒に、操作全体を確認してください。
よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。
コードを更新しても、使いやすさを保つために
ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。