使わない方がよい要素

HTML4.0では、「文書の構造を記述する」というHTML本来の姿に立ち返るために、いくつかの要素や属性が「できるだけ使わない方が望ましい(Deprecated:JISの標準情報の訳語では“推奨しない”)」と明記されました。これらは、厳密なDTDStrict)からは削除されてしまっています。古くて実質的に使われていないものもありますが、3.2で登場したばかり(Netscapeなどの拡張を取り入れた)のものでも、HTMLの考え方に沿わないものは、早くもdeprecateされています。

初期の要素で、現在はあまり使われないもの

このグループには ISINDEX, DIR, MENU がふくまれます。

画面の表示のみに関する要素タイプ

このグループに該当するものとしてはレイアウトを指示する CENTER, FONT, BASEFONT, U, STRIKE, S 要素が挙げられています。また、いくつかの要素で指定できる align, color, bgcolor といった属性も好ましくないものとされました。

また、Javaアプレットのために用意された APPLETも、 OBJECTを使って書くべきだとされています。 (草案段階ではIMG要素の代わりにOBJECTを使うことを「推奨する」となっていましたが、さすがにこれはどちらでも良いという形に落ちついたようです)

使ってはいけないの?

これらの「望ましくない」要素は禁止されているわけではなく、使ったからといってHTML 4.0に適合しないというわけではありません(StrictなDTDには適合しませんが、Transitionalならば認められます)。しかし、今回は「スタイルシートを導入することでHTML本来の役割からレイアウト(プレゼンテーション)を分離する」という考え方がひとつの目玉になっているので、かなり厳しい調子で deprecated と打ち出してきました。

Deprecated
A deprecated element or attribute is one that has been outdated by newer constructs. Deprecated elements are defined in the reference manual in appropriate locations, but are clearly marked as deprecated. Deprecated elements may become obsolete in future versions of HTML.

(HTML 4.0 Specification -- Definition and Convention)

「使ってもいいけど、将来は廃止するかもしれないから、止めといた方がいいぞ」ということですね。実際XHTML 1.1では、これらの要素は廃止されることになりました。もっとも、廃止になっても、ブラウザは互換性のために当分の間はサポートし続けるでしょう。

StrictとTransitional

HTML4では、こうした非推奨要素を取り除いてHTML本来の「役割を記述する」目的に徹したStrict型と、互換性のためにDepricateされた要素を含むTransitional型、さらにフレームを使ったHTMLのためのFrameset型という3種類のDTDが定義されました。非推奨となった要素を含むHTMLを書く場合は、

(例) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

という文書型宣言を使い、Transitional DTDに従って記述する必要があります。

非推奨要素をスタイルシートで置き換える

画面の表示をコントロールするためには、スタイルシートを使います。HTMLとスタイルシートを分離することで、HTMLがすっきりとわかりやすくなり、メンテナンスも容易になります。また、スタイルシートはもともとプレゼンテーションのために考えられたものですから、非推奨要素よりもずっと柔軟に、多彩な表現を与えることが可能です。いくつかの例を挙げておきましょう。

非推奨要素とスタイルシートの対応
表現したいスタイル 非推奨の方法 スタイルシートのプロパティ/宣言
ブロックのセンタリング CENTER要素 ブロック要素に対してmargin: 0 auto
align="center"属性 text-align: center
画像のセンタリング 画像を含むパラグラフにtext-align: centerスタイルを設定
画像の右寄せ align="right"属性 float: right
文字の色 FONT color=... color: ...
文字のサイズ FONT size=... font-size: ...
フォントの指定 FONT face=... font-family: ...
背景色 BODY bgcolor=... body {background-color: ...}
未訪問リンクアンカー色 BODY link=... a:link {color...}
訪問済リンクアンカー色 BODY vlink=... a:visited {color...}

スタイルシートの考え方と具体的なプロパティについては、当サイトのスタイルシートの説明などを参照してください。

〔補足〕

Deprecateとはあまり馴染みのない英語ですが、WebsterのCollegiate Dictionary定義によれば

dep-re-cate
1 : (略)
2 : to express disapproval of
3-a : play down : make little of ; -b : (略)

ということで、肯定しないとか、できるだけ使わないということを示す動詞にあたります。

〔以上補足〕