HTML文書内の部分部分に構造を付加(構造化)するのが要素(最小単位の成分:エレメント)です。例えば、 Pという要素は パラグラフですと述べて(表わして)いますし、一方 EMという要素は 強調された内容ですと述べて(表わして)います。
ブラウザが要素の意味を認識しそれに則して表示を代行することができるよう名札を付ける為に、要素は三つの構成からなっています:開始タグ・内容・終了タグです。 タグ(名札)は特殊なテキスト---目印(マークアップ)---で、 "<"と ">"によって範囲が区切られています。終了タグには、 "<"の後に "/"が続きます。例えば、 EMという要素は開始タグ <EM>そして終了タグ </EM>からなっています。 EMという要素の内容を開始と終了タグが囲い、構造化します。
<P><EM>これは、強調されているテキストです。</EM></P>
訳者注: 要素には働きから大きく二つに分類され、ブロック-レベル要素とインライン(テキスト-レベル)要素です。P要素はブロック-レベル要素に、EM要素はインライン要素になります。文書の部分部分はブロック-レベル要素で構成され、それが積み重なって一つの文書になります。ブロックレ-ベル要素の内容には、文字符号とこれを修飾するインライン要素が来ます。上のは、その基本的な例です。
要素の名前は非感受性ケース(大文字小文字を区別しない)で、 <em>・ <eM>・ <EM>は全て同じことです。
要素はお互いにオーバーラップしてはいけません。 EMという要素の開始タグ(<EM>)が P内に来る場合、 EMの終了タグ(</EM>)も同じ P要素内に来ておかねばなりません。
開始タグや終了タグが省略可能な要素もあります。例えば、 LIの終了タグ(</LI>)は選択(オプション)でき、それは要素の終が次に来る LI要素やリストの終了によってはっきりと分かるからです:
<UL>
<LI>First list item; no end tag
<LI>Second list item; optional end tag included</LI>
<LI>Third list item; no end tag
</UL>
本来内容を取らないので、終了タグがない要素もあります。強制改行をする BR要素のような要素は、開始タグだけで表わせ、空(empty)と言われます。
要素の 属性が、要素に色々な特有性を定義します。例えば、 IMG要素では、 SRC属性を取り画像の場所を指定し、 ALT属性で画像を読み込まない場合の代替えとなるテキストを与えます:
<IMG SRC="wdglogo.gif" ALT="Web Design Group">
属性は開始タグ内---終了タグにではなく---のみに来、 属性-名前="属性-値"と言う形式を取ります。属性の値は、一重乃至二重引用符で区切られます。属性が単にA-Zやa-zの文字・数字(0-9)・ハイフェン("-")・ピリオド(".")だけの場合、引用符は選択性(オプション)です。
属性名はケース非感受性(大文字小文字を区別しない)ですが、値はケース感受性(大文字小文字を区別する)です。
HTMLでの或種の文字符号がマーク付け用に予約されていて、文字通りに現われるために使わなければなりません。 "<"文字符号は、 実体, <、で表現します。同じ様に ">"は、 >として使われ、 "&"は &として使われます。属性の値で二重引用符があって且つ二重引用符で区切りを附ける場合、引用は "を使わなければなりません。
キーボードから簡単に入力しにくい特殊な文字符号用の実体もあります。例えば、著作権記号("c") は、実体 ©で代表されます。HTML 4.0の実体の完全なリストは 実体セクションを見てください。
実体の代わりに、 数値参照も使えます。 ユニコード(Unicode)上のコード位置(code position)を基にした数値参照によってどの様な文字符号も表現します。例えば、著作件記号には ©を、またヘブライ語ALEFには ا を使うことができます。
HTMLでのコメントは込み入った構文になっていますが、次の様に単純化できます:コメントを "<!--"ではじめ、 "-->"で終り且つコメント内では "--"を使わない。
<!-- An example comment -->
HTML 4.0文書は、それが準拠する HTMLバージョンを宣言する DOCTYPE宣言ではじまります。 HTMLに続いて HEADと BODYがきます。 HEADにタイトル・キーワードなど文書についての情報がき、一方 BODYには ブロック-レベル要素や インライン要素でマーク付けされた実際の文書内容がきます。基本的なHTML 4.0文書は次の様な形式を取ります:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<TITLE>文書のタイトル</TITLE>
</HEAD>
<BODY>
<H1>主見出し</H1>
<P>パラグラフ</P>
<P>パラグラフ(別の)</P>
<UL>
<LI>リスト項目</LI>
<LI>リスト項目(別の)</LI>
</UL>
</BODY>
</HTML>
フレーム文書では、 FRAMESET要素が BODY要素に代わります。
(訳者注:日本語の場合の基本構成での注意)
HTML文書は、エラー・引用符号間違い( <A HREF="oops.html>Oops</A>)・要素や属性名のスペル間違い・間違った構造などをチェックする為に 検証されるべきです。この様なエラーはブラウザで文書を一覧しても必ずしも明らかになりません、と言うのはブラウザはエラーを様々な方法で修復する様に設計されているからです。しかし、ブラウザによって異なった方法で修復し、時には或るブラウザではテキストが見えなくて、別のブラウザではそうではないと言ったことが起こります。
W3C HTML検証サービス は、HTML 4.0文書の正しさを検証します。
(訳者:日本語対応検証サービスも)
検証するといってますが、本当の検証でないプログラムもあります(lint)。或る検証器(SGMLサーバー)は正式な 文書型定義(DTD)を見てチェックしますが、lintsなど別のものは検証警告をだしますが安全なものではありません。二種類のプログラムでするのが有効で、検証することを決して忘れない様にしなければなりません。