JavaScriptとアクセシビリティ



中根です。

最近、 JavaScriptを使った Webページ作りについてあれこれと試しています。
とは言うものの、私はこれまで Bookmarkletをいじるくらいしか JavaScript
を触ったことがなかったので、いろいろと分からないことがあります。そこで
みなさんに質問です。

1. JavaScriptを使ったページ作成に関して、アクセシビリティを確保するた
   めのガイドラインのようなもので広く用いられているものがあるでしょう
   か。

2. 実際に単純なページを作って JAWS+IEで試してみると、以下の点が特に問
   題になるような印象を受けましたが、他にも注意すべき点があるでしょう
   か。また、以下に挙げる方法よりも良い方法があるでしょうか。 (もちろ
   ん他にも、クリックしたのとはかけ離れた部分が変更されたり、ページの
   内容が大きく変更されたり、クリックした時に何が起こるのか推測しにく
   いようになったりしているのは論外だと思いますが。)

* a要素、もしくは input要素以外の要素で onclickを使った場合、タブでフォー
   カスしないので、以下のいずれかの方法をとるべき。

   a. tabindex="0"を指定する。 (IE, Firefox 1.5で動作するものの、
   Opera, Safariでは未対応、また valid HTMLではない。)

   b. あきらめて aまたは input要素を使う。

* a要素を使う場合、実際にはページの移動が発生しない場合でも、ページの
  移動の際と同じ動作が発生してしまう。 (ので読んでいるユーザはフォーカ
  スが変わってしまって不便。) href属性に 0を返す JavaScriptの関数を指
  定すれば良い。 (ような気がする。)

* 何らかの関数を実行した後に、適切な場所がフォーカスされるようにする。
  (element.focus()を使う。 <a href="#id">...</a>だと、前述のページ移動
  の動作が発生する。)

3. 他のスクリーンリーダーの対応状況はどのようになっているのか、ご存じ
   の方がいらっしゃいましたらお教えください。

4. 基本的に、 JavaScriptが無効の環境でも情報が読める、ということを意識
   する必要があると思いますが、加えて、 JavaScriptは無効だが CSSは有効
   である場合、そのどちらも無効である場合についても配慮が必要だと思い
   ます。そういった部分、それから上に挙げたような点、さらには私がまだ
   気づいていない点に関して考慮されて作られている JavaScript/AJAXライ
   ブラリーというのは存在するでしょうか。

以上、質問ばかりで恐縮ですが、何か情報をお持ちの方がいらっしゃいました
らよろしくお願いします。

中根雅文