順序が変だと思われる方へ。この文書は W3C の勧告する HTML 4.01 Strict DTD の順序を元に記述されています。この他にも ISO や JIS が出しているバージョンもあります。(微妙な差異があります)
基本的に Strict DTD 前提として記述してありますので、Transitional DTD では定義されている要素が無い場合があります。(なお、XHTML 1.1 では Strict DTD や Transitional DTD という概念はありません。基本的に独自拡張可能な XHTML 1.0 Strict だと思えば余り差はありません)
ここのリストに抜けている要素名や、記述内容の誤りなどがありましたら、メールでお知らせいただけると助かります。
2001/ 5/31 に勧告となった XHTML 1.1 へ対応しました。
なお、用語を知っている事を前提に書いていたりします。文法はそれ以前の問題で、合っていて当り前として書いています。とりあえず、書いたら HTML Validator などを利用してチェックしておくと良いでしょう。
目次
要素説明の読み方
HTML/XHTML での要素の一覧が書かれていますが、以下のような順序で記述されます。
要素名
XHTML 1.1 での内容と属性
HTML 4/XHTML 1.0 での内容と属性
要素と属性の説明
主要な差異
HTML 4、XHTML 1.0、XHTML 1.1 での主要な違いです。
- HTML 4
-
HTML 3.2 以前と比べて以下のような点が変更されました。
用途に応じた DTD が 3 つ定義されました。
使用できる charset に日本語コードが範囲に入りました (旧バージョンでは HTML 2.x 以外では利用可能文字コードに明記されていませんでした)。
WWW ブラウザによって独自実装されていた一部要素が仕様に盛り込まれました。
フレームが正式採用になりました。→ Frameset DTD
インラインレベル (テキストレベル)、ブロックレベル要素が明確にされ、文書構造を重要視するようになりました。
将来的に削除される可能性を明確にし、非推奨の要素/属性が明確にされました。
- XHTML 1.0
-
HTML の後継として正式に勧告され、XML パーサなどでも HTML 文書を解釈できるようになりました。なお、基本的には XML の書式に合わせて HTML 4.01 を書き換えただけのものです。
HTML 4 と比べて、以下のような点が変更されました。
XML に合わせて大幅に書き方が変更されました。
要素名、属性名が全て小文字で定義されました。大文字で書くことはできません。
- XHTML 1.1
-
XHTML 1.0 をより進化させ、モジュール化 XHTML (Modularization of XHTML) [XHTMLMOD] によって書き直されました。これにより、XHTML の目的として挙げられていたユーザが任意に拡張可能となりました。
XHTML 1.0 と比べて、主に以下のような点が変更されました。要素毎の詳しい差異は、要素一覧の該当項目をご覧ください。
Transitional DTD や Frameset DTD は破棄され、Strict DTD のみをベースとしました。同時に、非推奨 (Deprecated) とされていた要素と属性がついに取り除かれました。
ルビ仕様が盛り込まれ、文章にルビを振る事が出来るようになりました。(使い方はルビ振りモジュールについてを参照してください)
style 属性が非推奨 (Deprecated) となりました。スタイル指定を XHTML 文書へ直接記述せず、外部スタイルシートを利用するようにしてください。
なお、XHTML 1.0 Transitional DTD/Frameset DTD にしか無かった要素や非推奨とされていた要素を利用したい場合は、新たにモジュールを組み込んで指定する事で利用可能です。
DOCTYPE 宣言 / Document Type Declaration
HTML は SGML アプリケーションである、ということから、文書の先頭には DOCTYPE 宣言を行う必要があります。以下に、その例を挙げます。なお、XHTML は HTML を XML で表現できるように再定義したため、XML の宣言に従う必要があります。
- XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
文章マークアップ / Text Markup
文字スタイル要素 / Font style elements
- tt
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
テレタイプ、もしくはモノスペーステキストとして表示されることを期待します。簡単に言えば、固定幅フォントでの描画を期待します。
- i
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
イタリック体で描画されることを期待します。
- b
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
ボールド体で描画されることを期待します。
- big
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
一段階大きなフォントで描画されることを期待します。
- small
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
一段階小さなフォントで描画されることを期待します。
下付き文字、上付き文字 / Subscript, Superscript
- sub
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
下付き文字として描画されることを期待します。
- sup
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
上付き文字として描画されることを期待します。
汎用言語/スタイルコンテナ / Generic language/style container
- span
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
インラインレベル用の、汎用スタイルコンテナです。HTML で定義されていない論理的な意味などを文書の一部に付与したいときなどに利用します。
Acronym, abbreviated form
- acronym
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
短縮された頭字語から意味が発生している語を示します。例えば NATO などです。
- abbr
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
acronym 要素には当てはまらない略語を示します。例えばパソコンなどです。
論理的意味付け要素 / Phrase elements
ほとんどがコンピュータに関係するもので、普通は強調などしか使わないのではないでしょうか。
- samp
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
プログラムやスクリプトなどからのサンプル出力を示します。
- cite
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
他のソースから参照したり引用した部分を示します。
- strong
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
激しい強調を示します。
- em
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
強調を示します。
- var
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
変数の実体を示します。
- dfn
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
閉じられた用語の中で定義された実体を示します。
- code
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
コンピュータコードの一部を示します。
- kbd
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
ユーザがキーボードから入力するテキストを示します。
ルビ振りモジュール / Ruby Annotation Module
このような感じで利用します。
サンプルコード 1 (複雑なルビマークアップ):
<ruby xml:lang="ja">
<rbc>
<rb>近</rb>
<rb>藤</rb>
<rb>和</rb>
<rb>宏</rb>
</rbc>
<rtc class="reading">
<rt>こん</rt>
<rt>どう</rt>
<rt>かず</rt>
<rt>ひろ</rt>
</rtc>
<rtc class="title">
<rt rbspan="4" xml:lang="en">Site manager</rt>
</rtc>
</ruby>
実際例:
サンプル 2 (単純なルビマークアップ):
<ruby xml:lang="ja">
<rb>近藤和宏</rb>
<rp>(</rp>
<rt>こんどうかずひろ</rt>
<rp>)</rp>
</ruby>
実際例:
- ruby
-
( %Ruby.content.simple; %Ruby.content.complex; ) / %Ruby.common.attrib;
-
ruby 要素はルビを振るインライン (もしくはテキストレベル) 要素です。この要素は rb, rt 要素を、そして選択的に rp 要素 (単純なルビマークアップ) や rbc や rtc 要素 (複雑なルビマークアップ) を格納できます。
単純なルビマークアップの場合、ruby 要素は rb 要素に続けて rt 要素、または rb 要素に続けて rp 要素、rt 要素、rp 要素を連続で格納します。
複雑なルビマークアップの場合、rbc 要素に続けて rtc 要素を 1 つ、もしくは 2 つ格納できます。各 rtc 要素の副要素の内容は、ルビテキストを持ち、rbc 要素と基本テキストを結びつけます。
ruby 要素は共通の属性のみを持ちます。共通属性として持っている物は、例えば id 属性、class 属性、xml:lang 属性などです。共通属性はルビマークアップが使用されるマークアップ言語に依存します。例えば、XHTML 1.1 の場合にはモジュール化 XHTML (Modularization of XHTML) の 5.1 節で定義されています。
- rbc
-
( %rb.qname; )+ / %Ruby.common.attrib;
-
rbc (ルビ基本コンテナ / ruby base container) 要素は複雑なルビマークアップの際に rb 要素へのコンテナを提供します。ruby 要素内には 1 つだけの rbc 要素が現れます。
- rtc
-
( %rt.qname; )+ / %Ruby.common.attrib;
-
rtc (ルビテキストコンテナ / ruby text container) 要素は複雑なルビマークアップの際に rt 要素へのコンテナを提供します。ruby 要素内には 1 つだけの rtc 要素が現れます。
- rb
-
rb (ルビ基本 / ruby base) 要素は基本となるテキストへのマークアップを提供します。単純なルビマークアップでは、1 つだけの rb 要素が現れます。複雑なルビマークアップでは rbc 要素の中に複数の rb 要素が現れる事が出来ます。rb 要素は対応する rt 要素と関連付けられ、ルビ表現が綺麗に揃うように制御されます。
rb 要素はインライン要素や、これに格納された文字データを格納する事ができますが、ruby 要素を格納する事は出来ません。
- rt
-
%NoRuby.content; / %Ruby.common.attrib;, rbspan = %Number.datatype; 1
-
rt 要素はルビテキストをマークアップします。単純なルビマークアップでは、rt 要素は一つだけ現れます。複雑なルビマークアップの場合、rtc 要素の中に複数の rt 要素が現れる事ができ、それぞれの rt 要素は関連するベーステキストへのルビテキストを格納し、対応する rb 要素に応じて描画されます。
rt 要素はインライン要素や、これに格納された文字データを格納する事ができますが、ruby 要素を格納する事は出来ません。
rt 要素は共通属性と rbspan 属性を持ちます。複雑なルビマークアップの場合、rbspan 属性は rt 要素に対応する rb 要素の個数を指定します。この値はが 0 より大きい値を指定してください。この属性の値が指定されなかった場合には 1 がセットされます。rbspan 属性は単純なルビマークアップの場合には利用されません。また、ユーザエージェントは単純なルビマークアップの場合には rbspan 属性を無視してください。
- rp
-
( #PCDATA ) / %Ruby.common.attrib;,
-
rp 要素は、単純なルビマークアップの場合にユーザエージェントがベーステキストとルビテキストを区別して表現できない場合に、特定の文字によってルビテキストの開始と終了する位置を明示する事が出来ます。
なお、複雑なルビマークアップの場合にはこの要素を利用する事が出来ませんが、その場合には CSS2 や XML スタイルシートを利用する事で同等の表現を得る事が可能です。
国際化用描画方向指定 / I18N BiDi over-ride
- bdo
-
( #PCDATA | %Inline.mix; / %Core.attrib;, xml:lang = %LanguageCode.datatype;, dir = (ltr | rtl)
%inline; / %coreattrs;, lang = %LanguageCode;, dir = (ltr | rtl)
文字の基本的な描画方向を上書き指定します。左右方向のみの指定だけで上下方向はありませんので、縦書きなどの指定は出来ません。
強制改行 / forced line break element
- br
-
EMPTY / %Common.attrib;
EMPTY / %coreattrs;
強制的に改行を行ないます。ただし、論理的な意味を考慮した場合、「改行」という意味よりも「段落」で改行を考えたほうが良いでしょう。
文書本体 / Document Body
- body
-
( %Block.mix; )+ / %Common.attrib; onload = %Script.datatype;, onunload = %Script.datatype;
%block;, script+, +(ins|del) / %attrs;, onload = %Script;, onunload = %Script;
HTML 文書の本体部分となる要素です。ここには直接インラインレベルの要素を置くことは出来ません。
- onload
文書が読み込まれたときに呼び出されるスクリプトを指定します。
- onunload
文書から離れたときに呼び出されるスクリプトを指定します。
- address
-
( %Inline.mix; )+ / %Common.attrib;
連絡先など、HTML 文書著者のアドレス情報を記述します。ブロックレベルの要素は置くことは出来ません。(従って、p 要素などを置かずに文章を記述することになります)
- div
-
( #PCDATA | %Flow.mix; )+ / %Common.attrib;
節や項など、まとまった文章のかたまりをまとめるための要素です。
アンカー要素 / Anchor Element
- a
-
( #PCDATA | %InlNoAnchor.mix; )+ / %Common.attrib;, href = %URI.datatype;, charset = %Charset.datatype;, type = %ContentType.datatype;, hreflang = %LanguageCode.datatype;, rel = %LinkTypes.datatype;, rev = %LinkTypes.datatype;, accesskey = %Character.datatype;, tabindex = %Number.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
%inline; / %attrs;, charset = %Charset;, type = %ContentType;, name = CDATA, href = %URI;, hreflang = %LanguageCode;, rel = %LinkTypes;, rev = %LinkTypes;, accesskey = %Character;, shape = %Shape; rect, coords = %Coords;, tabindex = NUMBER, onfocus = %Script;, onblur = %Script;
-
HTML の中核となるハイパーリンクを利用するための要素です。インライン要素しか含むことは出来ません。
name 属性は削除されました。今後は ID 属性を使ってください。
- charset
参照先リソースで利用されている文字集合を指定します。
- type
参照先リソースの内容形式を指定します。
- name
-
要素に名前をつける場合に指定します。ハイパーリンクの参照先として URI の最後に名前を指定したりする場合には、id 属性の利用が推奨されます。
name 属性は消去されました。id 属性を利用してください。
- href
参照先リソースの URI を指定します。
- hreflang
参照先リソースで利用されている言語のコードを指定します。
- rel
当該リソースから見て、参照先リソースの関係を指定します。
- rev
参照先リソースから見て、当該リソースの関係を指定します。
- accesskey
ハイパーリンクへアクセスするための文字を指定します。
- shape
クライアントサイトイメージマップで利用する、リンクとして機能する領域の形状を指定します。
- coords
クライアントサイトイメージマップで利用する、リンクとして機能する領域の座標を指定します。
- tabindex
タブ順序を指定します。
- onfocus
要素がフォーカスを得たときに処理を行なうスクリプトを指定します。
- onblur
要素がフォーカスを失ったときに処理を行なうスクリプトを指定します。
クライアントサイドイメージマップ / Client-side image maps
- map
-
(( %Block.mix; ) | area )+ / %XHTML.xmlns.attrib;, id = ID, %class.attrib;, %title.attrib;, %Core.extra.attrib;, %I18n.attrib;, %Events.attrib;,
-
クライアントサイドイメージマップを指定します。
クライアントサイドイメージマップとは、ユーザエージェント側で処理を行うイメージマップです。
- area
-
EMPTY / %Common.attrib;, href = %URI.datatype;, shape = %Shape.datatype; 'rect', coords = %Coords.datatype;, nohref = (nohref), alt = %Text.datatype;, tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
EMPTY / %attrs;, shape = %Shape;, coords = %Coords;, href = %URI;, nohref (nohref), alt = %Text;, tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;
-
クライアントサイドイメージマップでリンク領域として認識する座標を指定します。
- shape
クライアントサイトイメージマップで利用する、リンクとして機能する領域の形状を指定します。
- coords
クライアントサイトイメージマップで利用する、リンクとして機能する領域の座標を指定します。
- href
- nohref
指定した領域では他のリソースを参照しないことを指定します。
- alt
リンクに関しての簡単な説明を指定します。必須項目です。
- tabindex
タブ順序を指定します。
- accesskey
リンク領域に直接アクセスするためのキーを指定します。
- onfocus
要素がフォーカスを得たときに処理を行なうスクリプトを指定します。
- onblur
要素がフォーカスを失ったときに処理を行なうスクリプトを指定します。
文書連結情報 / The link Element
- link
-
EMPTY / %Common.attrib;, charset = %Charset.datatype;, href = %URI.datatype;, hreflang = %LanguageCode.datatype;, type = %ContentType.datatype;, rel = %LinkTypes.datatype;, rev = %LinkTypes.datatype;, media = %MediaDesc.datatype;
EMPTY / %attrs, charset = %Charset;, href = %URI;, hreflang = %LanguageCode;, type = %ContentType;, rel = %LinkTypes;, rev = %LinkTypes;, media = %MediaDesc;
-
HTML 文書ファイルが他のリソースとどのような相関関係にあるかを指定します。
- charset
参照先のリソースの文字集合を指定します。
- href
参照先リソースの所在を URI で指定します。
- hreflang
参照先リソースの言語コードを指定します。
- type
参照先リソースの内容形式を指定します。
- rel
当該リソースから見て、参照先リソースの関係を指定します。
- rev
参照先リソースから見て、当該リソースの関係を指定します。
- media
対象となる媒体を指定します。
画像 / Images
- img
-
EMPTY / %Common.attrib;, src = %URI.datatype;, alt = %Text.datatype;, longdesc = %URI.datatype;, height = %Length.datatype;, width = %Length.datatype;
EMPTY / %attrs;, src = %URI;, alt = %Text;, longdesc = %URI;, name = CDATA, height = %Length;, width = %Length;, usemap = %URI;, ismap (ismap)
文書中に画像を埋め込みたい場合に利用します。
- src
実際に表示する元リソースを指定します。画像の形式は問いませんが、ユーザエージェントがサポートしていなければ表示されません。
- alt
画像の代わりとなる簡単な説明文です。例えば、リンク先画像が見つからない場合などに代わりに表示されるものです。これは必須です。飾りとして利用していて、特に意味が無い場合は alt="" などとすると良いでしょう。リンクスポットとして画像を利用する場合は必ず指定するようにしましょう。
- longdesc
画像の詳しい説明が書かれているリソースの所在を示します。
- name
画像に名前をつける場合に利用します。
- height
画像が描画される際の縦ピクセル数を指定します。これは必ずしも画像の縦ピクセル数と一致する必要はありません。パーセンテージ指定の場合は画像サイズが基準になります。
- width
画像が描画される際の横ピクセル数を指定します。これは必ずしも画像の横ピクセル数と一致する必要はありません。パーセンテージ指定の場合は画像サイズが基準になります。
- usemap
クライアントサイドイメージマップを利用する場合の map 要素の所在を示します。
- ismap
サーバサイドイメージマップを利用する際の宣言になります。
オブジェクト / Object
- object
-
( #PCDATA | %Flow.mix; | param )* / %Common.attrib;, declare = ( declare ), classid = %URI.datatype;, codebase = %URI.datatype;, data = %URI.datatype;, type = %ContentType.datatype;, codetype = %ContentType.datatype;, archive = %URIs.datatype;, standby = %Text.datatype;, height = %Length.datatype;, width = %Length.datatype;, name = CDATA, tabindex = %Number.datatype;
(param | %flow;) / %attrs, declare (declare), classid = %URI;, codebase = %URI;, data = %URI;, type = %ContentType;, codetype = %ContentType;, archive = CDATA, standby =%Text;, height = %Length;, width = %Length;, usemap = %URI;, name = CDATA, tabindex = NUMBER, %reserved;
文書中にテキスト以外のなんらかのものを埋め込む場合に利用します。例えば、MIDI データや Flash など。
- declare
宣言のみでユーザから要求が出るまではオブジェクトを実体化しないことを示します。これにより、HTML 文書ファイルが開かれた時点で常にオブジェクトを実体化するだけでなく、ユーザの要求に応じたオブジェクトのみを実体化させることが可能になります。(これをサポートしないユーザエージェントは、常にオブジェクトを実体化します)
- classid
オブジェクトの実体の所在を示します。埋め込むオブジェクトの形式によっては、data と一緒に、もしくは代わりとして利用されます。
- codebase
classid、data、archive 属性での相対 URI を処理する際の基準パスを指定します。
- data
オブジェクトで利用されるデータの所在を指定します。
- type
data 属性で指定されたデータの MIME タイプを指定します。実際にサーバからデータを参照した際に HTTP 応答ヘッダの Content-Type が異なっていた場合、サーバの Content-Type が優先します。
- codetype
classid 属性で指定されたオブジェクトの MIME タイプを指定します。
- archive
オブジェクトに関係するリソースを含んでいる書庫群をスペースを区切りとして複数指定できます。
- standby
オブジェクトの実行とデータの読み込みを待っている間にユーザエージェントが利用できるテキストを指定します。
- height
レンダリングされる際に確保される縦ピクセル数を指定します。
- width
レンダリングされる際に確保される横ピクセル数を指定します。
- usemap
クライアントサイドイメージマップを利用する場合の map 要素の所在を示します。
- name
埋め込むオブジェクトに名前を付ける際に指定します。
- tabindex
埋め込むオブジェクトのタブ順序を指定します。
- param
-
EMPTY / %XHTML.xmlns.attrig;, name = CDATA, value = CDATA, valuetype = ( data | ref | object ) 'data', type = %ContentType.datatype;
EMPTY / id = ID, name = CDATA, value = CDATA, valuetype = (data | ref | object) data, type = %ContentType;
オブジェクト要素に何らかのパラメータを与える際に利用します。
- id
HTML 文書ファイル中で重複がない ID を指定します。
- name
オブジェクトに渡すパラメータの名前を指定します。
- value
オブジェクトに渡すパラメータの値を指定します。
- valuetype
パラメータとして渡される value 属性の型を指定します。
- data
指定した値が文字列としてオブジェクトに渡されます。
- ref
データが格納されているリソースの URI として扱います。指定された値は解決されずにオブジェクトに渡されます。
- object
同じ HTML 文書ファイル中にある別のオブジェクト宣言を参照することとして扱います。この場合、value は同じ HTML 文書ファイル中にある object 要素が持つ id 属性の値を示します。
- type
valuetype 属性が ref の場合に参照されるデータリソースの MIME タイプを指定します。
水平罫線 / Horizontal Rule
- hr
-
EMPTY / %Common.attrib;
EMPTY / %attrs;
水平な罫線を示します。当然、視覚表現を行うユーザエージェント以外には無視されるかもしれません。
段落 / Paragraphs
- p
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
段落を示す要素です。普通、インラインレベルの要素は段落の中に入れることになるでしょう。
見出し / Headings
見出しです。文書全体の構成を考えてレベルに合ったものを利用しましょう。どのような表現になるかはユーザエージェントに一任されます。
整形済テキスト / Preformatted Text
- pre
-
( #PCDATA | %InlStruct.class; %InlPhras.class; | tt | i | b %I18n.class; %Anchor.class; | script | map %Inline.extra; )* / %Common.attrib;, xml:space = ( preserve ) 'preserve'
(%inline;)* -(%pre.exclusion;) / %attrs;
予め整形されたテキストを示します。この要素の内容は空白やタブ文字、改行文字などがそのままに扱われます。ただし、& などの特殊文字などは全て & などと記述する必要があります。また、内容を見ていただくと分かりますが含むことが出来るのは %inline; 全てになりますので、マークアップ可能です。
行内引用 / Inline Quotes
- q
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;, cite = %URI.datatype;
インラインレベルでの引用を行います。ごく一部分のフレーズなどを引用したりする場合に利用します。
- cite
参照元リソースの URI を示します。
段落引用 / Block-like Quotes
- blockquote
-
( %Block.mix; )+ / %Common.attrib;, cite = %URI.datatype;
ブロックレベルごと引用する際に利用します。含むことが出来る要素はブロックレベルになることに注意してください。
- cite
参照元リソースの URI を示します。
テキストの挿入と削除 / Insert/Deleted Text
- ins
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;, cite = %URI.datatype; datetime = %Datetime.datatype;
( %flow; )* / %attrs;, cite = %URI;, datetime = %Datetime;
文書に変更があった際、挿入された個所を明示するために利用します。
- cite
変更の元となったリソースが存在する場合に、その URI を示します。
- datetime
変更を行った日時を指定します。
ins 要素はブロックレベルにもインラインレベルにもなりますが、インラインレベルで扱われているときにはインライン要素以外は含むことが出来ません。
- del
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;, cite = %URI.datatype; datetime = %Datetime.datatype;
( %flow; )* / %attrs;, cite = %URI;, datetime = %Datetime;
文書に変更があった際、削除された個所を明示するために利用します。
- cite
変更の元となったリソースが存在する場合に、その URI を示します。
- datetime
変更を行った日時を指定します。
del 要素はブロックレベルにもインラインレベルにもなりますが、インラインレベルで扱われているときにはインライン要素以外は含むことが出来ません。
リスト / Lists
- dl
-
( dt | dd )+ / %Common.attrib;
定義リストを示します。定義リストとは、項目を挙げ、それを説明するようなリストです。例えば辞書などはこれに当たるでしょう。
- dt / term
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
定義リストの項目名を示します。
- dd / definition
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;
定義リストの項目がどのように定義されているかを示します。
- ol
-
( li )+ / %Common.attrib;
番号付きリストを示します。
- ul
-
( li )+ / %Common.attrib;
番号が付かないリストを示します。
- li
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;
リストの項目を示します。
フォーム / Forms
- form
-
( %BlkNoForm.mix; | fieldset )+ / %Common.attrib;, action = %URI.datatype;, method = ( get | post ) 'get', enctype = %ContentType.datatype; 'application/x-www-form-urlencoded', accept-charset = %Charsets.datatype;, accept = %Charsets.datatype;, onsubmit = %Script.datatype;, onreset = %Script.datatype;
(%block; | script)+ -(form) / %attrs;, action = %URI;, method = (GET | POST) GET, enctype = %ContentType; application/x-www-form-urlencoded, accept = %ContentTypes;, name = CDATA, onsubmit = %Script;, onreset = %Script;, accept-charset = %Charsets;
-
フォームを利用して HTTP によるデータ送信を行います。
- action
フォームを処理するためのリソースを指定します。
- method
フォームから処理を行なうリソースへデータを渡す方法を指定します。 get の場合は HTTP 要求の際に QUERY_STRING へセットされます。 post の場合は CONTENT_LENGTH の長さだけ標準入力へ渡されます。
- enctype
method 属性が post の際にデータのエンコード方式を指定します。標準では URL エンコードされます。 input 要素で type 属性が file の項目を含む場合、multipart/form-data を指定する必要があります。
- accept
action 属性で指定されたリソースが処理する MIME タイプを指定します。
- name
フォームに名前をつけるために利用することができます。これは、スタイルシートやスクリプトから参照したりするために使うことが出来ます。(この目的のためには id 属性を利用することが推奨されています)
- onsubmit
フォームが submit された (input 要素で type 属性に submit が指定されている項目が押下/選択された) 時に実行されるスクリプトを指定します。
- onreset
フォームが reset された (input 要素で type 属性に reset が指定されている項目が押下/選択された) 時に実行されるスクリプトを指定します。
- accept-charset
フォームを処理するためのリソースが置かれているサーバが処理することのできる MIME タイプ群を指定します。
- label
-
#PCDATA | input | select | textarea | button | %InlStruct.class; %InlPhras.class; %I18n.class; %InlPres.class; %Anchor.class; %InlSpecial.class; %Misc.clas; )* / %Common.attrib;, for = IDREF, accesskey = %Character.datatype; onfocus = %Script.datatype;, onblur = %Script.datatype;
(%inline;)* -(label) / %attrs;, for = IDREF, accesskey = %Character;, onfocus = %Script;, onblur = %Script;
-
input 要素などのフォーム用コントロールにラベルをつけるために利用します。
- for
ラベル名を与えるコントロールの ID を指定します。
- accesskey
for 属性で関連付けられたコントロールに対してアクセスキーを提供します。
- onfocus
フォーカスを得た時に実行されるスクリプトを指定します。
- onblur
フォーカスが外れた時に実行されるスクリプトを指定します。
- input
-
EMPTY / %Common.attrib;, type = %InputType.class; 'text', name = CDATA, value = CDATA, checked = ( checked ), disabled = ( disabled ), readonly = ( readonly ), size = %Number.datatype;, maxlength = %Number.datatype;, src = %URI.datatype;, alt = %Text.datatype;, tabindex = %Number.datatype;, accesskey = %Character.datatype;, accept = %ContentTypes.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onselect = %Script.datatype;, onchange = %Script.datatype;
EMPTY / %attrs;, type = %InputType;, name = CDATA, value = CDATA, checked (checked), disabled (disabled), readonly (readonly), size = CDATA, maxlength = NUMBER, src = %URI;, alt = CDATA, usemap = %URI;, ismap (ismap), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script, onblur = %Script, onselect = %Script;, onchange = %Script;, accept = %ContentTypes;, %reserved;
-
フォームにデータを入力するコントロールを提供する要素です。もっとも汎用的な要素です。
- type
%InputType; で定義される、入力用コントロールの種類を指定します。
- name
コントロールに名前を割り当てるための属性です。
- value
コントロールの初期値を指定する為の属性です。type 属性の値によっては、同じ値を指定する事は出来ません。(radio や checkbox など)
- checked
type 属性の値が radio か checkbox の時、ボタンがオンになるかを真偽値で指定します。ユーザエージェントは type 属性がこれ以外の値の時には無視します。
- disabled
このコントロールを利用できなくします。例えば、必要なデータが入力されるまではフォームの提出を行えないようにする為に submit ボタンを利用できなくする、などという使い方をします。
- readonly
このコントロールを読み込み専用にします。例えば、ユーザに変更されたくないけど表示しておきたい項目に指定したりするなどです。
- size
この属性はユーザエージェントにコントロールが取る初期の幅を伝えます。type 属性が text か password の値を持つ場合には文字数で、それ以外の値の場合はピクセル数で指定します。
- maxlength
type 属性が text か password の値を持つ場合、ユーザが入力可能な最大文字数として扱われます。size 属性の値よりも大きい場合には、ユーザエージェントによってなんらかのスクロールを行う為の機構が期待されます。指定が無い場合には、値は最大文字数は無制限となります。
- src
type 属性の値が image の時に、この属性はフォーム提出ボタンとして利用する画像の所在を指定する物として扱われます。
- alt
type 属性の値が image の時に、画像が表示されない場合に代わりに表示したりされるテキストを指定します。画像ボタンを利用する際には必ず記述してください。
- usemap
画像ボタンを利用する場合に、クライアントサイドイメージマップを利用したい場合に指定します。
- ismap
画像ボタンを利用する際に、サーバサイドイメージマップを利用したい場合に指定します。
- tabindex
タブ順序を指定します。
- accesskey
コントロールへアクセスする為のキーを指定します。
- onfocus
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
- onblur
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
- onselect
ユーザがテキストフィールドの中から項目を選択した際に実行されるスクリプトを指定します。
- onchange
input 要素のコントロールがフォーカスを失ったときに、フォーカスを得たと比べて値が変化していた場合に実行されるスクリプトを指定します。
- accept
- select
-
( optgroup | option )+ / %Common.attrib;, name = CDATA, size = %Number.datatype;, multiple = ( multiple ), disabled = ( disabled ), tabindex = %Number.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onchange = %Script.datatype;
(optgroup | option)+ / %attrs;, name = CDATA, size = NUMBER, multiple (multiple), disabled (disabled), tabindex = NUMBER, onfocus = %Script;, onblur = %Script;, onchange = %Script;, %reserved;
-
いくつかの選択項目の中から項目を選択する為に利用されます。選択項目は optgroup 要素や option 要素によって定義されます。
- name
選択項目群に名前を割り当てます。
- size
select 要素がスクロール可能なリストボックスを提供する場合に、その行数を指定します。ただし、ユーザエージェントが必ずしもリストボックスの形で描画する訳ではない事に注意してください。(例えば、ドロップダウンメニューなどの形が考えられます)
- multiple
この属性が設定された場合、複数の項目を選択できるようにします。設定されなかった場合は一つしか項目が選択できません。
- disabled
項目選択を無効にし、ユーザが項目を選択できないようにします。
- tabindex
タブ順序を指定します。
- onfocus
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
- onblur
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
- onchange
コントロールがフォーカスを失った際に、フォーカスを得た時と選択されている項目が変化していた場合に実行されるスクリプトを指定します。
- optgroup
-
( option )+ / %Common.attrib;, disabled = ( disabled ), label = %Text.datatype;
-
いくつかの option 要素をグループ化するために利用されます。
- disabled
選択項目グループをまとめてユーザが選択できないようにします。
- label
選択項目グループのラベル名を設定します。
- option
-
( #PCDATA ) / %Common.attrib;, selected = ( selected ), disabled = ( disabled ), label = %Text.datatype;, value = CDATA
(PCDATA) / %attrs;, selected (selected), disabled (disabled), label = %Text;, value = CDATA
-
select 要素の為に選択項目を提供します。
- selected
この属性が設定されている場合、最初から項目が選択されていることとします。
- disabled
ユーザがこの項目の選択状態をへんこうできないようにします。
- label
選択項目のラベル名を指定します。
- value
選択項目が選択された場合の値を指定します。この属性が指定されなかった場合には、option 要素の内容が値として渡されます。
- textarea
-
( #PCDATA ) / %Common.attrib;, name = CDATA, rows = %Number.datatype;, cols = %Number.datatype;, disabled = ( disabled ), readonly = ( readonly ), tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;, onselect = %Script.datatype;, onchange = %Script.datatype;
(PCDATA) / %attrs;, name = CDATA, rows = NUMBER, cols = NUMBER, disabled (disabled), readonly (readonly), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;, onselect = %Script;, onchange = %Script;, %reserved;
-
複数行からなるテキスト入力ボックスを提供します。
- name
コントロールに名前を割り当てます。
- rows
テキスト入力ボックスの行数を指定します。この行数を越える入力がある場合には、ユーザエージェントは何らかの形で表示できるようにする方法を持つ事が期待されます。
- cols
テキスト入力ボックスの桁数を指定します。この桁数を越える入力がある場合には、ユーザエージェントは何らかの形で表示できるようにする方法を持つ事が期待されます。
- disables
ユーザエージェントがテキスト入力ボックスを利用できないように指定します。
- readonly
ユーザエージェントがユーザからのテキストが入力できない様、読み込み専用で扱うように指定します。
- tabindex
タブ順序を指定します。
- accesskey
コントロールへ直接アクセスする為のキーを指定します。
- onfocus
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
- onblur
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
- onselect
選択項目が選択された際に実行されるスクリプトを指定します。
- onchange
選択項目がフォーカスを失った際に、フォーカスを得た時と選択状態が変化していた場合に実行されるスクリプトを指定します。
- fieldset
-
( #PCDATA | legend | %Flow.mix; )* / %Common.attrib;
-
書き手にラベルやコントロール群のグループ化を明確にさせる事で、ユーザが対してよりアクセシブルな文書を提供します。
- legend
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;, accesskey = %Character.datatype;
(%inline;)* / %attrs;, accesskey = %Character;
-
fieldset 要素に対して見出しを提供します。
-
( #PCDATA | %BlkNoForm.mix; | %InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %Inline.extra; )* / %Common.attrib;, name = CDATA, value = CDATA, type = ( button | submit | reset ) 'submit', disabled = ( disabled ), tabindex = %Number.datatype;, accesskey = %Character.datatype;, onfocus = %Script.datatype;, onblur = %Script.datatype;
(%flow;)* -(a | %formctrl; | form | fieldset) / %attrs;, name = CDATA, value = CDATA, type = (button | submit | reset) submit, disabled (disabled), tabindex = NUMBER, accesskey = %Character;, onfocus = %Script;, onblur = %Script;, %reserved;
-
押しボタンを提供します。input 要素で提供されるものと同等ですが、こちらは内容を持つ事が出来ます。
- name
ボタンに名前を割り当てます。
- value
ボタンに値を割り当てます。
- type
-
ボタンの種別を指定します。
- submit
フォームを提出するボタンを作成します。指定が無い場合はこれになります。
- reset
フォームの内容をリセットするボタンを作成します。
- button
単なる押しボタンを作成します。
- disabled
ユーザがボタンを押下できないようにします。
- tabindex
タブ順序を指定します。
- accesskey
コントロールに直接アクセスする為のキーを指定します。
- onfocus
コントロールがフォーカスを得た時に実行されるスクリプトを指定します。
- onblur
コントロールがフォーカスを失った時に実行されるスクリプトを指定します。
表 / Tables
- table
-
( caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))) / %Common.attrib;, summary = %Text.datatype;, width = %Length.datatype;, border = %Pixels.datatype;, %frame.attrib;, %rules.attrib;, cellspacing = %Length.datatype;, cellpadding = %Length.datatype;
(caption?, (col* | colgroup*), thead?, tfoot?, tbody+) / %attrs;, summary = %Text;, width = %Length;, border = %Pixels;, frame = %TFrame;, rules = %TRules;, cellspacing = %Length;, cellpadding = %Length;, %reserved;, datapagesize = CDATA
-
表を構成する為の要素です。
- summary
表が示す目的や構造を簡単に提示します。非視覚メディア向けユーザエージェント (音声ブラウザや点字印刷など) の為に指定されます。
- width
視覚メディア向けユーザエージェント用に表の幅を指定します。
- border
境界線の太さを指定します。指定がない場合は 0 になります。
- frame
各セルの枠線の描画方法を指定します。%TFrame; を参照してください。
- rules
各セル間の罫線の描画方法を指定します。%TRules; を参照してください。
- cellspacing
セルの間隔を指定します。
- cellpadding
セルの枠と内容が描画される間隔を指定します。
- datapagesize
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
- caption
-
( #PCDATA | %Inline.mix; )* / %Common.attrib;
表に表題をつけます。
- thead
-
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
表のヘッダ行グループを指定します。
- tfoot
-
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
表のフッタ行グループを指定します。
- tbody
-
( tr )+ / %Common.attrib;, %CellHAlign.attrib;, %CellVAlign.attrib;
(tr)+ / %attrs;, %cellhalign;, %cellvalign;
-
表のデータ実体グループを指定します。この要素はテーブル中にいくつあっても構いませんが、最低 1 つは必要です。(HTML 4.0)
HTML 4.01 では開始/終了タグを省略できる為、明記しなかったセル行は全てこの要素に含まれる事になりますが、XHTML 1.0 では省略は許されない為、明記する必要がありますが、さりげなく table 要素の内容定義が HTML 4.01 の (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+) から (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)) に変更になっている為、tbody 要素がなくても tr 要素を table 要素へ格納できるようになっています。
- colgroup
-
( col )* / %Common.attrib;, span = %Number.datatype; '1', width = %MultiLength.datatype;, %CellHAlign.attrib;, %CellVAlign.attrib;
(col)* / %attrs;, span = NUMBER, width = %MultiLength;, %cellhalign;, %cellvalign;
-
明示的に桁セルをグループ構造化する為に利用します。
- span
グループに含める桁数を指定します。指定されなかった場合は 1 桁になります。
- width
まとめられた桁の幅を指定します。この幅はグループ化されたセル全てに適用されます。
- col
-
EMPTY / %Common.attrib;, span = %Number.datatype; '1', width = %MultiLength.datatype;, %CellHAlign.attrib;, %CellVAlign.attrib;
EMPTY / %attrs;, span = NUMBER, width = %MultiLength;, %cellhalign;, %cellvalign;
-
この属性により、暗黙的な構造にグループ化されずに書き手がいくつかの桁に属性を共有させることが出来ます。
col 要素は桁グループを構造化しません。これは colgroup の役目です。col 要素は無意味で、単に属性を与えるだけのものです。
- tr
-
( th | td )+ / %attrs;, %cellhalign;, %cellvalign;
(th | td)+ / %attrs;, %cellhalign;, %cellvalign;
表内の行を示します。
- th
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;, axis = CDATA, headers = IDREFS, %scope.attrib;, rowspan = %Number.datatype; '1', colspan = %Number.datatype; '1', %CellHAlign.attrib;, %CellVAlign.attrib;
(%flow;)* / %attrs;, abbr = %Text;, axis = CDATA, headers = IDREFS, scope = %Scope;, rowspan = NUMBER 1, colspan = NUMBER 1, %cellhalign;, %cellvalign;
-
行中の見出しセルを示します。
- abbr
セルの内容の概略を示し、ユーザエージェントがセルの内容の代わりに表示することができます。
- axis
この属性はセルを概念によりカテゴリ化します。ユーザエージェントはカテゴリ化されたグループの中からデータを任意に抽出し、ユーザが容易に必要なデータを取得できるようになります。複数のカテゴリに所属する場合には、カンマで区切って指定します。
- headers
この属性はデータセルのヘッダ情報を提供するヘッダのリストを指定します。この属性は、ヘッダセルの名前をスペースで区切って指定します。(ヘッダセルの名前には id 属性によって指定される必要があります。
- scope
-
この属性は、ヘッダ情報を提供するセルを特定します。単純なテーブルでデータセルが関連するヘッダセルの位置を指定する事でヘッダ属性を指定する為に利用されます。この属性の指定には、%Scope; の値を利用します。
- rowspan
セルが何行に及ぶかを定義します。指定がない場合には 1 行です。0 が指定された場合は、表中の残りの行全てとなります。
- colspan
セルが何桁に及ぶかを定義します。指定がない場合には 1 桁です。0 が指定された場合は、行中の残りの桁全てとなります。
- td
-
( #PCDATA | %Flow.mix; )* / %Common.attrib;, axis = CDATA, headers = IDREFS, %scope.attrib;, rowspan = %Number.datatype; '1', colspan = %Number.datatype; '1', %CellHAlign.attrib;, %CellVAlign.attrib;
(%flow;)* / %attrs;, abbr = %Text;, axis = CDATA, headers = IDREFS, scope = %Scope;, rowspan = NUMBER 1, colspan = NUMBER 1, %cellhalign;, %cellvalign;
行中のデータセルを示します。属性については th 要素と全く一緒です。
文書特性 / Document Head
文書特性を定義する要素群です。
- head
-
( %HeadOpts.mix;, title, %HeadOpts.mix; / %XHTML.xmlns.attrib;, %I18n.attrib;, %profile.attrib;
%head.content; +(%head.misc;) / %i18n;, profile = %URI;
文書特性要素を格納する要素です。
- title
-
( #PCDATA ) / %XHTML.xmlns.attrib;, %I18n.attrib;
PCDATA -(%head.misc;) / %i18n;
文書の題名を指定します。
- base
-
EMPTY / %XHTML.xmlns.attrib;, href = %URI.datatype;
EMPTY / href = %URI;
文書中のハイパーリンクが相対 URI 指定が行われていた場合に見る基本 URI を指定します。絶対 URI 指定に対しては影響しません。
- meta
-
EMPTY / %XHTML.xmlns.attrib;, %I18n.attrib;, http-equiv = NMTOKEN, name = NMTOKEN, content = CDATA, scheme = CDATA
EMTPY / %i18n;, http-equiv = NAME, name = NAME, content = CDATA, scheme = CDATA
-
文書にメタ情報を指定する際に利用します。
- http-equiv
この属性は name 属性の代わりに使用されます。HTTP サーバは HTTP 応答メッセージヘッダの為にこの属性を読み取ります。
- name
メタ情報を識別する為の名前をつけます。
- content
メタ情報の値を指定します。
- scheme
メタ情報の設計を名付けて、メタ情報の値の解釈を助けます。
- style
-
( #PCDATA ) / %XHTML.xmlns.attrib;, %title.attrib;, %I18n.attrib;, type = %ContentType.datatype;, media = %MediaDesc.datatype;, xml:space = ( preserve ) 'preserve'
%StyleSheet; / %i18n, type = %ContentType;, media = %MediaDesc;, title = %Text;
-
文書の表現を指定するスタイル情報を指定します。
- type
スタイルを記述する為のスタイルシート言語を指定します。例えば CSS の場合は type="text/css" と書きます。
- media
スタイル指定が対象とする媒体を指定します。複数の媒体を対象とする場合にはカンマ区切りとします。指定がない場合には screen が指定された事とします。
- title
スタイル情報に題名をつけます。
- script
-
( #PCDATA ) / %XHTML.xmlns.attrib;, charset = %Charset.datatype;, type = %ContentType.datatype;, src = %URI.datatype;, defer = ( defer ), xml:space = ( preserve ) 'preserve'
%Script; / charset = %Charset;, type = %ContentType;, src = %URI;, defer (defer), event = CDATA, for = %URI;
-
ユーザエージェント側での処理を指示する為のスクリプト言語を記述します。
- charset
スクリプトが記述されている文字集合を指定します。
- type
スクリプトが記述されているスクリプト記述言語を指定します。
- src
外部にあるスクリプトが記述されているリソースの所在を指定します。
- defer
ユーザエージェントに対し文書内容を変更しない、という情報を明示します。
- event
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
- for
現在は予約されている属性です。なお、XHTML 1.0 Strict では抹消されています。
- xml:space
現在は予約されている属性です。なお、HTML 4.01 Strict には存在しません。
- noscript
-
( %Block.mix; )+ / %Common.attrib;
-
スクリプトが実行できない場合に代替的な表現手段を与える為に利用されます。この要素は script 要素が実行されない場合にのみ処理されます。
文書構造 / Document Structure
文書構造を示します。
- html
-
( head, body ) / %XHTML.xmlns.attrib;, %XHTML.version.attrib;, %I18n.attrib;
(%html.content;) / %i18n;
-
HTML 文書の根幹要素で、HTML 文書データは全てこの要素の内容として含まれる事となります。
HTML 4.0/4.01/XHTML 1.0 では lang 属性を指定する事が出来ましたが、XHTML 1.1 からは lang 属性は無くなりました。気を付けましょう。