名前 (name) ・役割 (role) 及び値 (value)

解説

利用者の操作対象になるような要素は、名前、役割、値を持っている場合、プログラムが解釈できる必要があります。

値(value)の取得、変更などを、さまざまなユーザエージェントで可能にしてください。たとえば<a>によるリンク文字列は、プログラムで解釈可能です。フォームで入力欄を<textarea>にすれば、その値(value)は取得も変更もできます。<label>でラベルをマークアップすれば、入力欄についての説明をプログラムにより解釈可能になります。

普通にHTMLで要素を記述している場合、ここが問題になることは少ないです。しかし普通にHTMLを記述していても、<span>などがフォーカスを受け取って、JavaScriptなどで、コンテンツになんらかの変化をもたらすような実装をしている場合は要注意です。

原則 堅牢性 コンテンツは、支援技術を含む様々なユーザエージェントが確実に解釈できるように十分に堅牢 (robust) でなければならない。
ガイドライン 互換性 現在及び将来の、支援技術を含むユーザエージェントとの互換性を最大化すること。
達成基準 名前 (name) ・役割 (role) 及び値 (value)
(4.1.2 A)
すべてのユーザインタフェース コンポーネント (フォームを構成する要素、リンク、スクリプトが生成するコンポーネントなど) では、名前 (name) 及び役割 (role) は、プログラムによる解釈が可能である。又、状態、プロパティ、利用者が設定可能な値はプログラムによる設定が可能である。そして、支援技術を含むユーザエージェントが、これらの項目に対する変更通知を利用できる。

達成方法集のURL