【注意】この文書にはより新しいバージョンが存在します: WCAG 2.1 達成方法集
この達成方法 (参考) の使用法と、この達成方法が WCAG 2.0 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.0 を満たすコンテンツを作成するために使用できることを意味するものではない。
アクセシビリティ API と連動するようにプログラムされた標準のコンポーネントがあるプログラミング技術
これは、次の達成基準に関連する達成方法である:
この達成方法の目的は、支援技術がウェブコンテンツを理解し、代替のユーザインタフェースを介して、利用者に等価の情報を伝えられるようにすることである。
コンテンツのなかには、マークアップ言語ではなく、プログラミング言語又はツールを用いて制作されているものがある。これらのウェブコンテンツ技術には、多くの場合、あらかじめプログラムされたインターフェースコンポーネントがあって、アクセシビリティ API とのインタフェースとなる。コンテンツ制作者がこれらのコンポーネントを使ってプロパティ (名前 (name) など) を埋めると、その結果として生成されるコンテンツのユーザインタフェースコンポーネントは、支援技術にとってアクセシブルなものとなる。
しかし、コンテンツ制作者が新しいユーザインタフェースコンポーネントを作成したいと考え、標準のコンポーネントを使うことができない場合は、自分でアクセシビリティ機能を確実に追加し、アクセシビリティ API と互換性があるように実装する必要がある。
そういったカスタムコンポーネントでは、完成後、アクセシビリティ サポーテッドの検証を行うべきである。
あるウェブページでは、アプレットを作成するために Java が使われている。コンテンツ制作者のグループは、まったく新しいタイプのインターフェースコンポーネントを作成したいと考えているため、既存の Java オブジェクトを使うことができない。Java の swing クラスはさまざまなアクセシビリティ API に接続するための規定がすでにあるため、コンテンツ制作者は、コンポーネントを作成するために Java の swing クラスを使用している。Java の swing クラスを使用することで、名前 (name) 及び役割 (role) を公開する、支援技術によって設定される、並びに支援技術に全ての更新に通知を出すインタフェースコンポーネントを作成できる。
C++ プログラミング言語で書かれたオリジナルの Active X コントロールが、ウェブページで使われている。このコントロールは、受け入れコマンドについての情報を公開するために、Microsoft Active Accessibility (MSAA) API を明示的にサポートするように書かれている。その後、このコントロールは、MSAA をサポートするシステム上のユーザエージェントを動作させている支援技術と直接情報のやりとりをする。
アクセシブルなユーザエージェントを用いてコンテンツをレンダリングする。
各ユーザインタフェースコンポーネントを検証するために、ユーザエージェントのアクセシビリティ API 用に設計されたアクセシビリティツールを使用する。
各ユーザインタフェースコンポーネントに対する名前 (name) 及び役割 (role) が、ツールによって検出されることを確認する。
コンポーネントの値を変更する。
アクセシビリティツールにその変更が通知されることを確認する。
コンポーネントが支援技術で動作することを確認する。
各ユーザインタフェースコンポーネントに対して、3、5 及び 6 の結果が真である。
この達成方法が「十分な達成方法」の一つである場合、この手順や期待される結果を満たしていなければ、それはこの達成方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の達成方法によってその達成基準が満たされていることもありうる。