本文へ移動

ホーム / デザイナー / 第4部 体験を左右する実装

第4部 体験を左右する実装・第9章

アクセシビリティ

★★☆ 重要8トピック・面接 4問

目や耳・手の不自由な人、高齢の人、明るい屋外で使う人など、誰でも使える体験をデザインするための知識を押さえます。基準の WCAG と、デザインで決まる主な項目、確かめ方を扱います。

ひとことで

誰でも使えるようにすること。国際的な基準の WCAG の AA を目標にし、コントラスト・色・文字の拡大・タップの大きさ・フォーカスなどをデザインで決める。

アクセシビリティは、目や耳・手の不自由な人、高齢の人、明るい屋外で使う人など、誰でも使えるようにすることです。国際的な基準として WCAG(Web Content Accessibility Guidelines)があり、達成の度合いは A・AA・AAA の3段階です。多くの組織は AA を目標にします。WCAG は Web の基準ですが、考え方はアプリにもそのまま使えます。

項目目安(WCAG 2.2 の AA)デザインでの対応
文字のコントラスト比通常の文字は 4.5:1 以上、大きな文字は 3:1 以上薄いグレーの文字に注意。トークンの組み合わせごとに確かめる
部品のコントラスト比入力欄の枠・アイコン・フォーカスの表示などは 3:1 以上枠の線が薄すぎて入力欄に見えない、を避ける
色だけに頼らない色以外でも情報が分かるエラーは赤色+アイコン+文言。グラフは模様やラベルも
文字の拡大200% に拡大しても内容が欠けない高さを固定しない。省略しすぎない
タップの大きさ最小 24×24 CSS px(AA)。AAA は 44×44 CSS px実際は iOS 44pt・Android 48dp を目安に
フォーカスキーボードの操作で今どこにいるか見える・順番が自然フォーカスの見た目をデザインする。順番を注釈で示す

チェックのツール

コントラスト比は Figma のプラグインや、コントラストを測る Web のツールで確かめます。実装されたものは、ブラウザの開発者ツールや Lighthouse・axe などで自動チェックできます。ただし自動チェックで分かるのは一部だけなので、iPhone の VoiceOver や Android の TalkBack で実際に読み上げてみる、キーボードだけで操作してみる、を一度やってみると、分かることが多くあります。

Web エンジニア向け:アクセシビリティ

面接ではこう答える

アクセシビリティは、障害のある人や高齢の人、明るい屋外で使う人など、誰でも使えるようにすることです。基準として WCAG があり、達成の度合いは A・AA・AAA の3段階で、多くの組織は AA を目標にします。コントラスト、色だけに頼らない表現、文字の拡大、タップの大きさ、フォーカスなど、多くの項目はデザインの段階で決まります。確かめるときは、自動のチェックに加えて、読み上げやキーボードだけで実際に使ってみるようにしています。

ひとことで

文字と背景の明るさの差(コントラスト比)を、通常の文字で 4.5:1 以上、大きな文字や部品で 3:1 以上にする。情報は色だけでなく形や文言でも伝える。

コントラスト比は、文字と背景の明るさの差を表す値で、1:1(同じ色)から 21:1(白と黒)までです。WCAG の AA では、通常の文字は 4.5:1 以上、大きな文字は 3:1 以上、入力欄の枠やアイコンなどの部品は 3:1 以上が目安です。

悪い例良い例文字入力欄の枠エラー薄いグレーの文字コントラスト比が 4.5:1 に届かないはっきりした文字4.5:1 以上(大きな文字は 3:1 以上)メールアドレス枠が見えず、入力欄と分からないメールアドレス枠も 3:1 以上abc@枠の色だけ(気づけない人がいる)abc@! 正しい形式で入力してください色+アイコン+文言
コントラストと「色だけに頼らない」の悪い例・良い例

WCAG の「大きな文字」は 18pt(約 24px)以上、太字なら 14pt(約 18.5px)以上です。日本語などの文字は、同じくらいの大きさが目安です。コントラスト比の基準はぎりぎりで判定するもので、2.99:1 は 3:1 を満たしません。

よくある問題対応
薄いグレーの補足の文字補足の文字のトークンも 4.5:1 を満たす色にする
ブランドの色の上の白い文字ブランドの色を少し濃くした「文字用」の色を用意する
入力欄の枠が薄すぎる枠の色を 3:1 以上にする(入力欄に見えなくなるのを防ぐ)
エラーを赤色だけで示すアイコンと文言も添える
グラフを色だけで分ける線の形・模様・直接のラベルも使う
画像の上の文字画像の明るさが場所で違う。暗い帯を敷くなど

面接ではこう答える

WCAG の AA では、文字と背景のコントラスト比を、通常の文字で 4.5 対 1 以上、大きな文字で 3 対 1 以上にすることが求められます。入力欄の枠やアイコン、フォーカスの表示のような部品も 3 対 1 以上が目安です。また、色の見え方は人によって違うので、エラーを赤色だけで示すのではなく、アイコンと文言も添えます。色のトークンの組み合わせごとにコントラスト比を確かめておくと、画面ごとに測らなくて済みます。

9.3タップの大きさと間隔

用語★★☆ 重要
ひとことで

押せるものは、見た目が小さくても押せる範囲を広くとる。WCAG 2.2 の AA は最小 24×24 CSS px、実務では iOS 44pt・Android 48dp を目安にすることが多い。

見た目のアイコンが小さくても、押せる範囲を広くとる(図は2倍の大きさ)24×24 CSS pxWCAG 2.2 AA の最小44×44ptiOS(Apple)の目安48×48dpAndroid(Material)の目安アイコン
タップの大きさの目安(右は 24dp のアイコンを 48dp の範囲で押せるようにした例)
基準大きさの目安
WCAG 2.2 AA(2.5.8)最小 24×24 CSS px(周りに十分な間隔があれば例外あり)
WCAG 2.2 AAA(2.5.5)44×44 CSS px
iOS(HIG)44×44pt 以上
Android(Material)48×48dp 以上

見た目の大きさと押せる範囲は別に指定できます。小さなアイコンでも、押せる範囲を周りに広げれば押しやすくなります。デザインでは、押せる範囲を薄い枠などで示して渡すと、実装で範囲が狭くなるのを防げます。押せるものどうしが近すぎると押し間違えるので、間隔にも気をつけます。

面接ではこう答える

指で押す画面では、押せるものの大きさと間隔が使いやすさを大きく左右します。WCAG 2.2 の AA では、押せる範囲は最小で 24×24 CSS ピクセル、AAA では 44×44 が基準です。実務では、iOS の指針の 44pt、Android の指針の 48dp を目安にすることが多いです。アイコン自体は 24 の大きさでも、押せる範囲を広げれば見た目を変えずに押しやすくできるので、デザインでは見た目の大きさと押せる範囲を分けて指定しています。

ひとことで

キーボードで操作するとき、今どこにいるかを示すのがフォーカスの表示。順番を自然にし、はっきり見える形で、隠れないようにする。

キーボードの Tab で移る順番と、今いる場所の見た目検索欄1検索2ログイン3記事のカード4もっと見る5順番:見た目の流れ(左上→右下)と同じに今いる場所:はっきりした枠で示す枠は背景とのコントラスト 3:1 を目安に固定のヘッダーなどで隠れないように
フォーカスの順番と見た目

マウスを使わず、キーボードやスイッチ(体の動きに合わせた入力の機器)で操作する人がいます。その人たちは Tab キーなどで、押せるものを順番に移動します。

WCAG の項目(AA)デザインでの対応
キーボードで操作できる(2.1.1・A)ホバーやドラッグだけの操作を作らない
フォーカスが見える(2.4.7)部品ごとにフォーカスの見た目を決める。消さない
順番が自然(2.4.3・A)見た目の流れと同じ順番。複雑な画面は順番を注釈に
フォーカスが隠れない(2.4.11・2.2 で追加)固定のヘッダー・バナーで隠れないように
ダイアログを開いたときフォーカスがダイアログの中に移り、閉じると元の場所に戻る

デザインのレビューのときに、キーボードだけで画面を一通り操作してみると、フォーカスが見えない・順番がおかしい・抜け出せない、といった問題がすぐに分かります。

面接ではこう答える

キーボードやスイッチなどで操作する人は、Tab キーで押せるものを順番に移動します。そのとき、今どこにいるかを示すのがフォーカスの表示で、WCAG ではキーボードで操作できること、フォーカスが見えること、移る順番が自然であることが求められます。デザインでは、フォーカスの見た目をはっきりした枠などで決め、見た目を整えるために消さないようにします。また、固定のヘッダーや下から出るバナーでフォーカスした場所が隠れないことにも気をつけます。

ひとことで

スクリーンリーダーは画面の内容を、役割(ボタン・見出し)と名前で順に読み上げる。役割・名前・順番は見た目に出ないので、デザインに注釈で書く。

読み上げでは、画面が「上から順の音声」になる見出し 1「注文の確認」ボタン「戻る」画像「赤いスニーカー、サイド」文字「合計 8,800円」ボタン「注文を確定する」見た目に出ないので注釈で渡すもの・役割(見出し・ボタン)・アイコンのボタンの名前・画像の代わりの文章・読む順番
スクリーンリーダーでの読まれ方のイメージ

スクリーンリーダーは、画面の内容を音声(や点字)で伝える機能です。目の見えない人・見えにくい人が使います。iPhone の VoiceOver、Android の TalkBack が OS に入っています。

注釈に書くこと例
アイコンだけのボタンの名前✕ のボタン →「閉じる」、ハートのボタン →「お気に入りに追加」
見出しとその階層画面のタイトルは見出し1、区切りは見出し2
読む順番見た目の順番と違うときは番号で
状態の伝え方「選択中」「展開中」「3件の未読」など、色や形で示している状態
変化のお知らせ保存できた・エラーが出た、を読み上げで伝えるか
飾り意味のない飾りの画像・アイコンは読み飛ばす

一度、自分のスマホで VoiceOver や TalkBack を有効にして、自分のデザインした画面を操作してみると、何が足りないかがよく分かります(操作のしかたが変わるので、有効にする前に止め方を確かめておきます)。

面接ではこう答える

スクリーンリーダーは、画面の内容を音声で読み上げる機能で、iPhone の VoiceOver や Android の TalkBack があります。画面は上から順に、ボタン・見出しなどの役割と、その名前で読まれるので、アイコンだけのボタンには名前が、画像には代わりの文章が必要です。見出しの階層があると、見出しだけを飛ばし読みして目的の場所に早く移れます。こうした役割・名前・順番は見た目に出ないので、デザインの注釈に書いて渡すようにしています。

ひとことで

画像が伝えている内容を、読み上げ用の短い文章で表したもの。飾りの画像には付けず、読み飛ばす。

代替テキスト(alt)は、画像の内容を文章で表したものです。画像が見えない人に読み上げられ、画像が読み込めなかったときにも表示されます。

画像代替テキストの例
商品の写真「赤いスニーカー(横から)」
グラフ「売上は4月から6月にかけて約2倍に増えた」のように結論を書き、詳しい数値は表でも
文字が入った画像画像の中の文字をそのまま
ボタンの代わりの画像押すと起きること(「検索」)
飾りの画像付けない(読み飛ばす指定)

ユーザーが画像を投稿する画面や、運用の担当がバナーを入れる管理画面では、代替テキストを入力する欄を用意するかもデザインで決めます。

面接ではこう答える

代替テキストは、画像が伝えている内容を文章で表したもので、スクリーンリーダーで読み上げられます。大事なのは画像の見た目の説明ではなく、その画面で画像が果たしている役割を伝えることです。商品の写真なら商品名と色、グラフなら読み取ってほしい結論を書きます。意味のない飾りの画像には付けず、読み飛ばすように指定します。

ひとことで

動きで気分が悪くなる人、点滅で発作が起きる人がいる。点滅を避け、自動で動くものは止められるようにし、動きを減らす設定に合わせる。

避けたいこと・1秒に3回を超える点滅・止められない自動再生(5秒を超える)・画面全体が大きく動く演出代わりにすること・点滅させない・止める・隠すボタンを置く・動きを減らす設定で消す
動き・点滅・自動再生への配慮
項目WCAG(主なもの)デザインでの対応
点滅1秒に3回を超える点滅をしない(2.3.1・A)強い点滅の演出を使わない
自動で動くもの5秒を超えて動くものは止める・隠すができる(2.2.2・A)カルーセル・動く背景に止めるボタン
音自動で流れる音は止められる(1.4.2・A)動画の自動再生は音なしで
操作で起きる動き動きを止められる(2.3.3・AAA)動きを減らす設定で大きな動きを消す

OS の動きを減らす設定(iOS の「視差効果を減らす」など)は、Web では prefers-reduced-motion で受け取れます。設定がオンのときに「動きを全部なくす」のではなく、「ふわっと出る」程度の小さな変化にすると、何が起きたかは伝わります。

@media (prefers-reduced-motion: reduce) {
  .card { animation: none; transition: opacity 0.2s; }
}

面接ではこう答える

画面の動きは楽しさや分かりやすさを生みますが、大きな動きで気分が悪くなる人や、点滅で発作が起きる人もいます。WCAG では、1秒に3回を超える点滅を避けること、5秒を超えて自動で動くものは止められるようにすることが求められています。OS には動きを減らす設定があり、Web でもアプリでもその設定を受け取れるので、設定がオンのときは動きを消すか、透明度の変化だけにする代わりの見せ方をデザインしておきます。

アクセシビリティは「できればやる」ものから、取り組むことが求められるものになってきています。

名前内容
WCAG 2.2(2023年)W3C の Web アクセシビリティの基準。多くの国の法律や指針のもとになっている
JIS X 8341-3:2016日本の Web アクセシビリティの規格。WCAG 2.0 と同じ内容
障害者差別解消法の改正(2024年4月施行)民間の事業者にも、障害のある人への「合理的配慮の提供」が義務になった(Web の環境の整備は努力義務)
欧州アクセシビリティ法(EAA)EU で2025年6月から適用。EU で提供する一部の製品・サービス(EC など)に対応が求められる

法律の細かい扱いは会社の法務の担当に確かめる必要がありますが、デザイナーとしては「WCAG の AA を目標にする」と決めて、デザインシステムに組み込んでおくのが現実的な第一歩です。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • アクセシビリティの多くはデザインの段階で決まる。WCAG の AA を目標にすることが多い
  • コントラスト・色だけに頼らない・タップの大きさ・フォーカスは、見た目のデザインで対応する
  • 読み上げの名前・見出し・順番・代わりの文章は見た目に出ないので、注釈で渡す
  • アクセシビリティの基準(WCAG)と確かめ方:誰でも使えるようにすること。国際的な基準の WCAG の AA を目標にし、コントラスト・色・文字の拡大・タップの大きさ・フォーカスなどをデザインで決める。
  • コントラストと「色だけに頼らない」:文字と背景の明るさの差(コントラスト比)を、通常の文字で 4.5:1 以上、大きな文字や部品で 3:1 以上にする。情報は色だけでなく形や文言でも伝える。
  • タップの大きさと間隔:押せるものは、見た目が小さくても押せる範囲を広くとる。WCAG 2.2 の AA は最小 24×24 CSS px、実務では iOS 44pt・Android 48dp を目安にすることが多い。
  • フォーカスとキーボード操作:キーボードで操作するとき、今どこにいるかを示すのがフォーカスの表示。順番を自然にし、はっきり見える形で、隠れないようにする。
  • 読み上げ(スクリーンリーダー)のための注釈:スクリーンリーダーは画面の内容を、役割(ボタン・見出し)と名前で順に読み上げる。役割・名前・順番は見た目に出ないので、デザインに注釈で書く。
  • 画像の代わりの文章(代替テキスト):画像が伝えている内容を、読み上げ用の短い文章で表したもの。飾りの画像には付けず、読み飛ばす。
  • 動き・点滅・自動再生への配慮:動きで気分が悪くなる人、点滅で発作が起きる人がいる。点滅を避け、自動で動くものは止められるようにし、動きを減らす設定に合わせる。

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1アクセシビリティをデザインでどう担保していますか?

模範回答

具体的なルールをデザインシステムに組み込んで、個人の注意に頼らないようにしています。たとえば文字のコントラスト比は WCAG の AA に合わせて通常の文字で 4.5:1 以上とし、色のトークンの組み合わせごとに確かめておきます。タップの大きさは iOS で 44pt、Android で 48dp を目安にし、エラーなどは色だけでなくアイコンと文言でも伝えます。

チェックは段階ごとに行います。デザイン中は Figma のプラグインでコントラストを測り、読み上げの名前やフォーカスの順番は注釈で渡します。実装後は自動チェックのツールに加えて、VoiceOver や TalkBack で実際に読み上げ、キーボードだけで操作してみます。文字を大きくする設定での見え方も確かめます。

深掘りされたら

  • ブランドの色がコントラスト比を満たさないときは、どうしますか?
  • 自動チェックでは分からない問題には、どんなものがありますか?

見られているポイント具体的なルールとチェック方法

Q2ブランドの色がコントラスト比を満たさないとき、どうしますか?

模範回答

ブランドの色そのものを捨てるのではなく、使い方を分けます。例えば、文字や細い線にはブランドの色を少し濃くした色を使い、ブランドの色そのものは大きな面や飾りに使う、という形です。

WCAG の AA では、通常の文字は 4.5:1 以上、大きな文字と入力欄の枠やアイコンなどは 3:1 以上が目安です。トークンの組み合わせごとに比を測って、使ってよい組み合わせを決めておくと、画面ごとに迷いません。ブランドの担当とも、なぜ色を調整するのかを数値で共有します。

深掘りされたら

  • ダークモードのときのコントラストは、どう確かめますか?

見られているポイント基準の数値と、ブランドとの両立の工夫

Q3実装された画面のアクセシビリティを、どうやって確かめますか?

模範回答

自動のチェックと、実際に使ってみる確認の両方を行います。自動のチェックでは、ブラウザの開発者ツールや Lighthouse・axe などで、コントラスト不足や読み上げの名前がない部品を見つけます。

ただ、自動で分かるのは一部だけなので、iPhone の VoiceOver や Android の TalkBack で読み上げてみる、キーボードだけで操作してフォーカスの順番と見え方を確かめる、文字を大きくする設定で崩れないかを見る、も行います。見つかった問題は、デザインのルールや注釈に足して、次から防ぎます。

深掘りされたら

  • 自動チェックでは見つからない問題の例を教えてください。

見られているポイント自動と手動の両方、次への反映

Q4画面の読み上げ(スクリーンリーダー)のために、デザイナーができることは何ですか?

模範回答

見た目に出ない情報を、注釈で決めて渡すことです。具体的には、アイコンだけのボタンの名前(「閉じる」など)、見出しとその階層、画像の代わりの文章、読む順番、色や形で示している状態(選択中・展開中など)です。

読み上げは画面を上から順に、役割と名前で伝えるので、見出しの階層があると目的の場所に早く移れますし、名前のないボタンは「ボタン」としか読まれません。自分でも VoiceOver や TalkBack を有効にして、デザインした画面を一度操作してみるようにしています。

深掘りされたら

  • 装飾の画像は、どう扱いますか?
  • 見出しの階層は、見た目の大きさと同じですか?

見られているポイント役割・名前・順番を注釈で渡すことを知っているか