<noscript>の使い方

ひさしぶりにhtmlを書いてて思ったのでメモ

<noscript>の使い方のダメな例

タグリファレンスによく載ってる典型的なダメな例(笑)

<script>
// きっと、エラーまみれのロクにデバッグされてないscriptがずらずらと書いてある
// ひょっとしてコピペの繰り返しで、何やってるのかよくわかってないんじゃない?
</script>
<noscript>このページはJavaScriptを使用しています</noscript>

え?なんでダメかって?
noscript はスクリプトに対応していない環境のために代替となる内容を表示するための要素だからですよ。
「このページはJavaScriptを使用しています」
じゃ、代替にならないじゃないですか(笑)

<noscript>の正しい使い方の例

selectリストでページの表示内容を切り替えることができるgetメソッドを使用したformの中で考えてみよう

<select … onchange=”submit();”>
<options>…</options>…
</select>
<noscript>
<input type=”submit” value=”表示を切り替える” />
</noscript>

<script>に対応する形にはならなかったけど、自動的にsubmitするjavascriptの力に対して、見事に代替機能になってるでしょ?

おまけ

scriptが動かないブラウザのために、noscriptの中で代替となる同等の機能を用意するか、別の手段を用意するべきです。
もし、scriptが動かなくてもアクセシビリティに支障がないのなら、noscriptは用意する必要がないでしょう。

関連記事