使わない方がよい要素
HTML4.0では、「文書の構造を記述する」というHTML本来の姿に立ち返るために、いくつかの要素や属性が「できるだけ使わない方が望ましい(Deprecated:JISの標準情報の訳語では“推奨しない”)」と明記されました。これらは、厳密なDTD(Strict)からは削除されてしまっています。古くて実質的に使われていないものもありますが、3.2で登場したばかり(Netscapeなどの拡張を取り入れた)のものでも、HTMLの考え方に沿わないものは、早くもdeprecateされています。
初期の要素で、現在はあまり使われないもの
このグループには
ISINDEX, DIR, MENU
がふくまれます。
- ISINDEXは今でもFORMを使うほうが普通でしょう。
- DIR, MENUはリストの一種でしたが、サポートするブラウザもほとんどなかったようです。
画面の表示のみに関する要素タイプ
このグループに該当するものとしてはレイアウトを指示する
CENTER, FONT, BASEFONT, U, STRIKE, S
要素が挙げられています。また、いくつかの要素で指定できる
align, color, bgcolor
といった属性も好ましくないものとされました。
- CENTERは3.2の時点から「Netscapeが広めちゃったから、対応するために用意した」と注記されていましたが、今回はさっさと「使うべきでない」タグになってしまいました。センタリングは、スタイルシートで
text-align: center
と設定できます。 - FONTはスタイルシートの導入によって好ましからざる要素と規定されました。もともと「構造を記述する」HTMLの理念からは外れた「プレゼンテーションのため」の要素であったので、こういわれても仕方がないといえばその通り。
- FONTがだめならBASEFONTがこうなるのは当然ですね。
- BODY要素のbackground, bgcolor, text, vlink, alinkといったお馴染みの属性もみんな望ましくありません。HR要素のwidth, size属性もダメっ ;-(
- Uも排除されたのは、下線付きテキストはスタイルシートで指定せよ(
text-decoration: underline
)ということです。それにしてはB, I
が残されたのは、使われる頻度が高いからでしょうか? - STRIKE, Sはテキストを線で消すというスタイルの指定で、STRIKEはHTML3.2で導入されたばかり、Sは初登場でいきなりdeprecatedです(Sは勧告にならなかったHTML3.0で登場)。代わりに
INS / DEL要素タイプが導入され、ドキュメントの変更履歴を意味的にも明確に記述できるようになりました。また、直接的な消し線のスタイルはスタイルプロパティで
text-decoration: line-through
と指定します。
また、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 : (略)
ということで、肯定しないとか、できるだけ使わないということを示す動詞にあたります。
〔以上補足〕