本文へ移動

ホーム / QA / 第4部 非機能のテスト

第4部 非機能のテスト・第12章

アクセシビリティと互換性のテスト

★★☆ 重要6トピック・面接 3問

誰でも、どの環境でも使えるかを確かめる方法を押さえる。

ひとことで

キーボード操作・スクリーンリーダー・コントラストを確かめる。

アクセシビリティは、目が見えにくい人、キーボードだけで操作する人など、誰でも使えるかということです。基準として WCAG(ウェブコンテンツのアクセシビリティの国際的なガイドライン)がよく使われます。

自動チェックと手動チェック

自動チェック(axe など)毎回・全部の画面に代替テキストがないコントラストの不足×意味が正しいかは分からない手動チェック主要な画面と流れにキーボードだけで操作スクリーンリーダーで読む拡大しても崩れない
自動チェックと手動チェックの分担
自動チェック手動チェック
道具axe・Lighthouse(E2E テストに組み込んで毎回流せる)キーボード、スクリーンリーダー(VoiceOver・NVDA など)、画面の拡大
見つけやすいもの画像の代替テキストがない、文字と背景の色の差(コントラスト)が足りない、入力欄にラベルがないキーボード(Tab・Enter・Esc)だけで全部操作できるか、今どこにいるか(フォーカス)が見えるか、読み上げが意味の通る順か、拡大しても崩れないか
限界見つかるのは問題の一部。「代替テキストが意味として正しいか」は判断できない時間がかかるので、主要な画面と流れから

まず自動チェックを CI に入れて機械的な問題を防ぎ、主要な画面は手動で確かめる、と分担すると続けやすくなります。現在の WCAG の最新の勧告は 2.2 です。

面接ではこう答える

アクセシビリティは、目が見えにくい人やキーボードだけで操作する人を含めて、誰でも使えるかということで、基準には WCAG がよく使われます。テストは、axe や Lighthouse の自動チェックを CI に入れて代替テキストやコントラストの不足のような機械的な問題を防ぎ、主要な画面はキーボードとスクリーンリーダーで手動で確かめる、と分担します。

ひとことで

W3C のアクセシビリティの国際的な基準。知覚できる・操作できる・理解できる・堅牢の4原則と、A・AA・AAA のレベルがある。

WCAG(ウェブコンテンツ・アクセシビリティ・ガイドライン)は、W3C が出しているアクセシビリティの国際的な基準で、現在の勧告は 2.2 です。4つの原則の下に、確かめられる達成基準が並んでいます。

知覚できる見え方によらず伝わる操作できるキーボードでも使える理解できる予想どおりに動く堅牢支援技術で読める達成の基準のレベルA最低限AA多くの組織が目標にするAAA最も高い(全部は難しい)
WCAG の4つの原則と適合レベル
よく出る達成基準の例テストで見ること
画像などの代替テキスト意味のある画像に、内容を表す代替テキストがある
キーボードで操作できるマウスなしで全部の操作ができ、途中で抜けられなくならない
フォーカスが見える今どこを操作しているかが目で分かる
コントラスト文字と背景の色の差が十分ある
入力のエラーの説明どこが・なぜ間違いかを文字で伝える(色だけに頼らない)

多くの組織はレベル AA を目標にします。日本では JIS X 8341-3 が WCAG に合わせた規格になっています。

面接ではこう答える

WCAG は、W3C が出しているウェブのアクセシビリティの国際的な基準で、現在の勧告は 2.2 です。知覚できる、操作できる、理解できる、堅牢、の4つの原則の下に、確かめられる達成基準が並び、A、AA、AAA の3つのレベルがあります。多くの組織は AA を目標にし、日本の JIS X 8341-3 も WCAG に合わせています。

キーボードだけで操作できるかは、特別な道具なしで誰でもすぐ確かめられる、効果の大きいテストです。マウスを使わず、次のキーで主要な流れを最後まで進めます。

キー使い方確かめること
Tab・Shift+Tab次・前の操作できる要素へ順番が見た目の順と合う。飛ばされる要素がない
Enter・Spaceボタン・リンクを押す、チェックを付けるクリックと同じことが起きる
矢印キーラジオボタン・メニュー・タブの中を移る部品の中で選べる
Escダイアログ・メニューを閉じる閉じたあと、開く前の場所にフォーカスが戻る

よくある不具合は、フォーカスが見えない(枠線を消している)、ダイアログの外へフォーカスが逃げる、div で作ったボタンに届かない、の3つです。

スクリーンリーダーは、画面の内容を読み上げる道具で、目の見えない人や見えにくい人が使います。主要な画面だけでも実際に使ってみると、自動チェックでは分からない問題が見つかります。

環境代表的なスクリーンリーダー
Mac・iPhoneVoiceOver(OS に付属)
WindowsNVDA(無料)など
AndroidTalkBack(OS に付属)

確かめること:ボタンやリンクが「何をするか」を読み上げるか(「ボタン」だけにならない)、画像の代替テキストが意味として正しいか、エラーや「保存しました」などの通知が読み上げられるか、見出しの順で内容の構成が分かるか。

ひとことで

文字と背景の色の差。レベル AA では通常の文字で 4.5:1 以上が必要。axe などで自動的に確かめられる。

文字と背景の色の差(コントラスト比)は、レベル AA では通常の文字で 4.5:1 以上、大きな文字で 3:1 以上が求められます。開発者ツールで要素を選ぶと、コントラスト比を表示できます。

文字の見やすさ十分な差4.5:1 以上を満たす例文字の見やすさ足りない薄い文字は読みにくい通常の文字は 4.5:1、大きな文字・ボタンの枠などは 3:1 以上(レベル AA)
文字と背景のコントラスト(イメージ)

コントラストや代替テキストのような機械的に分かる問題は、axe を E2E テストに組み込んで毎回確かめると、入り込むのを防げます。

import AxeBuilder from '@axe-core/playwright';

test('カート画面に重大なアクセシビリティの問題がない', async ({ page }) => {
  await page.goto('/cart');
  const results = await new AxeBuilder({ page }).analyze();
  expect(results.violations).toEqual([]);
});

既存の画面で問題が多すぎるときは、重大なものから直し、新しい問題を増やさないことから始めます。

面接ではこう答える

コントラスト比は、文字と背景の色の明るさの差で、WCAG のレベル AA では通常の文字で 4.5:1 以上、大きな文字で 3:1 以上が求められます。コントラストや代替テキストのような機械的に判定できる問題は、axe を E2E テストに組み込めば毎回確かめられます。ただし自動チェックで分かるのは一部なので、手動の確認と組み合わせます。

互換性のテストは、利用者が使うさまざまなブラウザ・端末・OS で正しく動くかを確かめるテストです。全部の組み合わせは試せないので、対応する環境を決めて、そこに絞ります。

決め方内容
利用の多い環境分析ツールで、利用者の多いブラウザと版・OS・画面の大きさ
エンジンの違いChrome・Edge(Chromium)、Safari(WebKit)、Firefox(Gecko)の3系統は押さえる
iPhone のブラウザiPhone では多くのブラウザが同じ WebKit を使うので、Safari での確認が重要
組み合わせの削減ブラウザ×OS×画面の大きさはペアワイズで減らす
どこまで深く主要な流れは全部の対応環境で、それ以外は代表の環境で

対応する環境の一覧は、利用者向けのヘルプにも書いておくと、問い合わせの対応がしやすくなります。古い版のサポートを打ち切るときは、利用者の割合を見て PdM と決めます。

ペアワイズ(組み合わせテスト)

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • WCAG の考え方と、多くの組織が目標にするレベル AA
  • 自動チェック(axe)と、キーボード・スクリーンリーダーの手動チェックの分担
  • 対応する環境を決めて、互換性のテストを絞る

この章のクイズ

面接ではこう聞かれる

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

Q1アクセシビリティのテストでは、何を確かめますか?

模範回答

自動チェックと手動チェックを組み合わせます。自動チェックは axe や Lighthouse で、画像の代替テキストがない、文字と背景の色の差(コントラスト)が足りない、入力欄にラベルがない、などを見つけます。E2E テストに組み込めば毎回確かめられますが、見つかるのは問題の一部です。

手動では、キーボード(Tab・Enter・Esc)だけで全部の操作ができるか、今どこにいるか(フォーカス)が見えるか、スクリーンリーダーで意味の通る順に読み上げられるか、画面を拡大しても崩れないかを確かめます。基準には WCAG(現在の最新の勧告は 2.2)がよく使われます。時間が限られるときは、主要な画面と流れから始めます。

深掘りされたら

  • モーダル(重ねて出る画面)では、どんな不具合が起きやすいですか?

見られているポイント自動と手動の役割の違いと、具体的な確認項目

Q2キーボードだけで操作できるかは、どうテストしますか?

模範回答

マウスを使わずに、主要な流れ(ログインから購入までなど)を最後まで進めます。Tab で順に移り、Enter や Space で押し、矢印キーでメニューやラジオボタンを選び、Esc でダイアログを閉じます。

見るのは、今どこにいるかのフォーカスが見えるか、移る順番が見た目の順と合っているか、届かない要素がないか、ダイアログを閉じたあとフォーカスが元の場所に戻るか、です。div で作ったボタンに届かない、枠線を消してフォーカスが見えない、がよく見つかる不具合です。

深掘りされたら

  • 自動チェックで、キーボードの問題はどこまで見つかりますか?

見られているポイント具体的な操作とよくある不具合の知識

Q3テストする対応ブラウザは、どう決めますか?

模範回答

利用者のデータから決めます。分析ツールで利用の多いブラウザと版、OS を確かめ、そのうえで Chromium・WebKit・Gecko の3つのエンジンは押さえます。特に iPhone では多くのブラウザが WebKit を使うので、Safari での確認は外せません。

全部の組み合わせは試せないので、主要な流れは全部の対応環境で、それ以外は代表の環境で確かめ、組み合わせはペアワイズで減らします。決めた一覧は PdM と合意して文書にし、利用者の割合を見て定期的に見直します。

深掘りされたら

  • 古いブラウザのサポートをやめたいと言われたら?

見られているポイントデータにもとづく対応環境の決め方