意図
この達成基準の意図は、データ入力又はフォームコントロールの選択の結果を予測可能にすることである。ユーザインタフェース要素の設定を変更すると、コントロールの状態を変化させ、その状態は利用者がそのユーザインタフェース要素とのやりとりを終了した後も持続する。つまり、チェックボックスを選択する、テキストフィールドにテキストを入力する、又はリストコントロールのオプションを選択すると、コンポーネントの設定を変更するが、リンク又はボタンを動作させるときはそうはならない。コンテキストの変化は、その変化を知覚しづらい利用者、又は変化によって気を取られやすい利用者を混乱させてしまう恐れがある。コンテキストの変化が起こってもよいのは、そのような変化が利用者の操作に反応して起こることが明らかなときだけである。
この達成基準は、コントロールの設定を変更することによるコンテキストの変化をカバーする。リンク又はタブ コントロール内のタブのクリックすると、コントロールの設定を変更せずに、コントロールがアクティブになる。
ここでの「コンポーネント」及び「ユーザインタフェース コンポーネント」は、「ユーザインタフェース要素」とも呼ばれる。
メリット
- この達成基準は、インタラクティブなコンテンツを、より予測可能にすることによって、障害のある利用者に役立つ。予期しないコンテキストの変化によって、視覚障害又は認知的限界のある利用者はとても混乱してしまう可能性があり、コンテンツを利用できなくなる。
コンテキストの変化に気づくことができない人は、サイトをナビゲートしている間に混乱した状態になりにくい。例えば:
- 全盲又はロービジョンの人は、新しいウィンドウがポップアップするなど、視覚的なコンテキストの変化が発生したことを知るのが困難なことがある。この場合、前もって利用者にコンテキストの変化が起こることを知らせておくと、利用者が「戻る」ボタンがいつものように動作しないことに気づいたときの混乱を最小限に抑えることができる。
- ロービジョン、読字及び知的障害のある人、そして視覚的な手がかりの解釈が困難な人は、コンテキストの変化を知るために、追加の手がかりから得るだろう。
事例
- フォームは、ウェブベースのカレンダー及びスケジュール管理アプリケーションに、カレンダーのエントリーを作成するために提供されている。件名、時刻、場所の標準的なフィールドに加えて、作成するカレンダーのエントリーの種類を選択するラジオボタン一式がある。カレンダーのエントリの種類は、会議、アポイントメント又はリマインダにできる。利用者が会議のラジオボタンを選択すると、会議の参加者を入力する追加のフィールドがページに表示される。リマインダのボタンを選択した場合、異なるフィールドが表示される。エントリーの一部だけが変化し、全体の構造は変化しないため、その利用者に基本的なコンテキストは残っている。
- フォームは、米国の電話番号を表すフィールドを含んでいる。すべての電話番号には、3 桁のエリアコード (市外局番) があり、続いて 3 桁の局番、最後に 4 桁の番号があり、それぞれの番号は別々のフィールドに入力される。利用者があるフィールドの入力を完了すると、フォーカスは自動的に電話番号の次のフィールドへ移動する。この電話フィールドのふるまいは、フォームの先頭で利用者に対して説明されている。
達成方法
この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、WCAG 達成基準の達成方法を理解するの「その他の達成方法」を参照のこと。
十分な達成方法
以下に挙げる技術特有の手法を用いて G80: コンテキストの変化を開始する送信ボタンを提供する
- G13: コンテキストの変化を引き起こすフォームコントロールへの変更が行われる前に、何が起こるのかを説明する
- SCR19: select 要素の onchange イベントは、コンテキストの変化を引き起こすことのないように使用する
コンテンツの変化が、必ずコンテキストの変化になるとはかぎらない。コンテンツの変化がコンテキストの変化ではない場合、この達成基準は自動的に満たされていることになる。
参考達成方法
適合のために必須ではないが、コンテンツをよりアクセシブルにするために、次の追加の達成方法を検討することが望ましい。ただし、すべての状況において、すべての達成方法が使用可能、又は効果的であるとは限らない。
失敗例
以下に挙げるものは、WCAG ワーキンググループが達成基準の失敗例とみなした、よくある間違いである。
重要な用語
障害のある利用者の要件を満たすために、主流のユーザエージェントが提供する機能を超えた機能を提供するような、ユーザエージェントとして動作する、又は主流のユーザエージェントと共に動作するハードウェア及び/又はソフトウェア。
支援技術が提供する機能としては、代替の提示 (例: 合成音声や拡大表示したコンテンツ)、代替入力手法 (例: 音声認識)、付加的なナビゲーション又は位置確認のメカニズム、及びコンテンツ変換 (例: テーブルをよりアクセシブルにするもの) などを挙げることができる。
支援技術は、API を利用、監視することで、主流のユーザエージェントとデータやメッセージのやりとりをすることが多い。
主流のユーザエージェントと支援技術との区別は、絶対的なものではない。多くの主流のユーザエージェントは、障害のある個人を支援する機能を提供している。基本的な差異は、主流のユーザエージェントが障害のある人もない人も含めて、広く多様な利用者を対象にしているのに対し、支援技術は、特定の障害のある利用者という、より狭く限られた人たちを対象にしているということである。支援技術により提供される支援は、対象とする利用者に特化した、よりニーズに適したものである。主流のユーザエージェントは、プログラムオブジェクトからのウェブコンテンツの抽出、マークアップの識別可能な構造への解釈といった、重要な機能を支援技術に対して提供する場合がある。
この文書の文脈において重要な支援技術としては、以下のものが挙げられる:
- 画面拡大ソフト及びその他の視覚的な表示に関する支援技術。視覚障害、知覚障害、及び読書困難などの障害のある人が、レンダリング後のテキスト及び画像の視覚的な読みやすさを改善するために、テキストのフォント、サイズ、間隔、色、音声との同期などを変更するのに使用している。
- スクリーンリーダー。全盲の人がテキスト情報を合成音声あるいは点字で読み取るために使用している。
- 音声変換ソフトウェア。認知障害、言語障害、及び学習障害のある人が、テキストを合成音声に変換するために使用している。
- 音声認識ソフトウェア。何らかの身体障害のある利用者が使用することがある。
- 代替キーボード。特定の身体障害のある人がキーボード操作をシミュレートするのに使用している (ヘッドポインタ、シングルスイッチ、呼気・吸気スイッチ、及びその他の特別な入力デバイスを使った代替キーボードを含む)。
- 代替ポインティングデバイス。特定の身体障害のある人がマウスポインタとボタンの動きをシミュレートするのに使用している。
大きな変化で、利用者が気づかないと、ウェブページ全体を一度に見ることのできない利用者を混乱させる恐れのあるもの。
コンテキストの変化には次に挙げるものの変化が含まれる:
コンテンツの変化が、必ずコンテキストの変化になるとはかぎらない。アウトラインの展開、動的なメニュー、又はタブの切替などのコンテンツの変化は、それが上記のいずれか (例: フォーカス) を変更しないかぎり、状況を変化させるとは限らない。
新しいウィンドウを開くこと、フォーカスを異なるコンポーネントへ移動させること、新しいウェブページへ移動すること (新しいウェブページへ移動したかのように思わせてしまうことも含む)、又はウェブページの内容を大きく再配置することなどは、コンテキストの変化の事例である。
コンテンツの構造、提示、及びインタラクションを定義するコード又はマークアップも含めて、ユーザエージェントによって利用者に伝達される情報及び感覚的な体験。
利用者が知覚できる形式でコンテンツをレンダリングすること。
ウェブコンテンツを取得して利用者に提示するあらゆるソフトウェア。
ウェブコンテンツの取得、レンダリング及びインタラクションを支援する、ウェブブラウザ、メディアプレーヤ、プラグイン、及びその他のプログラム (支援技術も含む)。
コンテンツの一部分で、特定の機能を実現するための単一のコントロールとして利用者が知覚するもの。
複数のユーザインタフェース コンポーネントが、単一のプログラム要素で実装されることもある。ここでいう「コンポーネント」は、プログラムの手法と結びついたものではなく、利用者が別々のコントロールとして知覚するものを指す。
ユーザインタフェース コンポーネントには、フォーム要素、リンクだけでなく、スクリプトで生成されるコンポーネントが含まれる。
ここでの「コンポーネント」又は「ユーザインタフェース コンポーネント」は、「ユーザインタフェース要素」とも呼ばれる。
アプレットには、コンテンツ内を行単位、ページ単位、又はランダムアクセスで移動するために用いられる「コントロール」がある。これらには、いずれも名前 (name) を割り当て、個別に設定できるようにする必要があるため、それぞれが「ユーザインタフェース コンポーネント」となる。
ユーザエージェントがコンテンツを提示するオブジェクト。
ユーザエージェントは、一つ以上のビューポートでコンテンツを提示する。ビューポートには、ウィンドウ、フレーム、スピーカー、拡大鏡ソフトなどがある。ビューポートは、他のビューポートを含んでいることがある (例えば、入れ子のフレーム)。プロンプト、メニュー、アラートのように、ユーザエージェントが作成するインタフェース コンポーネントは、ビューポートではない。
この定義は、User Agent Accessibility Guidelines 1.0 Glossary [UAAG10] をもとにしている。
単一の URI から HTTP で得た埋め込まれていないリソースに加え、レンダリングに使われる、又はユーザエージェントがこのリソースと一緒にレンダリングすることを意図しているその他のあらゆるリソースを合わせたもの。
どのような「その他のリソース」も主たるリソースと一緒にレンダリングされるであろうが、これらのリソースが同時にレンダリングされるとは限らない。
このガイドラインの適合範囲に含まれる対象となるウェブページとみなされるためには、リソースが「埋め込まれていない」リソースでなければならない。
すべての埋め込まれている画像とメディアを含んだウェブリソース。
Asynchronous JavaScript and XML (AJAX) を用いたウェブメールのプログラム。そのプログラム全体は http://example.com/mailに存在しているが、受信箱、アドレス帳、カレンダーがある。リンク又はボタンがあり、それを押すと受信箱、アドレス帳やカレンダーを表示するが、ページのURI は全体を通して変わらない。
カスタマイズ可能なポータルサイトで、利用者が様々なコンテンツモジュールのセットから表示させるコンテンツを選択できるようなもの。
ブラウザで"http://shopping.example.com/"へ行くと、映画のようなインタラクティブなショッピング環境になる。そこでは、視覚的に店内を移動して、店内の棚から商品をドラッグして、目の前にある視覚的な買物カゴに商品を入れる。商品をクリックすると、同時に仕様書が浮き上がるように表示される。これは1ページだけのウェブサイトかもしれないし、ウェブサイトの中のほんの1ページなのかもしれない。