XHTML と HTML5 の違い
XHTMLとは、簡単にいうと「HTMLのボキャブラリを利用して記述したXML文書」のことです(これは、厳密にはXHTML 1.0に当てはまる記述です。XHTML 1.1以降は、XMLの仕様に準拠した形で定義されています)。一方、HTML5はHTMLの最新バージョンであり、よりシンプルで柔軟なマークアップを目指しています。
主な違い
XHTMLとHTML5の主な違いは以下の通りです:
| 特徴 | XHTML | HTML5 |
|------------|-----------------------------------------------|------------------------------------------|
| 文法 | XMLに準拠した厳密な文法 | より柔軟で、HTML4までの記述も許容 |
| 要素と属性 | XHTML 1.0はHTML 4.01の要素と属性を継承 | 新しい要素や属性が多数追加 |
| MIMEタイプ | application/xhtml+xml
| text/html
|
| 大文字小文字 | 大文字と小文字を区別する | 大文字と小文字を区別しない |
具体的な違いと例
1. 文法
XHTMLはXMLの文法に厳密に従う必要があります。例えば、全てのタグは閉じられていなければならず、属性値は必ず引用符で囲む必要があります。
XHTML:
<p>これは段落です。</p>
<img src="image.jpg" alt="画像の説明" />
HTML5では、これらのルールは緩和されており、よりHTML4に近い記述も可能です。
HTML5:
<p>これは段落です。
<img src=image.jpg alt=画像の説明>
2. 要素と属性
HTML5では、<video>
や<audio>
、<canvas>
といった、リッチなWebアプリケーションを構築するための新しい要素が多数追加されています。また、<input>
要素のtype
属性に新しい値が追加されるなど、既存の要素に対する機能拡張も行われています。
HTML5:
<video src="movie.mp4"></video>
<audio src="music.mp3"></audio>
<input type="email" placeholder="メールアドレスを入力">
3. MIMEタイプ
XHTML 1.0のMIMEタイプはapplication/xhtml+xml
であるのに対し、HTML5のMIMEタイプはtext/html
です。これは、HTML5が従来のHTMLとの互換性を重視していることを示しています。
まとめ
XHTMLはXMLに基づいた厳密なマークアップを重視するのに対し、HTML5はより柔軟で、表現力豊かなWebページを容易に記述できることを目指しています。現在では、HTML5がWeb標準として広く普及しており、新規にWebページを作成する場合はHTML5を使用することが一般的です。
よくある質問
Q1: XHTMLは現在でも使用されていますか?
A1: 現在では、新規にWebページを作成する場合、HTML5を使用することが一般的です。XHTMLは、XMLとの連携が重要なケースなど、限られた状況で使用されることがあります。
Q2: HTML5に移行するメリットは?
A2: HTML5は、よりセマンティックなマークアップ、リッチなWebアプリケーション開発のためのAPI、モバイル対応の強化など、多くの利点があります。
Q3: 古いブラウザではHTML5は使用できないのでしょうか?
A3: HTML5の仕様は、古いブラウザでも動作するように設計されています。ただし、一部の機能は古いブラウザではサポートされていない場合があります。