列挙属性 - 指定できる値が決まっている属性

列挙属性(Enumerated Attribute)とは、指定できる値があらかじめ、列挙されている属性のことです。用意された以外の任意の値を指定することはできません。例えば、フォームのtype属性がそうです。値は大文字、小文字が区別されません。列挙属性には、列挙外の値が指定された時の「デフォルトの状態」が設定されています。また、列挙属性には「ブラウザがそれに応じて処理をする」という性質を持っていて、例えば、meta要素のname属性は、ブラウザに影響を与えないため、列挙属性とは呼びません。

説明

列挙属性の例として分かりやすいのは、フォームにおけるtype属性です。この値には、texturlradiocheckboxなど、あらかじめ列挙されている値しか指定できませんよね。

HTML

<p><input type="text" value="SYNCER"></p>
<p><input type="url" value="http://"></p>
<p><input type="radio">SYNCER</p>
<p><input type="checkbox">SYNCER</p>

SYNCER

SYNCER

大文字、小文字の区別がない

列挙された値(キーワード)の一致すれば、小文字でも大文字でも、どちらでも文法違反ではありません。

HTML

<p><input type="TEXT" value="SYNCER"></p>
<p><input type="URL" value="http://"></p>
<p><input type="RADIO">SYNCER</p>
<p><input type="CHECKBOX">SYNCER</p>

SYNCER

SYNCER

デフォルトの状態

列挙属性には、空の値や、列挙された以外の値を指定した時の「デフォルトの状態」が設定されています。。例えば、下記はtype属性の値に、空の値と、列挙されていない滅茶苦茶な値を指定した例です。いずれも、デフォルトの状態として、textが指定された時と同じ、テキストフォームになるはずです。

HTML

<!-- 空の値 -->
<p><input type="" value="SYNCER"></p>

<!-- 列挙されていない値 -->
<p><input type="hoge" value="SYNCER"></p>

参考情報