スクリプトの代替手段(noscript要素)がありません
米国508条 1194.22(a); WAI/ WCAG1.0 チェックポイント 1.1
 
 
概要

script要素に対応する有効なnoscript要素がありません。

  • noscript要素は、script要素の直後にあるべきです。
  • noscript要素のコンテンツは空ではいけません。あらゆる(X)HTMLタグを含めることが可能です。

米国のリハビリテーション法508条スタンダードでは、すべてのscript要素の直後にnoscript要素があることを要求していないことに注意してください(W3C/WAIのWCAG 1.0では推奨されているテクニックですが)。508条スタンダードでは、Webページがコンテンツを表示したり、インターフェース要素を生成したりするためにスクリプト言語を用いる際は、そのスクリプトにより提供される情報が支援技術で読み上げ可能なテキストでも提供されるべきだとしています。
特に注意が必要で、noscriptタグを用いるとよいスクリプトが2種類あります。

  • ロールオーバー:もし、ユーザーがマウスカーソルをイメージ上で動かしたときに、スクリプトが画面上のイメージを変化させて、そのスクリプトが(スクリーンリーダーで読み上げ可能なテキストで)ページのコンテンツを変化させたことを示していない場合は、そのスクリプトをアクセシブルにすることはできません。
  • キーボードのみで操作できないスクリプト:もし、スクリプトを起動するイベントがキーボード操作に反応しない場合は、そのスクリプトをアクセシブルにすることはできません。
 
 
チェック方法

スクリプトで提供している情報が、支援技術で読み上げ可能なテキストでも提供されているかどうかをチェックしてください。

スクリプトがアクセシブルかどうかをチェックする最も簡単な方法は、スクリプトと画像表示を一時的にオフにしたブラウザでそのWebページを見てみることです(スクリプトおよび画像表示をオフにする方法は、ブラウザのヘルプ文書を参照してください)。
もう一つの方法は、マウスを使わずに(TabキーでWebページ内の要素間を移動して、キーボードだけで操作して)、そのWebページを操作してみることです。こうすることで、インタラクションにおいてスクリプトが実際に果たしている役割を理解することができます。

もし問題があれば、script要素にnoscript要素を付加することを検討して下さい。noscript要素のコンテンツでは、あらゆる(X)HTMLタグを使用することができます。そのコンテンツにより、スクリプトを実行できないユーザーがスクリプトを実行できるユーザーと同等にその機能を利用できるようにしてください。特に、リンクを含めて同じコンテンツおよび同じインタラクションが利用できるようにすべきです。

 
 
解説

script要素に代替テキストを提供できる唯一の手段がnoscript要素です。この要素のコンテンツは、スクリプトが動作しないときにレンダリングされます。

noscript要素を用いることで、コンテンツ制作者はスクリプトが実行されない際の代替コンテンツを提供することができます。noscript要素のコンテンツは、以下に挙げるようなケースで、スクリプトをサポートしているユーザーエージェントにレンダリングされます。

  • ブラウザの設定でスクリプトがオフになっている。
  • ブラウザがそのスクリプト言語をサポートしていない。

スクリーンリーダーと音声ブラウザのユーザーは、Webページのグラフィカルなインターフェースを変化させるスクリプトを利用することはできません。

マウスあるいはジョイスティックを使用していないユーザーは、ウィンドウ、ダイアログ、あるいはメニューを開くスクリプトを利用することはできないでしょう。

スクリプトがブラウザで動作しないケースが他にも多くあることに注意してください。将来はそういったケースがますます増えてきます。例えば、以下のようなことです。

  • スクリプトを実行できないPDAや携帯電話
  • 特定の言語で記述されたスクリプトを実行できない多用なOS(Windows、MacOS、Linux)上のブラウザ。例えば、VBスクリプトはLinuxあるいはPDA上のNetscapeでは動作しないでしょう。
  • セキュリティ上の理由でJavaScriptをオフにしているグラフィカルなブラウザのユーザー