HTML

HyperText Markup Language

廃止になった要素と属性

廃止になった理由

 HTML5 では、見た目しか表さず CSS で対処すべき要素、フレーム関連の要素、これまでほとんど使われなかった要素が廃止となりました。この中の多くの要素は、HTML4.01 や XHTML1.0 では非推奨や廃止とされた要素です。

 これら廃止となった要素には、代替手段がありますので、なくなっても困ることはないはずです。

 ここでは、それぞれの要素を個別に見ていき、その代替手段を見ていきます。なお、ここで紹介する代替手段は、あくまで一例にすぎません。HTML5 で代替手段まで規定されているわけではありません。

見た目しか表さず CSS で対処できる表示関連の要素

 HTML5 では、見た目しか表さない要素で、その役割を CSS で置き換えられるものが廃止対象となりました。コードでそれらを見つけた場合は削除してください。それらを構文的に正しい要素と置換え、CSS を使ってきちんと表示されるようにしてください。

basefont 要素

 この要素は、ベースとなるフォントを指定するものですが、CSS で代用できます。書体の指定には font-family プロパティを、文字サイズの指定には font-size プロパティを、色の指定には color プロパティを使って対処できます。

big 要素

 この要素は文字の大きさを大きくするために使いますが、CSS の font-size プロパティで代替可能です。

center 要素

 この要素はセンタリングに使いますが、CSS の text-align プロパティで代替可能です。

font 要素

 この要素は、フォントを指定するものですが、CSS で代用できます。書体の指定には font-family プロパティを、文字サイズの指定には font-size プロパティを、色の指定には color プロパティを使って対処できます。

s 要素、strike 要素

 これらの要素は取消線を表しますが、これは HTML 黎明期からの名残で、互換性のために仕様上では残されていました。もしセマンティクスとして取消を表したいのであれば、del 要素を使います。そして、ただ単に取消線を表したいだけであれば、CSS の text-decoration プロパティで対処できます。

tt 要素

 この要素は等幅フォントで表示するために使いますが、CSS の font-family プロパティに等幅フォントを指定することで対処できます。

u 要素

 この要素はアンダーラインを表しますが、CSS の text-decoration プロパティで対処できます。

 これらのタグの中にはあまり知られていないものもありますが、Dreamweaver といったビジュアルエディタで管理されているページからは、<font> 要素や <center> 要素がいくつも含まれているものが見つかるでしょう。

フレーム

 表示関連の要素に加えて、フレームのサポートも打ち切られています。フレームは PeopleSoft、Microsoft Outlook Web Access、さらにはカスタムビルドポータルといったエンタープライズ Web アプリケーションでよく使われていました。フレームは広く使われていますが、ユーザビリティやアクセシビリティに問題がありすぎたために、それに関する要素が廃止されることになりました。

frame 要素、frameset 要素、noframe 要素

 これらの要素が廃止になったことで、ページをフレームで分割することができなくなりました。

 近年はフレーム分割を使うことが少なくなりました。フレームを使う理由はいくつかありますが、もし、ただ単に特定の領域にスクロールが必要なのであれば、CSS で対処できます。もし、複数のページで同じパーツを表示させるため、その元となる HTML を 1つのファイルで管理したいのであれば、iframe 要素を使うか、または、SSI を使ってページに組み込んでしまうのが良いでしょう。

ほとんど使われていない要素

 これまで規定されていたものの、ウェブ制作の現場ではあまり使われてこなかった要素も廃止対象となりました。これらの要素は他の要素で代用することができます。

acronym 要素

 用語の頭文字をマークアップするための要素ですが、abbr 要素との違いが明確ではなく、その使い分けについては大きな混乱がありました。HTML5 では、この要素は廃止となり、用語の頭文字や略称には abbr 要素を使います。

applet 要素

 この要素は Java アプレットを組み込むために使われてきました。しかし、HTML4.01 や XHTML1.0 では非推奨とされ、いずれも strict モードでは廃止されていました。もちろん、XHTML1.1 でも廃止されています。

 この要素の代用として object 要素を使います。

isindex 要素

 この要素はテキストボックスを実現する要素ですが、HTML 黎明期から規定された要素で、ブラウザがフォームをまだ実装していなかった時代の名残です。HTML4.01 strict、XHTML1.0 strict、XHTML1.1 ではすでに廃止されています。実際にはほとんど使われておらず、input 要素が使われています。

dir 要素

 この要素はリストを表す要素ですが、HTML4.01 strict、XHTML1.0 strict、XHTML1.1 ではすでに廃止されています。HTML5 でも、この要素は廃止となりました。この要素の代わりに、ul 要素を使います。もしリストの項目の順番が重要なのであれば、ol 要素を使います。

有効ではない属性

 使われなくなった要素に加えて、もはや有効ではない属性もあります。これには、次に示すような表示関連の属性が含まれます。

 WordPress のテンプレートでよく見られる <head> 要素の profile 属性もサポートされなくなっています。

 最後に、<img> 要素と <iframe> 要素の longdesc 属性もサポートされなくなっています。この属性は、スクリーンリーダーのユーザーに追加の説明情報を提供するための方法として定着していたので、アクセシビリティ推進派はこの事に少しがっかりしています。


 既存のサイトで HTML5 を使う事を考えている場合は、これらの要素を探し出して削除し、より意味的に正しいものと置換えてください。W3C の Validator サービスは使われなくなった要素や属性を見つけるのに役立つので、このサービスを使ってページを必ず検証してください。