contents

SUPER HTML4.0 REFERENCE

ZSPC Home ZSPC Home

HTML4.0について

用語について

■ 要素・タグ・内容・属性

HTML文書は、見出しや本文などの文書構造から見た要素で構成されます。そして、その要素の範囲を明確に示すものがタグです。範囲が明確にわかる場合にはタグを省略できるように定義されています。その場合(タグがない場合)でも、要素自体は存在することができます。また、属性はタグに対するものではなく、要素に対する属性を表わします。

例)<P>この部分が要素の内容です。</P>

上の例で示すと、その全体がP要素となります。「<P>」と「</P>」の部分がタグです。また、「この部分が要素の内容です。」の部分はP要素の内容です。

■ ブロックレベル要素とインライン要素

BODY要素内に配置可能なほとんどの要素は、ブロックレベル要素とインライン要素に分類できます。直接BODY要素内に配置できるのはブロックレベル要素で、インライン要素はその中に含めて配置します。

ブロックレベル要素は、他のブロックレベル要素やインライン要素を含むことができます。一般的には、改行されてから表示されます。

インライン要素は、データや他のインライン要素を含むことができます。一般的には、表示の際に改行を伴いません。

※ブロックレベル要素とインライン要素に該当する具体的な要素名については、「要素一覧」の「ブロックレベル要素」と「インライン要素」を参照してください。

■ URI

一般的には「URL (Universal Resource Locator)」という言葉が使用されており、HTML3.2までの仕様書でも「URL」を使用していましたが、HTML4.0からは「URI (Uniform Resource Identifiers)」が使用されています。

URL同様に、文書・画像・ビデオ・プログラムなどのWeb上のリソースを指定することができますが、URLはURIのサブセットで、URIの方が上位の概念です。

■ ユーザー・エージェント

このリファレンスでは、わかりやすさを考慮して「ユーザー・エージェント」を「ブラウザ」と表現していますが、厳密には異なるものです。「ユーザー・エージェント」とは、HTML文書を解釈することのできるプログラム一般のことで、様々なブラウザの他に、サーチエンジンのロボットやプロキシーも含まれます。

HTML4.0の方針

■ 構造と表現の分離

HTMLは、言語の構造をタグでマークアップするSGMLを元に作られた言語です。ブラウザのバージョンアップとともに、構造ではなく表現を表わすタグが多く利用されてきましたが、HTML4.0ではそれらを廃止する方針を固めました。HTMLでは文書の構造のみを表わし、その表現方法はスタイルシートなどを利用するよう推奨されています。ただし、現状を考慮してHTML4.0では表現を表わすタグも利用できるようになっています。使用するタグに応じて、3種類のDTDDOCTYPE)が用意されています。

■ アクセシビリティの考慮

すべての人がWebを利用できるように、制作者はWebページが様々な環境でどのように再現されているかを考慮する必要があります。Webページは、自動音声読み上げ装置や点字ディスプレイなどによっても実際に利用されています。

HTML4.0では、様々な表現方法を制限するのではなく、それが表現できない場合の別の表現方法を提供するための、様々な方法をサポートしています。

※アクセシビリティについては「Webコンテンツ アクセシビリティ・ガイドライン 1.0」を参照してください。

DTD

HTMLは、SGMLの1アプリケーションです。SGMLアプリケーションは、「SGML宣言(SGML Declaration)」と「文書型定義(DTD - Document Type Definition)」、「文書インスタンス(Document Instance)」の3つの部分で構成されています。一般的にHTML文書と呼ばれているのは「文書インスタンス」の部分のことです。

「文書型定義 - DTD」には、「文書インスタンス」で使用される要素や属性の名前、要素の親子関係(どの要素にどの要素を含むことができるか)や出現すべき順序、出現可能な回数などが定義されています。このリファレンスでは正確なHTMLを記述できるように、各要素ごとに関連する部分のDTDを記しています。

HTML4.0では、使用する要素や属性の種類に応じて以下の3種類のDTDが利用可能です。

HTML4.01 Strict DTD
廃止予定の要素や属性とフレーム関連を除く、すべての要素と属性が定義されています。
HTML4.01 Transitional DTD
フレーム関連を除いて、廃止予定の要素や属性を含んだすべての要素と属性が定義されています。
HTML4.01 Frameset DTD
フレーム関連と廃止予定の要素や属性を含むすべての要素と属性が定義されています。

※DTDの読み方については「HTMLのDTDの読み方」を参照してください。

DOCTYPE宣言

HTML文書では、文書中で使用しているHTMLのバージョンを宣言する必要があります。具体的には、HTML文書の先頭で「DOCTYPE」を使用して行いますが、使用しているDTDの種類によって以下のように宣言します(後半のDTDのURLを示す部分は、省略することもできます)。

・HTML4.01 Strict DTD の場合

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">

・HTML4.01 Transitional DTD の場合

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">

・HTML4.01 Frameset DTD の場合

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
 "http://www.w3.org/TR/html4/frameset.dtd">

文字参照

文字セットによっては、表示できない文字があります。また、環境によっては直接入力できない文字がありますし、言語の中で特別な意味で認識されてしまう文字もあります。そのような場合には、SGMLの文字参照形式を利用してその文字を表現することができます。文字参照には「&#229;」のように数値でコードを指定する方法と、「&lt;」のように短い名前(less than → lt)で指定する方法(文字実体参照)があります。

以下の4つは、HTMLを書く上で頻繁に利用されるものです。

その他の文字参照については、以下のページを参照してください。

※文字実体参照は、大文字と小文字を区別しますので注意してください。

※SGMLでは、改行やタグの直前などでは、文字参照の「;」を省略することができることになっています。しかし、ブラウザによっては問題が起きる可能性もありますので、省略しないで書いたほうがよいでしょう。

基本データ形式

HTML4.0の要素の内容や属性の値として使用されるデータ型は、以下のとおりです。

■ 大文字と小文字の扱い

CS
大文字と小文字を区別する。
CI
大文字と小文字を区別しない。
CN
数字などのため無関係。
CA
それ自体が決定。
CT
詳細はそれぞれの型定義部分を参照。

■ SGMLの基本的なデータ型

CDATA
属性値として使用される場合には、実体参照も含む文字データで表わします。前後の空白は無視され、途中のタブ・改行コードなどは空白に置き換えられます。STYLE要素とSCRIPT要素の内容として使用された場合には、それぞれのデータ型として、記述した内容がそのままアプリケーションに渡されて処理されます。
ID、NAME
必ずアルファベット(A〜Z, a〜z)で始まり、アルファベット、数字(0〜9)、「-」「_」「:」「.」以外の文字を含むことはできません。
IDREF、IDREFS
id属性が指定された他の部分を参照するもので、参照先のid属性の値と同じものを指定します。IDREFSの場合は、スペースで区切って複数指定することができます。
NUMBER
少なくとも1つ以上の数字(0-9)を含む数値で表わします。

テキスト

普通に読むことのできる(意味のある)文字列を指定します。

URI

URIを指定します。URIはURLを含みます。一般的には大文字と小文字を区別すると考えた方がいいでしょう。

色は#に続く16進数(RGBの順に2桁ずつ、計6桁で表わしたもの)か、以下の名前で指定します。色の名前は、大文字でも小文字でもかまいません。

■ 長さ

HTMLの長さを表わす属性値には、以下の3種類があります。

Pixels
ピクセル単位の整数で指定します。
Length
ピクセル、またはパーセントで指定します。
MultiLength
複数の長さを一度に指定できます。ピクセルとパーセントの他に、「*」を使用した割合による指定ができます。これらが一度に指定された場合は、まずピクセルとパーセントで指定された分が確保され、残りの範囲を「*」の前につけられた数字の割合で分配します。単に「*」だけのものは「1*」であることを表わします。例えば、60ピクセルに対して「*,2*,3*」と指定された場合には、それぞれ10,20,30ピクセルということになります。

コンテント・タイプ(MIME types)

RFC2045で定義されている「Media Type」を、HTML4.0の仕様書では「コンテント・タイプ」と呼んでいますが、どちらも「MIME type」を表わしています。HTML4.0では、「Media Type」と表現すると、画面・テレビ・自動音声読み上げ装置・点字ディスプレイなどの出力媒体の種類と混同する可能性があるため、このように表現されています。

言語コード

コンピュータの言語ではなく、人が話したり書いたりする言語の種類を ISO639 で定義されたコードで指定します。例えば、ja(日本語)、zh(中国語)、en(英語)、en-US(アメリカ英語)、fr(フランス語)、de(ドイツ語)などがあります。

文字コードセット

IANAに登録されている文字コードセットを指定します。大文字・小文字の区別はありません。例えば、JISならば「iso-2022-jp」、シフトJISならば「Shift_JIS」、EUCならば「EUC-JP」と指定します。

任意の1文字

HTML4.0で定められている文字セット中の任意の1文字を指定します。

日時

日時は、以下の形式で表わします。

YYYY-MM-DDThh:mm:ssTZD

・YYYY = 年(4桁)
・MM   = 月(2桁)
・DD   = 日(2桁)
・hh   = 時(2桁/00〜23)
・mm   = 分(2桁/00〜59)
・ss   = 秒(2桁/00〜59)
・TZD  = タイムゾーン(Z, +hh:mm, -hh:mm)
     Z      = UTC (協定標準時)
     +hh:mm = 現地時間(UTCより先)
     -hh:mm = 現地時間(UTCより後)

リンクタイプ

・Alternate
別バージョンの文書を表します。lang属性が同時に指定された場合は、その言語の翻訳バージョンであることを示します。media属性が同時に指定された場合は、その出力媒体用のバージョンであることを示します。
・Stylesheet
外部スタイルシート。
・Start
最初の文書。
・Next
次の文書。
・Prev
前の文書。
・Contents
目次。
・Index
索引。
・Glossary
用語集。
・Copyright
著作権に関する部分。
・Chapter
章。
・Section
節。
・Subsection
項。
・Appendix
付録。
・Help
ヘルプ。
・Bookmark
ブックマーク集。

出力媒体

・screen
コンピュータの画面。
・tty
テレタイプ、端末、ポータブル機器などの文字が固定幅の機器。
・tv
テレビ。
・projection
プロジェクタ。
・handheld
携帯用端末。
・print
プリンタ。
・braille
点字ディスプレイ。
・aural
自動音声読み上げソフト(スピーチ・シンセサイザ)。
・all
すべての出力媒体。

スクリプト

このデータ型は、SCRIPT要素の内容である場合とイントリンシック・イベント属性(onClick、onMouseUpなど)の値である場合とがあります。大文字と小文字を区別するかどうかは、使用するスクリプト言語に依存します。

スタイルシート

このデータ型は、STYLE要素の内容である場合とstyle属性の値である場合とがあります。大文字と小文字を区別するかどうかは、使用するスタイルシート言語に依存します。

フレーム・ターゲット名

下に示す4つの予約された名前を除いて、フレーム・ターゲット名はアルファベットから始まらなければなりません。そうでない場合は、ブラウザに無視されます。以下の4つのフレーム・ターゲット名には、特別な意味があります。

・_blank
新しい名前の無いウインドウに表示します。
・_self
元のドキュメントと同じフレームに表示します。
・_parent
現在のフレームの親フレームに表示します。親フレームが無い場合には、「_self」と同様になります。
・_top
すでにあるフレームをすべて解除して、ウインドウいっぱいに表示します。親フレームが無い場合には、「_self」と同様になります。

汎用的な属性

id = name (CS)
この属性は、要素に対して名前(ID)をつけます。ただし、文書中で複数の同じ名前を使うことはできません。文書中で唯一その要素部分だけを対象とする場合に指定してください。例えばスタイルシートのセレクタや、リンクの対象、スクリプトからの操作、宣言のみされたオブジェクトの指定などに利用されます。この属性は、ほぼすべての要素に対して使用できます。
class = CDATAリスト (CS)
この属性は、要素に対してクラス名をつけます。id属性とは異なり、同一の文書中で複数の要素が同じクラス名を使用することができます。また、スペースで区切って、1つの属性に対して複数のクラス名を指定することもできます。主にスタイルシートのセレクタなどとして利用されます。この属性は、ほぼすべての要素に対して使用できます。
lang = 言語コード (CI)
この属性は、要素の内容とその要素の他の属性の値の言語を指定します。日本語の場合は「ja」、英語の場合は「en」、アメリカ英語の場合は「en-US」などと指定します。この属性の目的は、指定された言語の慣習に従ってより正しく表示をしようとするものであって、特別な文字を表示させるためのものではありません。デフォルト値は「unknown」です。
dir = LTR | RTL (CI)
要素に含まれる文字の基本となる文字方向を指定します。
title = テキスト (CS)
この属性は、その要素に対して補助的な情報を与えます。この情報は、使用する環境によって様々な形で表現されますが、一般的なブラウザではツールチップなどとして表示されます。
style = スタイルシート (CN)
この要素に適用させるスタイルシートを記述します。ここに記述するスタイルシート言語には、META要素で指定したデフォルトの言語を使用します。この部分の文法は使用する言語に依存します。

コメント

HTMLでのコメントは、以下のように記述します。

   <!-- この部分がコメント -->

    <!-- コメントは複数行に
        なってもOK -->

コメントの開始を示す部分の「<! 」と「--」の間には、空白文字を入れずに必ず続けて記述します。ただし、終了を示す部分の「--」と「 > 」の間には、空白文字を含むことができます。また、コメント中に複数のハイフン(---など)を含むことは避けてください。

※空白文字には、スペースの他にタブや改行も含まれます。

HTML4.0と4.01の主な相違点

■ DOCTYPE宣言

・HTML4.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
 "http://www.w3.org/TR/REC-html40/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
 "http://www.w3.org/TR/REC-html40/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
 "http://www.w3.org/TR/REC-html40/frameset.dtd">
・HTML4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
 "http://www.w3.org/TR/html4/frameset.dtd">

■ 属性値を囲う引用符を省略できる条件

属性の値が以下の文字のみで構成されている場合は、属性値を囲う引用符を省略することができます。ただし、条件的には省略できる場合でも、常に引用符をつけるようにすることが推奨されています。

・HTML4.0
英字(a〜z, A〜Z)
数字(0〜9)
ハイフン(-)
ピリオド(.)
・HTML4.01
英字(a〜z, A〜Z)
数字(0〜9)
ハイフン(-)
ピリオド(.)
アンダースコア(_)
コロン(:)

■ テーブルのTH,TD要素のrowspan,colspan属性

・HTML4.0

rowspan属性の値が"0"の場合は、現在のセルからテーブル全体の一番下までのセルを連結します。

colspan属性の値が"0"の場合は、現在のセルからテーブル全体の一番右までのセルを連結します。

・HTML4.01

rowspan属性の値が"0"の場合は、現在のセルから同じセクション(THEAD, TBODY, TFOOT)内の一番下までのセルを連結します。

colspan属性の値が"0"の場合は、現在のセルから同じグループ(COLGROUP)内の一番右までのセルを連結します。

■ IMG要素のname属性

・HTML4.0
IMG要素には、name属性はありません。
・HTML4.01
既存のブラウザとの互換性を考慮して、IMG要素にname属性が追加されました。スタイルシートやスクリプト言語から参照する場合に利用されますが、本来はid属性を使うべきです。

■ AREA,A要素のcoords属性の値が「poly」の場合の処理

・HTML4.0
特に記述はありません。
・HTML4.01
イメージマップのエリアとして「poly(多角形)」を指定する場合は、最初の座標と最後の座標は同じものにして、多角形を閉じるようにしてください。もし、そうなっていない場合は、ブラウザ側が最初と同じ座標が最後にあるものとして処理を行います。

■ MAP要素の内容

・HTML4.0

<!ELEMENT MAP - - ((%block;)+ | AREA+) >

MAP要素の内容としては、ブロックレベル要素を1つ以上、またはAREA要素を1つ以上のいずれかのみを配置可能です。

・HTML4.01

<!ELEMENT MAP - - ((%block;) | AREA)+ >

MAP要素の内容としては、ブロックレベル要素とAREA要素の中から、任意のものを1つ以上配置可能です。つまり、ブロックレベル要素とAREA要素を混在させることができます。

ブロックレベル要素とAREA要素が混在している場合は、ブラウザはAREA要素を無視します。

イメージマップを制作する場合は、AREA要素で領域を完全に指定するか、A要素で領域を完全に指定するか、または両方で完全に指定するようにしてください。古いブラウザではAREA要素での指定が有効となり、新しいブラウザではブロックレベルで指定した内容が利用されるようになります。

■ MAP要素と関連する画像

・HTML4.0
特に記述はありません。
・HTML4.01
さまざまなナビゲーション機構に対応するために、関連する画像を持たないMAP要素を使用することができます。

■ IMG, APPLET, OBJECT要素のhspace, vspace属性

・HTML4.0
hspaceとvspace属性の値は、ピクセルまたは%で指定できます。
・HTML4.01
hspaceとvspace属性の値はピクセルのみで指定できます。

■ IMG, OBJECT要素のborder属性

・HTML4.0
border属性の値はピクセルまたは%で指定できます。
・HTML4.01
border属性の値はピクセルのみで指定できます。

■ FORM要素のname属性

・HTML4.0
FORM要素には、name属性はありません。
・HTML4.01
既存のブラウザとの互換性を考慮して、FORM要素にname属性が追加されました。スタイルシートやスクリプト言語から参照する場合に利用されますが、本来はid属性を使うべきです。

■ FORM要素のaccept属性

・HTML4.0
FORM要素のaccept属性は、仕様の解説にはあってもDTDには含まれていません。
・HTML4.01
仕様の解説にのみあったFORM要素のaccept属性が、DTDにも追加されました。

■ INPUT要素のismap属性

・HTML4.0
INPUT要素には、ismap属性はありません。
・HTML4.01
INPUT要素に、ismap属性が追加されました。

■ INPUT要素のvalue属性

・HTML4.0
INPUT要素のtype属性の値が "radio" の場合は、value属性は必須です。
・HTML4.01
INPUT要素のtype属性の値が "radio" または "checkbox" の場合は、value属性は必須です。

| はじめに | HTML4.0について | 全体構造 |
| テキスト | リスト | テーブル | リンク | 画像・オブジェクト |
| 言語情報・文字方向 | スタイルシート | レイアウト・スタイル |
| フレーム | フォーム | スクリプト |

E-mail:webmaster@zspc.com