音声ブラウザは、JavaScriptに対し、完全には対応していません。 (全く対応していないソフトもあります。)
したがって、JavaScriptを使って画面に表示されたテキスト文なども、読み上げられないケースが多くあります。
よく「お知らせ」などを、JavaScriptを使ったテキスト・スクロールなどで表示している例を見かけますが、音声化した場合、その部分は読み飛ばされたり、おかしな読み上げ方をされたりしてしまいます。
ですから、重要な情報を通知する場合などは、なるべく通常のテキスト文で表示しておいた方が良いでしょう。
ビジュアル的効果の点で、JavaScriptを使用せざるを得ない場合は、以下に挙げるような代替手段を検討して下さい。
単純に、JavaScriptで表示した内容と同じものを、テキスト文でも記載しておくという方法。
ビジュアル的には、やはりくどい印象を与えかねませんが、背景色と文字色を同じにしておくことで、カモフラージュすることは可能です。(あまり良い方法ではありませんが。)
<NOSCRIPT>要素とは、スクリプトに対応していないブラウザ、またはスクリプト機能をオフにしているブラウザのための代替要素です。 フレームを使用したページにおける<NOFRAMES>要素と、考え方は同じです。
現在のIEやNetscapeなど スクリプトに対応しているブラウザ上では、この要素内に記述された情報は表示されません。 ただし、ホームページ・リーダー(v2.5)等は、<NOSCRIPT>要素内に記述された内容を、しっかり読み上げてくれます。
具体的な使い方としては、<SCRIPT>要素によってJavaScriptの実行命令を記述したあとに、<NOSCRIPT>要素を用いて、実際に画面に表示されているメッセージ(スクリプトの実行結果に相当する部分)を記述しておくという方法が考えられます。
こちらに用意したサンプルは、JavaScriptのみで構成されています。
本来ならば、利用者にとって「空白のページ」となるはずですが、<NOSCRIPT>要素を併用してあるので、音声でも画面に表示された内容を確認することが出来ます。
<SCRIPT type="text/javascript">
<!--
(スクリプトの実行命令)
// -->
</SCRIPT>
<NOSCRIPT>
<P>このページは、JavaScriptを使用しています。<BR>
内容は以下の通りです。<BR>
「(画面に表示されている内容)」
※必要に応じて、リンクの設定などもしておく。</P>
</NOSCRIPT>
テキストの表示以外にも、ボタンやウィンドウ操作など、JavaScriptは様々な表現手段の中で使われることが多くなりました。 しかし、前述したように「JavaScriptは無視されることが多い」という点に変わりはありません。
例えば、よく見かけるこのようなボタンも JavaScriptを利用していることがあります。
このボタンは、表示自体は <INPUT>要素を用いていますが、押したあとの処理をJavaScriptで定義しています。
そのため、利用者は「ボタンがあるらしい・・・」ということは認識出来ても、それを「押す」という行為にたどり着くのは極めて困難な場合があります。
とはいえ、今やJavaScriptなしにWebページは語れないと言っても良いくらい、日常的な技術として普及しました。
そしてそのことが、音声ブラウザを利用している方々にとって、大きな「壁」となっていることもまた事実です。