アクセシビリティ

W3C WAI の Accessibility Principles と WCAG 2.2 の Understanding Conformance を取得して読み、 理解した内容を自分の言葉で書いたもの。本文の引用はしていない。

公正のためのエンジニアリング「多数派のユースケースを先に作り、エッジケースを後回しにするのを退ける」 という原則があるが、具体的な実践がなかった。ここがその実践。

テストで 「壊れてほしくないもの全部をテストする」対象にアクセシビリティが入っているのも、同じ理由。

このディレクトリ

  • このページ — POUR の4原則、適合レベル、適合の5要件。何を満たすべきか
  • 実装時の検証 — キーボード操作、拡大、リニアライズ。満たしているかをどう確かめるか
  • 国際化 — 文字コード、言語の宣言、文字方向、名前と住所の前提

POUR — 4つの原則

WCAG は4つの原則の下に、ガイドラインと達成基準がぶら下がる構造になっている。

Perceivable(知覚できる)

情報とUIが、利用者に知覚できる形で提示されていること。

画像・アイコン・図などの非テキストコンテンツに代替テキストがある
動画・音声にキャプションと音声解説がある
見出し・リスト・構造が適切にマークアップされていて、提示を変えられる
十分なコントラスト比がある
文字サイズを変えられる
音声を止められる
行間や文字間隔を調整できる

Operable(操作できる)

すべての機能に到達して操作できること。

すべての機能とコントロールがキーボードだけで使える
読んで操作するのに十分な時間がある。動く要素を止められる・調整できる
発作を誘発する点滅パターンを含まない
フォーカスが見える。ページタイトルが内容を表している
目的のコンテンツに辿り着く手段が複数ある
キーボード以外の入力(タッチ、音声、ジェスチャ)にも対応する

キーボードだけで全部使えるかが、実装時に最も早く検証できる指標。

Understandable(理解できる)

内容と操作が理解できること。

言語が指定されている。難解な用語に定義がある。平易な代替がある
繰り返し現れる要素が、一貫した位置と挙動になっている(予測できる)
エラーを防ぎ、起きたときは明確な指示と助けになるフィードバックを返す

「予測できる」はコードの一貫性の話と同じで、 驚かせないことが親切さになる

Robust(頑健である)

現在と将来のブラウザ・支援技術で確実に動くこと。

妥当で適切に構造化されたマークアップ
独自のUIコンポーネントに、名前・役割・値が定義されている

独自コンポーネントを作った時点で、名前と役割と値を自分で与える義務が生じる。 標準の要素を使えば無料で付いてくるものを、手放しているという意識を持つ。

適合レベル

レベル意味
A最低限。すべての A の達成基準を満たす
AAすべての A と AA を満たす
AAAすべての A・AA・AAA を満たす

目標にするのは AA。

AAA をサイト全体のポリシーとして要求することは推奨されていない。 コンテンツによっては AAA の達成基準をすべて満たすことが不可能なため。

宣言したレベルを超えて達成してもよく、上位への進捗を報告してもよい(任意)。

適合の5要件

宣言するときの条件。部分的な適合は認められないのが要点。

要件内容
1. 適合レベルいずれかのレベルを完全に満たす。すべてのコンテンツが適合するか、適合した代替版がある
2. ページ全体ページの一部を除外した適合はできない。 レスポンシブの各表示もそれぞれ独立に適合する必要がある
3. 完全なプロセス複数ページで1つの手続きを構成するなら、そのすべてのページが宣言レベル以上で適合する
4. アクセシビリティ・サポーテッドな方法のみ支援技術に対応した方法だけが達成基準を満たす。対応していない方法には代替が要る
5. 非干渉対応していない・適合していない技術が、ページの内容へのアクセスを妨げてはならない

要件3が実務で効く。 「登録フォームだけ対応した」では、 確認画面と完了画面が対応していなければプロセスとして適合しない。

アクセシビリティ・サポーテッドとは

2つの条件を両方満たすこと。

  1. 支援技術での動作が検証されている — そのコンテンツの言語において、実際に利用者の支援技術で動く
  2. ユーザーエージェントが利用可能である — 次のいずれか
    • HTML や CSS のように、広く配布されたアクセシブルなユーザーエージェントが標準で対応している
    • 広く配布されたアクセシブルなプラグインで対応している
    • 閉じた環境で、組織がアクセシブルなユーザーエージェントを提供している
    • 障害のある利用者にも同価格・同等のアクセシビリティで入手できる

「仕様上は可能」では足りず、実際に動く経路があることが条件。 どの程度の支援技術対応で十分かは文脈依存で、W3C も具体的な線は引いていない。

誰のためか

障害のある人だけではない。 高齢の利用者、モバイルの利用者も同じ恩恵を受ける。

公正のためのエンジニアリングにあった 「利用に余分な困難を抱える人に向けて作られた製品は、結果的に全員にとって良いものになる」 が、ここで具体化されている。

関連する標準

W3C は3つの標準を出していて、対象が違う。

WCAG   Web コンテンツ
UAAG   ユーザーエージェント(ブラウザなど)
ATAG   オーサリングツール

作る側が主に見るのは WCAG。

国際化を隣に置いている理由

どちらも「自分と違う条件で使う人」を前提に置くかどうかの話で、出どころが同じ。

さらに実務上の重なりがあり、lang の宣言は国際化の要件であると同時に、 Understandable の達成基準でもある。詳しくは国際化

関連

2件のページ