noscript要素

noscript要素(alternate content container for non script-based rendering)はスクリプトに対応していない、またはスクリプトの設定がオフになっているなど、スクリプトの実行が不可能な環境の場合の代替内容を指定します。装飾目的で使用しているようなスクリプトならば、特に代替内容を用意しなくても問題はないでしょうが、スクリプトで重要な役割を提供している場合は、必ずそのスクリプトの表現している情報の代替となる内容を noscript要素で提供しましょう(内容を生成するスクリプトを使っている場合など)。HTML4.01 strict, XHTML1.0 strict, XHTML1.1 ではテキストやインライン要素を noscript要素の直下に置くことができません。必ず、直接の子要素には p要素div要素などのブロックレベル要素を内容にしなければなりません。スクリプトの実行が可能な UA であれば noscript要素の内容を無視します。

スクリプト言語には、主に JavaScript が使用されています。JavaScript というと JavaScript の標準規格であるECMA が策定した ECMAScript のことを指します。そして、ECMAScript に Microsoft社が自社技術を追加して拡張した Windowsスクリプト言語に JScriptや 、またMicrosoft社が同社のブラウザである Internet Explorer 上でのみ動作する独自開発言語に VBScript などがあります。

たとえば、JavaScript用の代替内容と VBScript用の代替内容の2つを記述している場合、Internet Explorer 以外の VBScript に対応していない環境では、VBScript用の代替内容を表示するべきなのですが、現状の UA ではスクリプト言語の種類まで分別することはできておらず、一方の言語をサポートしても、もう一方の言語をサポートしていなければ、どちらの代替内容も表示してしまいます。

なお、(X)HTML文書内にスクリプトを組み込むには script要素を使います。

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
要素型
ブロックレベル要素
開始タグ
必須
終了タグ
必須
非推奨
-
内容モデル

noscript要素の属性

共通属性
イベント属性
Updated / Published