reflux flow > HTML/XHTMLリファレンス > HTML/XHTML noscript要素
noscript要素はスクリプトが実行されない場合の代替内容を記述するための要素です。
ブロックレベル要素だけを子要素にすることができます(ただし、HTML4.01 Strictではscript要素を含むことはできません。また、HTML4.01 StrictとXHTML1.1では、一つ以上の要素を含む必要があります)。また、Transitional/Framesetでは普通のテキストとインライン要素も含むことができます。
この要素に固有の属性はありません。
id, class, title, lang(xml:lang), dir, style, xmlns(XHTML1.1のみ)
onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup
noscript要素はスクリプトが実行されない場合の代替内容を記述するための要素です。スクリプトに対応していないか、スクリプトが無効に設定されているブラウザで利用されます。スクリプトが実行されるブラウザでは、要素の内容はレンダリング(描画)されません。
noscript要素の子要素になるのはブロックレベル要素だけです。普通のテキストを直接記述することはできません(Transitional/Framesetでは制約が緩くなっていますが)。そのため、スクリプトの代替内容はブロックレベル単位で記述することになります。
<!-- noscript要素の記述例 -->
<noscript>
<p><!-- このようにブロックレベル要素で記述する。 --></p>
</noscript>
XHTML1.1のDTDでは、noscript要素をインライン要素として記述できるようになっています。しかし、要素の子要素にできるのはブロックレベル要素だけです。そのため、インライン要素の中にブロックレベル要素が入ることになりますが、このような事態は避けるべきでしょう。noscript要素はブロックレベル要素として記述するようにしてください。