デバイスに依存したイベントハンドラが使用されています
WAI / WCAG 1.0 優先度2 チェックポイント 9.3
 
 
概要

Webページに、デバイスに依存した特定のイベントハンドラを指定している button、input、select、あるいは textarea要素があります(すなわち、特定の入力デバイスで発生するイベントだけに対応しています)。

 
 
修正方法

一般的に、フォームにあるイベントハンドラを以下のように置き換えるのがベストです。

  • input要素(type=submit、type=reset、または、type=image)あるいは button要素では、onClick、onDblClick、onKeyPress、onKeydown、onKeyup、onMousedown、onMouseup といったイベントハンドラを削除して、フォーム全体にわたって、onReset(type=reset の場合)、あるいはonSubmitに置き換える。
  • チェックボックスおよびラジオボタンでは、onClick、onDblClick、onKeyPress、onKeydown、onKeyup、onMousedown、onMouseup といったイベントハンドラを削除して、ラジオボタンあるいはチェックボックスにonChangeを追加する。
  • テキストフィールドでは、onClick、onDblClick、onMousedown、onMouseup といったイベントハンドラをonFocusに置き換える。
  • select要素のリストでは、onClick、onDblClick、onMousedown、onMouseup といったイベントハンドラをonChangeに置き換える。
 
 
解説

Webページが提供するユーザー・インターフェースは、身体障害、認知障害、あるいは技術上の障害の有無に関係なく、誰もが認知できて操作可能でなければなりません。特に、デバイスに依存してはいけません。フォームのあるWebページにおいては、きわめて重要です。

W3C/WAI の WCAG 1.0( &wcag; [&url_wcag10;#device-independent] )で定義されているように、"デバイス非依存" というのは、ユーザーが自分のニーズに応じて選択した入力および出力デバイスを使用して Web サイトを操作できることを指します。入力デバイスには、ポインティング・デバイス(マウスなど)、キーボード、点字入力デバイス、ヘッドセット装置、マイクロホン、その他があります。出力デバイスとしては、モニタ、音声合成装置、および点字ピンディスプレイなどが挙げられます。

"デバイス非依存のサポート" というのは、ブラウザがあらゆる入力あるいは出力デバイスをサポートしなければならないという意味ではありません。ブラウザは、サポートされているデバイスでの入力および出力のメカニズムを特定のデバイスに偏らずに提供すべきだということです。例えば、もし、ブラウザがキーボードおよびマウスの入力をサポートしていれば、ユーザーはキーボードあるいはマウスのどちらを使用してもすべての機能を操作できます。

デバイスに依存しないアクセスというのは、ユーザーがブラウザ、あるいは任意の入力(あるいは、出力)デバイスでドキュメントを操作・入力できるという意味です。例えば、もし、フォームのコントロールが、マウスあるいは他のポインティング・デバイスでしか操作できなかったとしたら、画面を見ずに操作している人、音声認識による入力で操作している人、あるいはキーボードのみで操作している人などは、そのフォームを使用することができません。マウスでしか使用できないそのフォームは、デバイス依存の一例です。

一般的に、キーボードのみによる操作が可能なWebページは、音声認識入力あるいはコマンドライン・インターフェースを用いてもアクセシブルです。