キーボードで使えないジャンプメニューがあります
JIS 5.3 a); WCAG 9.2;
 
 
概要

Webページに、他のページを読み込むイベントハンドラOnChangeのあるselect要素によるジャンプメニュー(すなわち、それぞれ異なるページにリンクしている選択肢がリストになったセレクトメニュー)があります。キーボードを使用しているユーザーは、選択肢を選ぶのにリストの中をスクロールすることができません。

 
 
修正/チェック方法

ジャンプメニューをデバイス非依存にするには、以下の4つのステップがあります。

  1. select要素からonChange属性を削除する。
  2. メニューの後にボタン(type="button"のinput要素)を追加する。
  3. そのボタンに、先に削除したonChange属性と同じ内容のonClick属性を追加する。
  4. 最後に、onClick属性と同じ内容のonKeyPress属性を追加する。

Dreamweaverでドキュメントにジャンプメニューを追加したいときは、自動的にメニューの後にボタンを挿入することができます。[ジャンプメニューの挿入]ダイアログで、"メニューの後に移動ボタンを挿入" をチェックしてください。その際、忘れずに select要素のonChange属性を削除して、ボタンにonKeyPress属性を追加してください。

例えば、次のHTMLソースコードは悪い例です。

<form name="select_country">
国を選択:
  <select name="country" onChange="MM_jumpMenu('parent',this,0)">
   <option value="http://www.this_site.com/be" selected>ベルギー</option>
   <option value="http://www.this_site.com/us">アメリカ合衆国</option>
  </select>
</form>

アクセシブルなHTMLソースコード(良い例):

<form name="select_country" action="http://www.this_site.com/jump.cgi">
国を選択:
  <select name="country">
   <option value="http://www.this_site.com/be" selected>ベルギー</option>
   <option value="http://www.this_site.com/us">アメリカ合衆国</option>
  </select>
 <input type="submit" value="選択">
</form>
 
 
修正/チェックのポイント

入力装置は多くの種類があります。特定の入力装置のみに対応したコンテンツを作成すると、他の入力装置の利用者が、操作できないことがあります。

例えば、視覚に障害のある利用者は、マウスポインタの位置を把握することが困難なため、マウスではなく、キーボードだけを使う場合があります。
また、上肢障害や手の震えにより、マウスを操作することが困難な利用者もいます。

  • 一般的なブラウザで、以下のキーボード操作を可能にする。
    • 「上矢印」「下矢印」キーによる画面スクロールを可能にする。
    • 「Tab」キーによるキーボード・フォーカスの移動を可能にする。
    • キーボード・フォーカスの存在するリンクやコマンドは、「Enter」キーを押すまで、実行しない。
  • 特に、次に示す JavaScript は、マウスでの操作を前提にしているため、キーボードでの操作の可否に注意する。
    onClick、onDblClick、onMousedown、onMouseup、onMouseover、onMouseout、onDragDrop、onChange
    (例えば、onMouseoverだけで、メニューを表示する場合、キーボードの利用者は、メニュー内のリンクを選択できないことがある。)
  • プラグインが改善され、キーボードでの操作性が向上する場合がある。
    最新のプラグインをインストールできるように、コンテンツ側で、配慮することが望ましい。

『富士通ウェブ・アクセシビリティ指針 第2.0版』 © 2004 富士通株式会社

 
 
JIS関連項目

5.3 操作及び入力
a)
ウェブコンテンツは,特定の単一のデバイスによる操作に依存せず,少なくともキーボードによってすべての操作が可能でなければならない。
タブキー,エンターキー,矢印キーなどを使って操作ができるようにする。

JIS X 8341-3:2004『高齢者・障害者等配慮設計指針-情報機器における機器,ソフトウェア及びサービス-第三部:ウェブコンテンツ』(© 財団法人 日本規格協会)

 
 
解説

select要素に関連付けられているJavaScriptが原因で、キーボードを使用しているユーザーは選択肢のリストをスクロールすることができません。これは、デバイス非依存ではありません。

JavaScriptは、ユーザーが任意の入力および出力デバイスを使ってWebサイトを操作することができれば、デバイス非依存であるといえます。入力デバイスには、ポインティング・デバイス(マウスなど)、キーボード、点字入力デバイス、ヘッドセット装置、マイクロホン、その他があります。出力デバイスとしては、モニタ、音声合成装置、および点字ピンディスプレイなどが挙げられます。

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

また、ジャンプメニューは、JavaScriptがユーザーのブラウザで実行可能な場合のみ有効であることを覚えておいてください。JavaScriptをサポートしていないブラウザ(例えば、携帯電話やPDAのブラウザ)があり、セキュリティ上の理由からブラウザのJavaScriptを無効にしている企業や団体があります。
noscript要素で、JavaScriptの代替となり同等の役割を果たすコンテンツおよびインタラクション(すなわち、リンクやフォーム)を提供してください。

また、メニューで選択されたURLを処理して、そのページへ移動させるサーバサイドのスクリプトを用いることも検討してください。

 
 
JIS X 8341-3について

JIS X 8341-3 の内容は、以下のサイトにて規格番号「X8341-3」で検索して、規格票をご覧ください。

  • 閲覧:日本工業標準調査会(JISC)
    http://www.jisc.go.jp/
  • 購入:日本規格協会(JSA Web Store)
    http://www.webstore.jsa.or.jp/