著者(原文):Dave Raggett <dsr@w3.org>
この文書は、W3Cメンバーおよびその他の利害関係者によって検討され、ディレクターによってW3C勧告として公布されているものである。この文書は安定的な文書であり、参照資料として用いたり、他の文書から規範的リファレンスとして引用してもよい。勧告の作成におけるW3Cの役割は、仕様書に注意をひき、その広範な普及を推進することである。これはウェブの機能性と相互運用性とを拡張するものである。
現行のW3C勧告およびその他の技術文書の一覧は、http://www.w3.org/pub/WWW/TR/ で見ることができる。
HTML (the HyperText Markup Language) は、プラットフォームからプラットフォームへと運搬できるハイパーテキスト文書を制作するために使われる簡素なマークアップ言語である。HTML文書は、広範なアプリケーションからの情報を表現するために適した一般的な意味論をもつSGML文書である。この仕様書はHTMLバージョン3.2を定義するものである。HTML 3.2 は、1996年初の推奨される慣習を捉え、そうしたものとしてHTML 2.0 (RFC 1866) を置き換えるものとして使われることを狙いとする。
HTML 3.2 はHTMLのためのW3Cの仕様書であり、1996年初に IBM, Microsoft, Netscape Communications Corporation, Novell, SoftQuad, Spyglass, Sun Microsystems を含むベンダーとともに開発された。HTML 3.2 は、既存の標準であるHTML 2.0 との完全な後方互換性を提供しつつ、テーブル(組み表)やアプレット、画像の周りのテキストの流れといった広く普及している機能を追加するものである。
W3Cは、アクセシビリティ機能やマルチメディアオブジェクト、スクリプト、スタイルシート、レイアウト、フォーム、数学、国際化のための拡張について、ベンダーと共に作業を続けている。W3Cは、この作業を将来のバージョンのHTMLで組み込む予定である。
HTML 3.2 は、国際規格 ISO 8879 (Standard Generalized Markup Language) に適合しているSGMLアプリケーションである。SGMLアプリケーションとして、適合的なHTML 3.2 文書の文法は、SGML宣言と文書型宣言(DTD)の組み合わせによって定義される。この仕様書は、HTML 3.2 エレメントの目指されている解釈を定義し、それ以外ではDTD内で表現不能なさらなる制約を許容文法に課している。
レコード境界についてのSGML規則は、トリッキーである。特に、開始タグの直後に続くレコード端は切り捨てられるべきである。たとえば、
<P> テキスト
は
<P>テキスト
と等価である。
同様に、終了タグの直前に来るレコード端は切り捨てられるべきである。たとえば、
テキスト </P>
は
テキスト</P>
と等価である。
リテラルテキスト(例.PRE エレメント)内部を除き、HTMLは、空白キャラクタの連続的な連なりを、単一のスペース(ASCIIコード 32)と等価であるものとして扱う。これらの規則は、マークアップテキストを直接に編集するときに、制作者に相当な柔軟性を与える。HTMLについての将来の見直しで、水平タブキャラクタ(ASCIIコード 9)を、結び付けられたスタイルシートにより定義されるタブ規則との関連で解釈することが認められるかもしれない。
PCDATA 内容または CDATA アトリビュート内のSGMLエンティティは、パーサ(解析器)によって展開され、たとえば、é は ISO Latin-1 キャラクタコード 233(鋭アクセントつきの小文字のe)に展開される。これはまた、たとえば é というように、名前つきキャラクタエンティティとして書くこともできただろう。& キャラクタは、& という名前つきキャラクタエンティティを用いて、自分自身の能力において取り込み可能である。
もしアトリビュート値が、文字(a~zとA~Z)、数字(0~9)、ハイフン(ASCIIコード 45)、ピリオド(ASCIIコード 46)しか含んでいないならば、HTMLはアトリビュート値を引用符で括らないことを認める。アトリビュート値は、二重引用符または単引用符(それぞれASCIIコード 34、39)を用いて引用できる。値が二重引用符で区切られているときは、アトリビュート値の中に単引用符を含めることができ、その逆も可能である。
ユーザエージェントの中には、以下のアトリビュートについてアトリビュート最小化を要求するものがあることに注意すること。COMPACT、ISMAP、CHECKED、NOWRAP、NOSHADE、NOhref. COMPACT=COMPACT や ISMAP=ISMAP といった文法は、HTML 3.2 DTDによれば正当であるが、これらのユーザエージェントでは受け付けられない。
HTML 3.2 とともに用いるためのSGML宣言とDTDは、付録に与えられている。HTMLの解析についての踏み込んだガイドラインは、WD-html-lex に与えられている。
HTML 3.2 文書は、<!DOCTYPE> 宣言で始まり、1つの HEAD エレメントと、その後に1つの BODY エレメントとを含んだ1つの HTML エレメントとが続いたものである。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>人口動態の研究</TITLE> ... その他のヘッダエレメント </HEAD> <BODY> ... 文書の本文 </BODY> </HTML>
実際は、どのような場合にも HTML 3.2 DTDに適合するパーサは HTML、HEAD、BODY の開始タグや終了タグを推測できるから、これらはマークアップから省略できる。
適合的なHTML 3.2 文書はすべて、HTML 3.2 文書を他のバージョンのHTMLから区別するために必要となる <!DOCTYPE> 宣言で始まらなければならない。HTML仕様書は、記憶単位とは無関係である。結果として、文書型宣言が同じ記憶単位(すなわちファイル)内に置かれていることは要求されない。もし、すべてのHTMLファイルがHTML 3.2 仕様書に適合していることがわかっているならば、ウェブサイトは動的にHTMLファイルを文書型宣言と組み合わせることを選んでもかまわない。
HTML 3.2 文書はすべて、叙述的な title エレメントも含んでいなければならない。したがって、最小限のHTML 3.2 文書はこのように見える。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <TITLE>人口動態の研究</TITLE>
注意:W3Cメンバー組織によってHTML 3.2 仕様書が承認された現在では、"Final" という単語が "Draft" を置き換える。
これは文書のヘッダを含むが、HEAD の開始タグと終了タグはつねに両方とも省略することができる。文書ヘッダの中身は、以下のエレメントの順不同の集積である。
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?"> <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK"> <!ELEMENT HEAD O O (%head.content) +(%head.misc)>
%head.misc エンティティは、関連するエレメントが、HEAD 内部の任意の場所に複数回発生できるようにするために用いられる。以下のエレメントは、文書ヘッダの一部分となることができる。
TITLE、SCRIPT、STYLE は、コンテナ (container) であり、開始タグと終了タグの両方を必要とする。その他のエレメントはコンテナではないので、終了タグは禁止される。適合的なブラウザは、SCRIPT および STYLE エレメントの内容をレンダリングしないことになることに注意すること。
<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc)>
HTML 3.2 文書はすべて、文書の HEAD 内にちょうど1つの TITLE エレメントをもたなければならない。これは、ユーザエージェントのウィンドウキャプションなどに表示できる、アドバイス的な表題を提供するものである。内容モデルは PCDATA である。結果として、アクセント付きキャラクタを表わしたり、& や < などといった特殊文字をエスケープするために、キャラクタエンティティを使うことができる。マークアップは、TITLE エレメントの内容には許容されない。
TITLE エレメントの例:
<TITLE>人口動態の研究</TITLE>
<!ELEMENT STYLE - - CDATA -- スタイル情報のための場所を確保する --> <!ELEMENT SCRIPT - - CDATA -- スクリプト命令のための場所を確保する -->
これらは、スタイルシートやクライアントサイドのスクリプトを将来のバージョンのHTMLにおいて導入するための場所を確保するものである。ユーザエージェントは、これらのエレメントの内容を隠すべきである。
これらのエレメントは、内容型として、 CDATA で定義されている。結果として、これらはSGMLキャラクタしか含むことができない。すべてのマークアップキャラクタや区切り文字は無視されて、アプリケーションにデータとして渡される。ただし、ネームキャラクタ [a-zA-Z] が直後に続く ETAGO (">/") 区切り文字は除く。これは、ETAGO が不正であればエラーは起こるものの、エレメントの終了タグ(または、それがネストされているエレメントの終了タグ)は認識されることを意味する。
<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
prompt CDATA #IMPLIED -- プロンプトメッセージ -->
ISINDEX エレメントは、ユーザエージェントが、クエリー文字列を入れるための単行テキスト入力フィールドを提供するべきことを示す。入れられるキャラクタ数には制限がない。PROMPT アトリビュートを用いて、入力フィールドにプロンプト文字列を指定することなどができる。
<ISINDEX PROMPT="Search Phrase">
ISINDEX の意味論は現在のところ、親文書のためのベースURLが HTTP URL であるときにのみ、よく定義されている。普通、ユーザが Enter(リターン)キーを押すと、クエリー文字列はこの文書のためのベースURLで識別されるサーバに渡される。たとえば、入れられたクエリー文字列が "ten green apples" であり、ベースURLが
http://www.acme.com/
であれば、生成されるクエリーは
http://www.acme.com/?ten+green+apples"
となる。スペースキャラクタは "+" キャラクタに割り当てられ、通常のURLキャラクタエスケープ機構が適用されることに注意すること。さらなる詳細は、HTTP仕様書を見ること。
注意 として、クエリーのためのキャラクタセットをURLが指定できる現行メカニズムは存在しないので、実際にはクエリー文字列は Latin-1 に制限される。
<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
href %URL #REQUIRED
>
BASE エレメントは、URL仕様書によって与えられた規則を用いて、相対指定URLを解釈するためのベースURLを与える。例.
<BASE href="http://www.acme.com/intro.html">
...
<IMG SRC="icons/logo.gif">
画像は
http://www.acme.com/common/logo.gif
と解釈される。
BASE エレメントが存在しなければ、文書URLが用いられるべきである。ベースURLは文書に結び付けられたHTTPヘッダによって上書きされる場合があるので、これは必ずしも文書を要求するために用いられるURLと同じではないことに注意すること。
<!ELEMENT META - O EMPTY -- 一般的メタ情報 -->
<!ATTLIST META
http-equiv NAME #IMPLIED -- HTTP 応答ヘッダ名 --
name NAME #IMPLIED -- メタ情報名 --
content CDATA #REQUIRED -- 結び付けられる情報 --
>
META エレメントを使って、制作者や廃棄日、キーワードリストなどといった、文書の詳細情報を記述する name/value の対を組み込むことができる。NAME アトリビュートはプロパティ名を指定し、CONTENT アトリビュートはプロパティ値を指定する。例.
<META NAME="Author" CONTENT="Dave Raggett">
HTTP-EQUIV アトリビュートは、NAME アトリビュートの代わりに用いることができ、文書がHTTP (the Hypertext Transfer Protocol) 経由で引き出されるときに特別な重要性をもつ。HTTPサーバは、HTTP-EQUIV アトリビュートによって指定されたプロパティ名を用いて、RFC 822 様式のヘッダをHTTP応答の中に作成する場合がある。もっとも、これは一定のHTTPヘッダを設定するのには使えない。詳細はHTTP仕様書を見ること。
<META HTTP-EQUIV="Expires" CONTENT="Tue, 20 Aug 1996 14:25:27 GMT">
は、
Expires: Tue, 20 Aug 1996 14:25:27 GMT
といったHTTPヘッダを生むことになる。
これを使って、キャッシュは、関連づけられた文書の新鮮なコピーをいつ取ってくるべきかを決定することができる。
LINK は、他の文書またはリソースとの関係を定義するための、メディア非依存の手段を提供する。LINK は、きわめて初期の頃からHTMLの構成部分であったが、それを利用するブラウザはまだ少数である(ほとんどはまだ LINK エレメントを無視する)。
LINK エレメントは、主として このように利用できる。
<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
href %URL #IMPLIED -- リンク先リソースを表わすURL --
rel CDATA #IMPLIED -- 前方リンク型 --
rev CDATA #IMPLIED -- 逆リンク型 --
title CDATA #IMPLIED -- アドバイス的な表題文字列 --
>
ここにあるのは、提案されている relationship 値である。
LINK エレメントの例:
<LINK REL=Contents href=toc.html>
<LINK REL=Previous href=doc31.html>
<LINK REL=Next href=doc33.html>
<LINK REL=Chapter REV=Contents href=chapter2.html>
これは、文書の本体を包含する。BODY の開始タグと終了タグの双方は省略してもよい。本体は、広い範囲のエレメントを包含することができる。
キーアトリビュートは、BACKGROUND、BGCOLOR、TEXT、LINK、VLINK、ALINK である。これらを使って、リピート表示される背景画像に加えて、背景色や、通常テキストやハイパーリンクのための前景色を設定できる。
<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">
<!ENTITY % color "CDATA" -- 色の指定: #HHHHHH @@ details? -->
<!ENTITY % body-color-attrs "
bgcolor %color #IMPLIED
text %color #IMPLIED
link %color #IMPLIED
vlink %color #IMPLIED
alink %color #IMPLIED
">
<!ELEMENT BODY O O %body.content>
<!ATTLIST BODY
background %URL #IMPLIED -- 文書背景のためのテキスチュアタイル --
%body-color-attrs; -- bgcolor, text, link, vlink, alink --
>
例:
<body bgcolor=white text=black link=red vlink=maroon alink=fuchsia>
色は、sRGB色空間において、16進数(例.COLOR="#COFFCO")または広く理解されている16の色名のうちの1つとして与えられる。これらの色は元来、Windows VGAパレットでサポートされている標準的な16色としてピックアップされたものである。
|
|
Black = "#000000" |
|
Green = "#008000" |
|
|
Silver = "#C0C0C0" |
|
Lime = "#00FF00" |
|
|
Gray = "#808080" |
|
Olive = "#808000" |
|
|
White = "#FFFFFF" |
|
Yellow = "#FFFF00" |
|
|
Maroon = "#800000" |
|
Navy = "#000080" |
|
|
Red = "#FF0000" |
|
Blue = "#0000FF" |
|
|
Purple = "#800080" |
|
Teal = "#008080" |
|
|
Fuchsia = "#FF00FF" |
|
Aqua = "#00FFFF" |
文書本文内に出現できるほとんどのエレメントは、2つのグループのうちの1つに分けられる。改段を生じるブロックレベルエレメントと、改段を生じないテキストレベルエレメントである。一般的なブロックレベルエレメントには、H1 ~ H6(見出し)、P(段落)、LI(リストの項目)、HR(水平線)がある。一般的なテキストレベルエレメントには、EM、I、B、FONT(キャラクタの強調)、A(ハイパーテキストリンク)、IMG、APPLET(埋めこみオブジェクト)、BR(改行)がある。ブロックレベルエレメントは、一般的に、テキストレベルまたは他のブロックレベルエレメント(見出しエレメントおよびアドレスエレメントは除く)のコンテナとして活動するが、テキストレベルエレメントは、他のテキストレベルエレメントだけしか包含できない。正確なモデルは、エレメントに依存する。
<!--
見出しには H1(重要性最高)から H6(重要性最低)までの6レベルがある。
-->
<!ELEMENT ( %heading ) - - (%text;)*>
<!ATTLIST ( %heading )
align (left|center|right) #IMPLIED
>
H1、H2、H3、H4、H5、H6 は、文書の見出しを表わすのに用いられる。つねに開始タグと終了タグが必要である。H1 エレメントは H2 エレメントなどより重要であり、H6 エレメントが最も重要性の低いエレメントを定義する。より重要な見出しは通常、重要性の低い見出しよりも大きなフォントでレンダリングされる。見出し内部のテキストの配置を設定するには、オプションの ALIGN アトリビュートを使う。たとえば、
<H1 ALIGN=CENTER> ... 中央寄せの見出し ... </H1>
デフォルトは左揃えであるが、これは親エレメントの DIV または CENTER エレメントによって上書きできる。
<!ENTITY % address.content "((%text;) | P)*">
<!ELEMENT ADDRESS - - %address.content>
ADDRESS エレメントは、開始タグと終了タグを必要とし、現在の文書の作者やコンタクトの詳細などの情報を指定する。ユーザエージェントは、前後に改段をつけて内容をレンダリングするべきである。内容は、段落、プレインテキスト、%text エンティティで定義されているテキスト風エレメントに制限される。
例:
<ADDRESS> ニュースレター編集者<BR> J.R. Brown<BR> 8723 Buena Vista, Smallville, CT 01234<BR> Tel: +1 (123) 456 7890 </ADDRESS>
<!ELEMENT P - O (%text)*>
<!ATTLIST P
align (left|center|right) #IMPLIED
>
P エレメントは、段落をマークアップするために使われる。これはコンテナであり、開始タグが必要である。終了タグは、いつでもパーサによって推測できるから、任意的である。ユーザエージェントは、P エレメントの前後に改段を置くべきである。レンダリングはユーザエージェント依存であるが、テキストは一般的に利用可能な空間に収まるように折り返される。
例:
<P>これは最初の段落です。
<P>これは2番目の段落です。
たいてい、段落は端揃えにレンダリングされ、右マージンはでこぼこである。ALIGN アトリビュートを使って、明示的に水平方向の配置を指定できる。
例:
<p align=center>これは中央寄せの段落です。 <p align=right>そして、これは右端揃えの段落です。
デフォルトは left 配置であるが、親 DIV エレメントまたは CENTER エレメントによって上書きできる。
リスト項目は、ネストされたリストを含め、ブロックレベルおよびテキストレベルの項目を包含できる。ただし、見出しとアドレスエレメントは除く。この制限は、%flow エンティティを通じて定義されている。
<!ELEMENT UL - - (LI)+>
<!ENTITY % ULStyle "disc|square|circle">
<!ATTLIST UL -- 順序つきリスト --
type (%ULStyle) #IMPLIED -- マークのスタイル --
compact (compact) #IMPLIED -- 項目間隔を縮める --
>
<!ELEMENT LI - O %flow -- list item -->
<!ATTLIST LI
type (%LIStyle) #IMPLIED -- リスト項目スタイル --
>
順序つきリストは、このような形式をとる。
<UL>
<LI> ... 1つ目のリスト項目
<LI> ... 2つ目のリスト項目
...
</UL>
UL エレメントは、順序つきリストを表わすのに使われる。開始タグと終了タグの両方がつねに必要である。LI エレメントは、個別のリスト項目を表わすのに使われる。LI エレメントの終了タグは、つねに省略可能である。LI エレメントはネストされたリストを包含できることに注意すること。COMPACT アトリビュートは、ユーザエージェントに対し、よりコンパクトな様式で項目をレンダリングするようにとのヒントとして使うことができる。
TYPE アトリビュートを使って、UL および LI エレメントに、マークのスタイルを設定できる。許容されている値は、"disc"、"squiare"、"circle" である。デフォルトは一般に、リストのネストレベルに依存する。
この一覧は、1993年に Mosaic によって使われたオリジナルのマークの形を表わすように選ばれている。
<!ELEMENT OL - - (LI)+>
<!ATTLIST OL -- 順序つきリスト --
type CDATA #IMPLIED -- ナンバリングスタイル --
start NUMBER #IMPLIED -- 続き番号の始点 --
compact (compact) #IMPLIED -- 項目間隔を縮める --
>
<!ELEMENT LI - O %flow -- リスト項目 -->
<!ATTLIST LI
type CDATA #IMPLIED -- リスト項目スタイル --
value NUMBER #IMPLIED -- 番号シーケンスの設定 --
>
順序つき(すなわち番号つき)リストは、このような形式をとる。
<OL>
<LI> ... 1つ目の項目
<LI> ... 2つ目の項目
...
</OL>
OL START アトリビュートを使って、番号の並びを初期化できる(デフォルトでは1に初期化される)。LI エレメントの VALUE アトリビュートを使えば、後からでも設定できる。これらのアトリビュートはともに、整数値を期待している。ナンバリングを以前のリストから続けることや、欠けた値を飛ばすことは、明示的な番号を与えなければ示すことができない。
COMPACT アトリビュートは、ユーザエージェントがよりコンパクトなスタイルでリストをレンダリングするようにとの暗示として使うことができる。OL の TYPE アトリビュートは、リスト項目に番号のスタイルを設定できるようにする。
| Type |
番号のスタイル |
|
|---|---|---|
| 1 | アラビア数字 |
1, 2, 3, ... |
| a | アルファベット小文字 |
a, b, c, ... |
| A | アルファベット大文字 |
A, B, C, ... |
| i | ローマ数字小文字 |
i, ii, iii, ... |
| I | ローマ数字大文字 |
I, II, III, ... |
<!-- 定義リスト - 用語は DT で表わし、その定義は DD で表わす -->
<!ELEMENT DL - - (DT|DD)+>
<!ATTLIST DL
compact (compact) #IMPLIED -- よりコンパクトなスタイル --
>
<!ELEMENT DT - O (%text)*>
<!ELEMENT DD - O %flow;>
定義リストは、次のような形式をとる。
<DL>
<DT> 用語名
<DD> 用語の定義
...
</DL>
DT エレメントは、テキストレベルエレメントのコンテナとして働くだけであるが、DD エレメントは、見出しエレメントとアドレスエレメントを除くブロックレベルエレメントも持つことができる。
例:
<DL> <DT>用語1<dd>これは1つ目の用語の定義です。 <DT>用語2<dd>これは2つ目の用語の定義です。 </DL>
これは、たとえばこのようにレンダリングされる。
COMPACT アトリビュートは、DL エレメントで、ユーザエージェントにリストをよりコンパクトな様式でレンダリングするようにとの暗示として使うことができる。
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
<!ATTLIST (DIR|MENU)
compact (compact) #IMPLIED
>
これらのエレメントは、初期の頃からHTMLの一部分であった。これらは、UL エレメントに似た、順序なしのリストを意図している。ユーザエージェントは、DIR エレメントは複数列のディレクトリリストにレンダリングし、MENU エレメントは単列のメニューリストにレンダリングすることが勧められる。実際には、Mosaic およびその他のほとんどのユーザエージェントは、このアドバイスを無視し、代わりに DIR や MENU を UL エレメントと同じ方法でレンダリングする。
<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
<!ATTLIST PRE
width NUMBER #implied
>
PRE エレメントを使って、フォーマット済みテキストを取り込むことができる。ユーザエージェントは、スペースや改行キャラクタといった空白キャラクタに結び付けられたスペーシングを保存しつつ、これを固定幅フォントでレンダリングする。PRE エレメント内部では、自動ワードラップは不能とされるべきである。
SGML規格は、パーサが、開始タグの直後や終了タグの直前の改行を除去することを要求することに注意すること。
PRE は、たとえば IMG、BIG、SMALL、SUB、SUP、FONT といった、画像やフォントサイズの変更を生じるエレメントを除いて、段落と同じコンテントモデルをもつ。
少数ではあるが、WIDTH アトリビュートをサポートするユーザエージェントがある。これは、ユーザエージェントに、必要な幅をキャラクタ数でヒントを与えるものである。ユーザエージェントは、これを使って、適切なフォントサイズを選択したり、内容を適切にインデントすることができる。
ここに、PRE エレメントの例がある。Shelley の韻文 (To a Skylark) である。
<PRE>
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
</PRE>
これは、このようにレンダリングされる。
Higher still and higher
From the earth thou springest
Like a cloud of fire;
The blue deep thou wingest,
And singing still dost soar, and soaring ever singest.
水平タブキャラクタ(Unicode、US ASCII、ISO 8859-1 ではコード番号 9 にエンコードされている)は、その行が8の倍数のキャラクタ数になるような最小の非ゼロ数のスペースとして解釈されるべきである。タブ間隔を他の値に設定することが編集時の一般的な慣習であり、文書の整置の誤りを導くことから、タブの使用はしないように強く勧められる。
<![ %HTML.Deprecated [
<!ENTITY % literal "CDATA"
-- 唯一のマークアップ信号が省略のない終了タグである
歴史的で非適合的な解析モード
-->
<!ELEMENT (XMP|LISTING) - - %literal>
<!ELEMENT PLAINTEXT - O %literal>
]]>
これらは廃止されつつあるタグであり、フォーマットテキストを表わすための、PRE の導入以前からあるタグである。ユーザエージェントは、後方互換性のために、これらをサポートしてもよい。制作者は、これらを新しい文書に使うことを避けるべきである!
<!ELEMENT DIV - - %body.content>
<!ATTLIST DIV
align (left|center|right) #IMPLIED -- 以後のテキストの配置 --
>
<!-- CENTER は ALIGN=CENTER のある DIV の簡略表記である -->
<!ELEMENT center - - %body.content>
DIV エレメントを使って、HTML文書を各部分の階層構造として構造化できる。ALIGN アトリビュートを使うと、DIV エレメントの内容の内部にあるエレメントに、水平方向のデフォルトの配置を設定できる。その値は、LEFT、CENTER、RIGHT に限定され、 段落エレメント <P> と同じように定義されている。
DIV はブロックレベルエレメントであるので、オープンな P エレメントを終結させることになることに注意すること。これ以外では、ユーザエージェントは、DIV エレメントの前後に改段をレンダリングしないことと期待される。CENTER は、DIV に ALIGN=CENTER をつけたのとまったく等価である。DIV と CENTER はともに、開始タグと終了タグを必要とする。
CENTER は、HTML 3.0 の DIV エレメントのサポートを追加する以前に、Netscape によって導入されたものである。それが広く普及しているため、HTML 3.2 でも維持されている。
<!ELEMENT BLOCKQUOTE - - %body.content>
これは、他の作品からのブロック引用を囲むために用いられる。開始タグと終了タグの両方が必要である。しばしば、これはインデントされてレンダリングされる。たとえば、こうである。
They went in single file, running like hounds on a strong scent, and an eager light was in their eyes. Nearly due west the broad swath of the marching Orcs tramped its ugly slot; the sweet grass of Rohan had been bruised and blackened as they passed.
"The Two Towers" (J.R.R. Tolkien) より
<!ENTITY % HTTP-Method "GET | POST"
-- HTTP仕様書の通り
-->
<!ELEMENT FORM - - %body.content -(FORM)>
<!ATTLIST FORM
action %URL #IMPLIED -- サーバ側フォームのハンドラ --
method (%HTTP-Method) GET -- HTTP仕様書を見ること --
enctype %Content-Type; "application/x-www-form-urlencoded"
>
これはHTMLフォームを定義するために用いられるものである。同じ文書内に2つ以上のフォームを持つことができる。開始タグと終了タグの両方が必要である。きわめて単純なフォームには、ISINDEX エレメントを使うこともできる。フォームは、広範なHTMLマークアップを含むことができる。この中には、単行または複数行のテキストフィールドや、ラジオボタングループ、チェックボックス、メニューといった、数種類のフォームフィールドを含む。
フォームの扱いについての詳細は、RFC 1867 において与えられている。
水平線は、話題の転換を示すために用いてよい。スピーチベースのユーザエージェントでは、たとえばポーズ(一時停止)として実行できるであろう。
<!ELEMENT HR - O EMPTY>
<!ATTLIST HR
align (left|right|center) #IMPLIED
noshade (noshade) #IMPLIED
size %Pixels #IMPLIED
width %Length #IMPLIED
>
HR エレメントはコンテナではないので、終了タグは禁止される。アトリビュートは、ALIGN、NOSHADE、SIZE、WIDTH である。
HTML 3.2 は、RFC 1942 で与えられ、組み表素材をマークアップしたりレイアウト目的で使うことができる、広く普及している仕様書の下位セットを取り込む。後者の役割は、普通、音声またはテキスト専用のユーザエージェントに、レンダリング時の問題を生じさせる。
<!-- ウィンドウとの相対比較によるテーブルの水平方向の配置 -->
<!ENTITY % Where "(left|center|right)">
<!-- セル内容のための水平配置アトリビュート -->
<!ENTITY % cell.halign
"align (left|center|right) #IMPLIED"
>
<!-- セル内容のための垂直配置アトリビュート -->
<!ENTITY % cell.valign
"valign (top|middle|bottom) #IMPLIED"
>
<!ELEMENT table - - (caption?, tr+)>
<!ELEMENT tr - O (th|td)*>
<!ELEMENT (th|td) - O %body.content>
<!ATTLIST table -- table エレメント --
align %Where; #IMPLIED -- ウィンドウとの相対比較によるテーブルの位置 --
width %Length #IMPLIED -- ウィンドウとの相対比較によるテーブルの幅 --
border %Pixels #IMPLIED -- テーブルの周囲の枠の幅を制御する --
cellspacing %Pixels #IMPLIED -- セル間の隙間 --
cellpadding %Pixels #IMPLIED -- セル内部の隙間 --
>
<!ELEMENT CAPTION - - (%text;)* -- テーブルまたは図の表題 -->
<!ATTLIST CAPTION
align (top|bottom) #IMPLIED
>
<!ATTLIST tr -- テーブルの行 --
%cell.halign; -- セル内の水平配置 --
%cell.valign; -- セル内の垂直配置 --
>
<!ATTLIST (th|td) -- 見出しセルまたはデータセル --
nowrap (nowrap) #IMPLIED -- ワードラップを抑制する --
rowspan NUMBER 1 -- セルがまたがる行数 --
colspan NUMBER 1 -- セルがまたがる列数 --
%cell.halign; -- セル内の水平配置 --
%cell.valign; -- セル内の垂直配置 --
width %Pixels #IMPLIED -- セルに示唆される幅 --
height %Pixels #IMPLIED -- セルに示唆される高さ --
>
テーブルは、一般的に次のような形式をとる。
<TABLE BORDER=3 CELLSPACING=2 CELLPADDING=2 WIDTH="80%"> <CAPTION> ... テーブルの表題 ... </CAPTION> <TR><TD> 1つ目のセル <TD> 2つ目のセル <TR> ... ... </TABLE>
TABLE のアトリビュートはすべて任意的である。デフォルトでは、テーブルは、周囲のボーダー(境界線)なしでレンダリングされる。テーブルは、内容に適合するように自動的にサイズを決定されるが、WIDTH アトリビュートを使ってテーブルの幅を設定することもできる。BORDER、CELLSPACING、CELLPADDING は、テーブルの外観についてさらに踏み込んだ制御を提供する。表題は、ALIGN アトリビュートによってテーブルの上端または下端にレンダリングされる。
テーブルの各行は、TR エレメントの中に包含されるが、終了タグはつねに省略可能である。テーブルのセルは、データ用は TD で定義され、見出し用は TH で定義される。TR のように、これらはコンテナであるが、終了タグを引きずらずに与えることができる。TH および TD は、いくつかのアトリビュートをサポートする。ALIGN や VALIGN はセルの内容の配置を表わし、ROWSPAN や COLSPAN は2列以上または2行以上にまたがるセルを表わす。セルは、フォームフィールドや他のテーブルを含め、多様なブロックレベルまたはテキストレベルのエレメントを包含できる。
TABLE エレメントは、つねに開始タグと終了タグを必要とする。以下のアトリビュートをサポートする。
CAPTION エレメントは、ALIGN という1つのアトリビュートを持ち、これは ALING=TOP か ALIGN=BOTTOM かのいずれかをとることができる。これを使って、それぞれ表題がテーブルの上や下に置かれるように強制することができる。ほとんどのユーザエージェントは、表題をテーブルの上に置くことをデフォルトとする。CAPTION はつねに開始タグと終了タグの両方を必要とする。表題は、%text エンティティで定義されているように、プレインテキストとテキストレベルエレメントとに限定される。ブロックレベルエレメントは許容されない。
TR またはテーブル行エレメントは、開始タグを必要とするが、終了タグはつねに放置できる。TR は、テーブルセルにとってのコンテナとして働く。これは2つのアトリビュートを持つ。
テーブルのセルを定義するには、2つのエレメントがある。TH は見出しセルを表わすのに使われ、TD はデータセルを表わすのに使われる。この区別は、ユーザエージェントが、見だしとデータを違ったフォントでレンダリングできるようにし、スピーチベースのブラウザがよりよい仕事をすることを可能にする。TH や TD の開始タグはつねに必要であるが、終了タグは放っておける。テーブルセルは以下のアトリビュートを持つことができる。
テーブルは通例として、外側のボーダーは斜面として浮き上がらせて浅浮き彫り状にレンダリングされ、個別のセルはこの浮き上がった面に掘り込まれる。個別のセルの周囲のボーダーは、そのセルが明示的な内容を有しているときに限り、描画される。空白は、 を除いて、この目的には意味がない。
テーブルのサイズを自動的に決定するのに使われるアルゴリズムは、各セルの最小および最大の要求幅を考慮に入れるべきである。これは、各列の最小および最大の要求幅、ひいてはテーブル自体の最小および最大の要求幅を決定するために用いられる。
2列以上にわたるセルは、そのわたる列のそれぞれの幅に影響する。ひとつのアプローチは、これらの列の間でそのセルの最小幅や最大幅を均分することである、もうひとつは、複数列にわたらないセルからの影響に従って案分することである。
ユーザエージェントにとって、単語内部でテキスト行を改行することが必要であったり、望ましかったりする場合がある。そうした場合には、これが起こっている旨の視覚的表示をするようにアドバイスする。
ネストされたテーブルの最大幅や最小幅は、それが発生するセルの最大幅や最小幅に影響する。いったん要求幅がトップレベルのテーブルについてわかれば、そのテーブルの列の幅を割り当てることができる。これは、ネストされたテーブルの幅、ひいてはそうしたテーブルの列の幅の割り当てを可能にする。実際的であれば、すべての列は、少なくともその最小幅が割り当てられるべきである。余分な空間はどれも、その後、各列の最小幅要求と最大幅要求との間の差に比例して分割されるよう示唆される。
幅および高さのピクセル値は画面上のピクセルを参照しており、レーザープリンタなどといった解像度のきわめて高いデバイスへのレンダリングのときには適切な因数が掛けられるべきであることに注意すること。たとえばユーザエージェントが、75dpi(1インチあたり75ピクセル)のディスプレイを持ち、600dpi のレーザープリンタにレンダリングされるのであれば、HTMLアトリビュートに与えられたピクセル値は因数8を掛けられるべきである。
これらは、改段を起こさない。キャラクタのスタイルを定義するテキストレベルエレメントは、一般的にネスト可能である。他のテキストレベルエレメントを包含することができるが、ブロックレベルエレメントは包含できない。
これらはすべて、開始タグと終了タグが必要である。例.
この中には<B>太字のテキスト</B>があります。
テキストレベルエレメントは、適切にネストしなければならない。以下の例は誤りである。
この中には<B>太字や<I></B>斜字体のテキスト</I>があります。ユーザエージェントは、ネストされた強調を尊重するために最善を尽くすべきである。例.
この中には<B>太字で<I>斜字体のテキスト</I></B>があります。
利用可能なフォントが制限されているところや、音声出力用には、代替手段を使って、強調の差をレンダリングするべきである。
注意:将来のバージョンのHTMLは、HTML3.0に由来するより簡潔な "S" タグを好み、STRIKE を漸次廃止するかもしれない。
これらはすべて、開始タグと終了タグが必要である。例.
この中には、<EM>強調されたテキスト</EM>がある。
INPUT、SELECT、TEXTAREA は、FORM エレメント内部でのみ許される。INPUT は、多様なフォームフィールドに使うことができる。このフォームフィールドには、単行テキストフィールド、パスワードフィールド、チェックボックス、ラジオボタン、送信およびリセットボタン、隠しフィールド、ファイルアップロード、画像ボタンがある。SELECT エレメントは、択一メニューまたは複数選択メニューに使われる。TEXTAREA エレメントは、複数行テキストフィールドを定義するために使われる。エレメントの内容は、フィールドを初期化するのに使われる。
INPUT エレメントはコンテナではなく、終了タグは禁止される。
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
| RESET | FILE | HIDDEN | IMAGE)">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
type %InputType TEXT -- どの種類の widget が必要か --
name CDATA #IMPLIED -- submit、reset 以外のすべてのものに必須 --
value CDATA #IMPLIED -- radio、checkboxes に必須 --
checked (checked) #IMPLIED -- ラジオボタン、チェックボックス用 --
size CDATA #IMPLIED -- フィールドの型ごとに特有 --
maxlength NUMBER #IMPLIED
src %URL #IMPLIED -- 背景画像つきフィールド用 --
align %IAlign #IMPLIED -- 垂直方向、水平方向の配置 --
>
<input type=text size=40 name=user value="あなたの名前">
<input type=password size=12 name=pw>
<input type=checkbox checked name=uscitizen value=yes>
<input type=radio name=age value="0-12">
<input type=radio name=age value="13-17">
<input type=radio name=age value="18-25">
<input type=radio name=age value="26-35" checked>
<input type=radio name=age value="36-">
<input type=submit value="Party on ...">
<p>それでは、マップ上の点を選んでください。
<input type=image name=point src="map.gif">
注意: 画像フィールドは普通、テキスト専用やスピーチベースのユーザエージェントには問題を引き起こす!
<input type=reset value="Start over ...">
<input type=file name=photo size=20 accept="image/*">
<input type=hidden name=customerid value="c2415-345-8563">
<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
name CDATA #REQUIRED
size NUMBER #IMPLIED
multiple (multiple) #IMPLIED
>
<!ELEMENT OPTION - O (#PCDATA)*>
<!ATTLIST OPTION
selected (selected) #IMPLIED
value CDATA #IMPLIED -- エレメント内容のデフォルト --
>
SELECT は、択一式または多数選択式のメニューを定義するのに用いられる。SELECT エレメントは、開始タグと終了タグを必要とし、メニュー項目を定義する OPTION エレメントを1つ以上含む。択一式メニューは一般的にドロップダウンメニューとしてレンダリングされ、多数選択式メニューは一般的にリストボックスとして表わされる。
例:
<SELECT NAME="flavor">
<OPTION VALUE=a>Vanilla
<OPTION VALUE=b>Strawberry
<OPTION VALUE=c>Rum and Raisin
<OPTION VALUE=d>Peach and Orange
</SELECT>
SELECT アトリビュート:
OPTION アトリビュート:
<!-- 複数行テキスト入力フィールド -->
<!ELEMENT TEXTAREA - - (#PCDATA)*>
<!ATTLIST TEXTAREA
name CDATA #REQUIRED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
>
TEXTAREA エレメントは、開始タグと終了タグを必要とする。エレメントの内容は、テキストとキャラクタエンティティに制限される。この内容は、文書が最初に読みこまれたときに示されるテキストを初期化するために用いられる。
例:
<TEXTAREA NAME=address ROWS=4 COLS=40>
住所はここに ...
</TEXTAREA>
ユーザエージェントは、フィールドの内容を送信するとき、行の末尾を CR,LF(ASCIIコード 13,10)に正規化することが勧められる。送信されたデータのキャラクタセットは、先にサーバが代わりのキャラクタセットをサポートできることを示していない限り、ISO Latin-1 であるべきである。
A(アンカー)、IMG、APPLET、FONT、BASEFONT、BR、MAP.
<!ELEMENT A - - (%text)* -(A)>
<!ATTLIST A
name CDATA #IMPLIED -- 名前つきリンク端 --
href %URL #IMPLIED -- リンク先リソースのURL --
rel CDATA #IMPLIED -- 前方リンク型 --
rev CDATA #IMPLIED -- 逆リンク型 --
title CDATA #IMPLIED -- アドバイス的表題文字列 --
>
アンカーはネストできず、つねに開始タグと終了タグを必要とする。これは、たとえば、
<a href="hands-on.html">幸せ</a>への道
というようにハイパーテキストリンクを定義し、また、たとえば
<h2><a name=mit>545 Tech Square - ハッカー天国</a></h2>
というようにハイパーテキストリンクのターゲットとして使われる名前つき箇所を定義するために用いられる。
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ELEMENT IMG - O EMPTY -- 埋め込み画像 -->
<!ATTLIST IMG
src %URL #REQUIRED -- 埋め込む画像のURL --
alt CDATA #IMPLIED -- 画像の代わりの表示を表わす --
align %IAlign #IMPLIED -- 垂直、水平方向の配置 --
height %Pixels #IMPLIED -- ピクセル単位の示唆される高さ --
width %Pixels #IMPLIED -- ピクセル単位の示唆される幅 --
border %Pixels #IMPLIED -- 示唆されるリンクボーダー幅 --
hspace %Pixels #IMPLIED -- 示唆される水平方向の溝 --
vspace %Pixels #IMPLIED -- 示唆される垂直方向の溝 --
usemap %URL #IMPLIED -- クライアント側イメージマップを使う --
ismap (ismap) #IMPLIED -- サーバ側イメージマップを使う --
>
画像を挿入するために用いられる。IMG は空エレメントであり、終了タグは禁止される。画像は、現在のテキスト行との相対比較で垂直方向に位置決定でき、また左右に浮動させることができる。テキストフローの制御は、CLEAR アトリビュートつき BR を見ること。
例. <IMG SRC="canyon.gif" ALT="グランドキャニオン">
IMG エレメントは、以下のアトリビュートをサポートする。
ブラウザによっては、複数の left 配置または right 配置の画像について、もっともらしいスペーシングを導入するものがある。結果として、制作者は、異なるベンダーから出されているブラウザでは、スペーシングが同じであることを頼ることができない。テキストフローを制御する方法は、BR を見ること。
ここにあるのは、ISMAP の使い方の例である。
<a href="/cgibin/navbar.map"><img src=navbar.gif ismap border=0></a>
クリックされた位置は、次のようにしてサーバに渡される。ユーザエージェントは、href アトリビュートによって指定されたURLから、ピクセル単位で、`?' x座標 `,' y座標を付加することで、新しいURLを引き出す。そうしてリンクはこの新しいURLを使ってたどられる。たとえば、もしユーザが x=10、y=27 の位置をクリックしたならば、引き出されるURLは、"/cgibin/navber.map?10,27" ということになる。ボーダーを抑制し、グラフィック的なイデオムを使って画像がクリック可能であることを示すことは、概してよい考えである。
ピクセル値はスクリーンピクセルを参照するものであり、レーザプリンタといったようなきわめて解像度の高いデバイスにレンダリングするときには適切な因数を掛けるべきであることに注意すること。たとえば、もしユーザエージェントが 75dpi の解像度のディスプレイをもち、600dpi のレーザープリンタにレンダリングするのであれば、HTMLアトリビュートに与えられたピクセル値は8という因数を掛けられるべきである。
<!ELEMENT APPLET - - (PARAM | %text)*>
<!ATTLIST APPLET
codebase %URL #IMPLIED -- コードベース --
code CDATA #REQUIRED -- クラスファイル --
alt CDATA #IMPLIED -- アプレットの代わりの表示を表わす --
name CDATA #IMPLIED -- アプレット名 --
width %Pixels #REQUIRED -- ピクセル単位の示唆される幅 --
height %Pixels #REQUIRED -- ピクセル単位の示唆される高さ --
align %IAlign #IMPLIED -- 垂直方向、水平方向の配置 --
hspace %Pixels #IMPLIED -- 示唆される水平方向の溝 --
vspace %Pixels #IMPLIED -- 示唆される垂直方向の溝 --
>
<!ELEMENT PARAM - O EMPTY>
<!ATTLIST PARAM
name NMTOKEN #REQUIRED -- パラメータの名前 --
value CDATA #IMPLIED -- パラメータの値 --
>
開始タグと終了タグを必要とする。このエレメントは、Java が利用可能なすべてのブラウザでサポートされる。このエレメントは、Java アプレットをHTML文書に埋め込むことを可能にする。APPLET は、アプレットにパラメータを渡すために、関連づけられた PARAM エレメントを使う。PRAM エレメントに続けて、APPLET エレメントの内容を使って、Java をサポートしないユーザエージェントのためにアプレットの代用品を提供するべきである。DTD内の %text エンティティによって定義されているように、この内容はテキストレベルのマークアップに限定される。Java 互換ブラウザは、この余分なHTMLコードは無視する。それを使って、実行中のアプレットのスナップショットを、アプレットが何をしているかを説明するテキストをつけて示すことができる。この領域で他にありそうなものとしては、Java を無視するブラウザのためのより有益なページへのリンクや、ユーザが Java 互換ブラウザをもっていないことを嘲るテキストがある。
ここにあるのは、Java アプレットの単純な例である。
<applet code="Bubbles.class" width=500 height=500>
アニメーションするシャボン玉を描く Java アプレット
</applet>
ここにあるのは、PARAM エレメントを用いた例である。
<applet code="AudioItem" width=15 height=15>
<param name=snd value="Hello.au|Welcome.au">
歓迎の声を再生する Java アプレット
</applet>
PARAM エレメントは、アプレットに、指名されたパラメータを渡すために用いられる。
<PARAM NAME = appletParameter VALUE = value>
PARAM エレメントは、アプレット特有のパラメータを指定するための唯一の方法である。アプレットは、getParameter() メソッドでパラメータのユーザ指定値を読む。
é や ¹ といったSGMLキャラクタエンティティは、パラメータ値がアプレットに渡される前に展開される。& キャラクタを取り込むには、& を使う。
注意:PARAM エレメントは、APPLET エレメントの内容の最初に置くべきである。このことはDTDの一部として規定されていないが、これはSGML混合内容モデルの技術性のせいである。
<!ELEMENT FONT - - (%text)* -- ローカルなフォント変更 -->
<!ATTLIST FONT
size CDATA #IMPLIED -- [+]nn 例.size="+1", size=4 --
color CDATA #IMPLIED -- #RRGGBB 16進表記.例.赤: color="#FF0000" --
>
開始タグと終了タグを必要とする。これは、挟まれたテキストのフォントサイズおよび/または色を変更することを可能にする。アトリビュートは、SIZE と COLOR である。フォントサイズは、ユーザエージェントによって定義された、直接的なフォントサイズの割り当てをもたないスカラー範囲という形で与えられる。FONT エレメントは、将来のHTMLの見直しにおいて、徐々に廃止されるかもしれない。
ユーザエージェントの中には、FACE アトリビュートもサポートするものもある。このアトリビュートは、優先順にコンマで区切られたフォント名のリストを受け付けるものである。このアトリビュートは、対応する名前をもつインストール済みフォントを探すために用いられる。FACE はHTML 3.2 の構成部分ではない。
以下は、フォントをそれぞれの絶対的サイズに設定した効果を示している。
size=1 size=2 size=3 size=4 size=5 size=6 size=7
以下は、ベースフォントサイズ 3 を用いて、相対的フォントサイズの効果を示している。
同じことを、ベースフォント 6 を用いると、こうなる。
<!ELEMENT BASEFONT - O EMPTY -- ベースフォントサイズ(1 から 7) -->
<!ATTLIST BASEFONT
size CDATA #IMPLIED -- 例.size=4、デフォルトは 3 --
>
ベースフォントサイズを設定するのに用いられる。BASEFONT は空エレメントであり、終了タグは禁止される。SIZE アトリビュートは、1 から 7 までの範囲の整数値である。ベースフォントサイズは、通常テキストとフォーマット済みテキストには適用されるが、相対指定フォントサイズのある FONT エレメントを使って修正されているところを除いて、見出しには適用されない。
改行を強制するために用いられる。これは空エレメントであり、終了タグは禁止される。CLEAR アトリビュートを使うと、どちらかのマージン上にあるそれ以前の浮動画像を下に動かすことができる。<BR CLEAR=LEFT> は左マージン上にあるそれ以前の浮動画像を下に動かし、<BR CLEAR=RIGHT> は右マージン上にある浮動画像について同じことをし、<BR CLEAR=ALL> は左右両方のマージン上にあるそうした画像について同じことをする。
MAP エレメントは、クライアントサイズのイメージマップのためのメカニズムを提供する。これは同じ文書内に置くこともできるし、まだ広くサポートされてはいないが分離された文書内でグループ化することもできる。MAP エレメントは、開始タグと終了タグを必要とする。このエレメントは、関連づけられた画像上のホットゾーンを指定し、これらのホットゾーンをURLに結びつける AREA エレメントを1つ以上含む。
<!ENTITY % SHAPE "(rect|circle|poly)">
<!ENTITY % COORDS "CDATA" -- コンマで区切られた数値のリスト -->
<!ELEMENT MAP - - (AREA)+>
<!ATTLIST MAP
name CDATA #REQUIRED
>
<!ELEMENT AREA - O EMPTY>
<!ATTLIST AREA
shape %SHAPE rect
coords %COORDS #IMPLIED -- 形状を表わす座標を定義する --
href %URL #IMPLIED -- この地域はハイパーリンクとして活動する --
nohref (nohref) #IMPLIED -- この地域にはアクションがない --
alt CDATA #REQUIRED -- 非グラフィカルなユーザエージェントのために必要 --
>
ここにあるのは、グラフィカルなナビゲーションツールバーの単純な例である。
<img src="navbar.gif" border=0 usemap="#map1"> <map name="map1"> <area href=guide.html alt="アクセスガイド" shape=rect coords="0,0,118,28"> <area href=search.html alt="検索" shape=rect coords="184,0,276,28"> <area href=shortcut.html alt="実行" shape=rect coords="118,0,184,28"> <area href=top10.html alt="トップ10" shape=rect coords="276,0,373,28"> </map>
MAP エレメントは、名前をマップと関連づけるために用いられる NAME アトリビュートを1つもつ。これは IMG エレメント上の USEMAP アトリビュートにより、URLフラグメント識別子を経由してマップを参照するために用いられる。NAME アトリビュートの値は大文字小文字の区別があることに注意すること。
AREA エレメントは空エレメントであり、終了タグは禁止される。このエレメントは、以下のアトリビュートをとる。SHAPE、COORDS、href、NOhref、ALT. SHAPE アトリビュートと COORDS アトリビュートは、画像上の地域を定義する。SHAPE が省略されれば、SHAPE="RECT" が想定される。
x と y のところは、関連づけられた画像の左上からピクセル数で測定される。x と y の値が接尾語としての百分率記号つきで与えられていれば、値はそれぞれ画像の幅および高さの百分率として解釈されるべきである。例:
SHAPE=RECT COORDS="0, 0, 50%, 100%"
href アトリビュートは、ハイパーテキストリンクのターゲットを表わすURLを与える。NOhref アトリビュートは、ホットゾーンとして活動しない地域を定義したいときに使われる。これは、ホットゾーンとして活動している下層の地域の中に穴を開けたいときに便利である。
2つ以上の地域が重なりあうならば、マップ定義の中で最初に定義された地域が、後続の地域に優先する。これは、NOhref つきの AREA エレメントは一般的に、href アトリビュートつきのものの前に置くべきことを意味している。
ALT アトリビュートは、マウスやその他のポインティングデバイスがホットゾーンの上に動かされたときにステイタス行に表示でき、または、非グラフィカルユーザエージェントのためのテキストメニューを構築するためのテキストラベルを提供するために使われる