XHTMLとHTML5の違いは何ですか?

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の仕様は、古いブラウザでも動作するように設計されています。ただし、一部の機能は古いブラウザではサポートされていない場合があります。