2005-03-10

正しいHTMLとは?(其の四)

前回は、本当の意味での妥当なHTMLについて解説しました。今回は、一連の記事の最初(正しいHTMLとは?)と重複するが、DTDの選択と一連の記事の結論についてです。

StrictかTransitionalか?

W3Cによる HTML 4.01 仕様 には、3種類のDTD(文書型定義)が規定されています。

HTML 4.01 仕様
厳密型の文書型定義 (Strict DTD)
推奨しない要素・属性を含まず、またフレーム設定用の要素・属性をも含まない。
移行型の文書型定義 (Transitional DTD)
厳密型DTDの全ての要素・属性に加えて、推奨しない要素・属性も含む。
フレーム設定型の文書型定義 (frameset DTD)
移行型DTDの全てに加えて、フレーム設定用の要素・属性を含む。

注釈

  • HTML 4.01 仕様における推奨しない要素・属性は、後続仕様(XHTML)にて殆どが廃止されている。
  • スタイルシートによる表現が可能なHTMLの表現要素・属性の殆どは、推奨しないこととなっている。

さて、HTML文書を作成する際には、先ず、必ず文書型定義を選択することになるが、その選択方法・理由を誤ってはならない。例えば、次に挙げるような事例は、どれも正当な選択理由とは考えられない。

  • 自分には妥当なHTMLを記述する自身がないから、Transitionalを選択する。
  • TransitionalはStrictより簡単そうだから・・・。
  • HTMLオーサリングツールが適当に選んでくれる。

HTML文書の著者は、如何なる文書型定義を選択しようとも、妥当なHTMLを記述することが必要不可欠なのだ(前回前々回にて解説済み)。逆を言えば、如何なる文書型定義を選択しようとも、妥当なHTMLを記述することは可能なのである。

即ち、文書型定義の選択は、著者が必要とする構造(要素と属性)が定義・提供されるものを選択すればよいのである。これは、W3Cによる仕様以外のDTD(ISO/IEC 15445:2000等)を選ぶ場合でも同様のことなのである。

尚、HTML 4.01 仕様の文書型定義には、次のようにコメント文が添えられている。

Authors should use the Strict DTD when possible, but may use the Transitional DTD when support for presentation attribute and elements is required.

[引用: HTML 4.01 Specification -- HTML 4.01 Specification より]

つまり、HTML 4.01 では、移行型の文書型定義 (Transitional DTD) を使用してもよい (MAY) が、厳密型の文書型定義 (Strict DTD) を使用するべき (SHOULD) である。と解釈できる。[RFC2119]

結論

正しいHTMLとは?、HTML文書の著者の目的に応じて選択した文書型定義に従い、尚且つ、DTDやその仕様書にある記述・解説に沿った適切な構文でマーク付けされた誠に妥当なHTML文書を指す。これは即ち、正しいHTMLこそがHTMLになり得るとも言えよう。

更に、各仕様書やWCAG等の指針で示される推奨される事例に取り込むことが可能であれば、より一層素敵なHTMLになり得るのである。

以上、簡単にではあったが、今回四回に及んだ一連の記事からそう読み解いて頂けたであろう。

注釈

以下のサイトにて、ウェブコンテンツのアクセス可能性・妥当性(Section 508、及び、WCAG 1.0)の検証を簡単に行うことができます。