Checklist
このチェックリストは、Webアクセシビリティを確保するための基礎的なチェックリストです。 各チェック項目は、Hands-onで解説される内容をもとに作成されています。
デザイン
コンテンツ
- 色だけで情報を伝えず、テキスト・アイコン・下線などの情報を併記している
- 情報を持つ画像には、その目的や内容を簡潔に説明する代替テキストが設定されている
- 装飾的な画像は、支援技術に無視させるために空のalt(alt="")が設定されている
- テキストと背景色のコントラスト比が4.5:1以上になっている
- サイズの大きなテキスト(24px以上、または、18px以上の太字)と背景色のコントラスト比が3:1以上になっている
- 情報を伝えるグラフィカルな要素と背景のコントラスト比が3:1以上になっている
- ロゴのような必要不可欠な要素を除き、文字画像は使用されていない
構造とナビゲーション
- 各ページのタイトルはその内容や目的を明確に説明している
- 見出しはコンテンツの内容を明確に示している
- フォームのラベルはその入力項目の目的を明確に示している
- 複数のページで共通するナビゲーションメニューが、常に同じ相対的な順序で配置されている
操作と入力
- ボタンやリンクなど操作可能な要素のサイズが、最低24 x 24px以上確保されている
- ドラッグ&ドロップ操作が必要な機能に、ドラッグなしで操作できる代替手段(例:ボタン操作)が提供されている
- フォームでエラーが発生した場合、どの項目がエラーなのか、明確なテキストで伝えられている
- フォームでエラーが発生した場合、どのように修正すればよいか、明確なテキストで伝えられている
- パスワードを記憶する、パズルを解く、などの認知機能テストが認証プロセス含まれる場合、認知機能に依存しない代替手段(パスワードマネージャーの利用など)が用意されている
実装
マークアップと堅牢性
-
<html>要素にlang属性が付与され、ページの主要な言語が指定されている - コンテンツの一部で言語が変わる場合、その部分にlang属性が設定されている
- ページ全体に対して設置されたヘッダーには、
<header>要素(またはrole="banner")が使用されている - ページ全体に対して設置されたフッターには、
<footer>要素(またはrole="contentinfo")が使用されている - ページのメインコンテンツには、
<main>要素(またはrole="main")が使用されている - グローバルナビゲーションなどの主要なナビゲーションには、
<nav>要素(またはrole="navigation")が使用されている - ページ全体に対して設置された
<header>、<main>、<footer>要素は、それぞれページ内に1つのみ配置されている - 見出しとなる要素には、
<h1>から<h6>の要素を使用している -
<h1>から<h6>までの見出しレベルが、階層構造を論理的に保って正しく使われている - ボタンとして機能する要素には
<button>要素を使用している(<div>要素や<span>要素での代用や、<a>要素にjavascript:void(0)を用いた擬似的なボタン実装を行わない。) - リンク(別ページへの遷移やページ内リンク)には
<a>要素を使用している(<button>要素や<div>要素にlocation.hrefなどのJavaScript処理を組み合わせて代用していない) - カスタムコンポーネントに対し、役割、状態、プロパティ(role, aria-*属性など)が適切に付与されている
- 支援技術に公開される名前(name)は、ユーザーに表示されるテキストラベルを含む形となっている
- 入力フォームの各項目に、
<label>要素などを利用したラベルまたは説明文が提供されている - フォーム結果や読み込み状況などのメッセージが、フォーカスを移動させなくても支援技術が読み取れるように実装されている(aria-live属性など)
操作性と表示
- すべての機能が、マウスを使わずにキーボードだけで操作できるようになっている
- フォーカスが特定のコンポーネント内に閉じ込められるキーボードトラップが発生していない
- キーボードフォーカスがどこにあるか、視覚的にわかるようになっている
- 複数のページで繰り返される主要なコンテンツのブロックをスキップできるメカニズム(スキップリンクなど)が提供されている
- 機能やコンテンツを損なうことなく、支援技術なしで、テキストを200%までサイズ変更できるようになっている
- 画面を400%に拡大しても、横方向または縦方向の意図しないスクロールが発生することなくコンテンツを閲覧・利用できる
時間依存メディアと動的コンテンツ
- 収録済みの音声のみのコンテンツには、内容を補完する文字起こしまたは代替コンテンツが提供されている
- 収録済みの映像のみのコンテンツには、内容を説明する音声トラックまたは代替コンテンツが提供されている
- 収録済みの同期したメディアには、必要な効果音や話者情報を含むキャプションが提供されている
- 収録済みの同期したメディアには、視覚的な情報を伝える音声解説が提供されている
- ライブ配信される音声には、キャプションが提供されている
- 時間制限がある場合、ユーザーがその制限を解除、調整、または延長できるようになっている
- 5秒以上動き続けるコンテンツ(カルーセルなど)は、ユーザーが一時停止、停止、または非表示にできるコントロールが提供されている
- ユーザーが要素にフォーカスしたときに、予期せぬページの移動やコンテキストの変化を自動的に起こさないようになっている
- ユーザーが入力内容を変更したときに、予期せぬページの移動やコンテキストの変化を自動的に起こさないようになっている
- ホバーやフォーカスで表示されるコンテンツ(ツールチップ、サブメニューなど)を非表示にできるメカニズムがある
- ホバーやフォーカスで表示されるコンテンツ(ツールチップ、サブメニューなど)にマウスカーソルを移動させても消えないようになっている
- ホバーやフォーカスで表示されるコンテンツ(ツールチップ、サブメニューなど)が、ユーザーが非表示にするまで表示され続けるようになっている
- 同一プロセス内で再入力が必要な情報は、セキュリティ上必須な場合を除き、自動入力や選択肢として提供されている