空要素 とは HTML、SVG、MathML における 要素 のうち、子ノード (子要素およびテキストノード) を持つことができないものを指します。
HTML、SVG、MathML 仕様は、それぞれの要素が何を含むことができるかを詳細に定義しています。でないと、例えば <hr>
要素を親に持つ <audio>
要素、といった無意味な組み合わせが多数存在してしまいます。
また HTML においては、空要素に対する閉じタグの使用は多くの場合禁じられています。例えば、 <input type="text"></input>
は不正な HTML です。
HTML には以下の空要素が存在します。