原文の最新版 が公開されたため、この日本語訳も古いものとなっています。日本語訳の最新版は、http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/ よりアクセスできます。

この文書「HTML 5 における HTML 4 からの変更点」は、W3CHTML ワーキンググループ による「HTML 5 differences from HTML 4 (Working Draft 22 January 2008)」の日本語訳です。

規範的な文書は原文のみとなっています。この日本語訳は参考情報であり、正式な文書ではないことにご注意ください。また、翻訳において生じた誤りが含まれる可能性があります。

原文が勧告 (Recommendation) ではなく、策定途中の草案 (Working Draft) であることにご注意ください。

原文の最新版 は、この日本語訳が参照した版から更新されている可能性があります。また、この日本語訳自身も更新されている可能性があります。日本語訳の最新版は、W3C 仕様書 日本語訳一覧 から参照することができます。

更新日:
2008-09-30
公開日:
2008-01-23
翻訳者:
矢倉 眞隆 <>

W3C

HTML 5 における HTML 4 からの変更点

2008 年 1 月 22 日付 W3C 草案 (Working Draft)

この版:
http://www.w3.org/TR/2008/WD-html5-diff-20080122/
最新版:
http://www.w3.org/TR/html5-diff/
編集者:
Anne van Kesteren (Opera Software ASA) <[email protected]>

概要

HTML 5 は World Wide Web の中核となる言語、HTML の五度目にあたる改正版です。この文書「HTML 5 differences from HTML 4」は、HTML 5 における HTML 4 からの変更点、およびその論拠を説明します。なお、HTML 5 仕様は現在も活発に修正や変更が行われているため、この文書は正しい情報を提供できていない場合があります。疑わしい部分がある場合には、HTML 5 仕様書を参照するようにしてください。[HTML5]

この文書のステータス

この章は、この文書の公開時におけるステータスについて説明しています。このため、他の仕様がこの文書を上書きしている可能性があります。W3C による他の出版物およびこの技術レポートの最新版は W3C 技術レポートインデックス (http://www.w3.org/TR/) で探すことができます。

この文書は HTML ActivityHTML ワーキンググループ が作成した最初の公開草案 (First Public Working Draft) です。HTML ワーキンググループはこの文書を 部会ノート (Working Group Note) として、HTML 5 仕様 とともに公開する予定です。仕様書やこの文書へのコメントを寄せるのに適切なフォーラムは [email protected] です。公開アーカイブ も存在しています。

草案としての仕様書公開は、W3C メンバーによる支持を意味するものではありません。この文書は更新されたり他の文書と置き換えられたり、また破棄される可能性もある草稿段階の仕様書です。策定中ということを明記せずに、この文書を引用することは適当でありません。

この文書は 5 February 2004 W3C Patent Policy の下で活動するグループにより作成されました。W3C は 特許情報の開示に関する公開リスト を関連する団体と共に、その成果物とあわせて管理しています。リストには情報開示に関する説明もありますので、ご参照ください。特許について十分に知識のある人物が、当該仕様に関し Essential Claim(s) が認められると判断した場合は、W3C 特許方針の第6章 に従い情報を開示する必要があります。

目次

1. はじめに

HTML は 1990 年代初頭の誕生から今日まで発展を続けてきました。HTML における機能は仕様書で定義されることもあれば、ソフトウェアのリリースにより導入されることもありました。いくつかの点において、HTML の実装や作成者の慣習は互いに近づき、また仕様書や標準とも合致しました。しかし一方で、それらの間には相違も生まれ続けています。

HTML 4 は 1997 年に W3C 勧告となりました。今日までその仕様書は、HTML の核となる機能を大まかに説明するガイドとして利用されています。しかし、HTML 仕様書は実装どうしの相互運用性や、莫大な数に達した Web 上の HTML 文書をどう扱うかという重要な問題に対し、十分な情報を提供していませんでした。また、同じことがHTML 4 を XML でシリアライズした XHTML1、そして HTML と XHTML に JavaScript API を定義する DOM Level 2 HTML に対しても起こってしまいました。[HTML4] [XHTML1] [DOM2HTML]

HTML 5 仕様の草案は、2004 年に始まった現在の HTML 実装と、Web に公開されている HTML 文書に対し行った調査を反映し、次の要件を掲げています。

  1. HTML 5 と呼ばれ、「カスタム」HTML または XML で記述する、ひとつの言語仕様を定義する。
  2. 詳細な処理モデルを定義し、相互運用可能な仕様の実装を手助けする。
  3. 文書のマークアップを改善する。
  4. Web アプリケーションのような新しい表現に対し、マークアップと API を提供する。

1.1. 未解決の問題

HTML 5 は未だ草稿段階です。HTML 5 仕様書および、この文書中の HTML 5 に関する項目は、現在も HTML ワーキンググループや WHATWG メーリングリストで検討中です。網羅的ではありませんが、未だ解決されていない問題について次に記します。

1.2. 後方互換性

すでに Web 上に公開されている HTML 文書への扱いに対して、HTML 5 はユーザーエージェントが後方互換を取るようにと定義しています。

HTML 5 では、オーサリング言語を製作者のためシンプルにした結果、表象的な要素をはじめとするいくつかの要素や属性が含まれていません。CSS の使用が推奨されるこれらの要素や属性に関しては、後のセクションに詳しい説明があります。

一方で、ユーザーエージェントはこれらの古い要素をサポートし続けなければなりません。このため、仕様書は製作者に対する要件とユーザーエージェントの要件を明確に分けています。たとえば、製作者は isindexplaintext 要素を使用することはできませんが、ユーザーエージェントはこれらの要素が過去にどう振舞っていたかを考慮し、それに互換性を持つ形でサポートする必要があります。

HTML 5 は製作者とユーザーエージェントに別々の適合性要件を設けたことにより、「非推奨 (deprecated)」という扱いを行う必要がなくなりました。

1.3. 開発モデル

HTML 5 仕様は、少なくともふたつの完全な実装が登場するまでは完成したとみなされません。これは過去の HTML とは異なるアプローチです。この開発モデルを採用する目的として、開発者やデザイナーに仕様が完成した時点で実装可能、使用可能であることを保証したいというものがあります。

2. 構文

HTML 5 言語は、Web に公開されている HTML 4 や XHTML1 と互換性のある「カスタム」HTML 構文を採用しています。しかしこの構文は HTML 4 における、たとえば <em/content/ などの難解な SGML の機能とは互換性がありません。この「カスタム」構文を使用する文書は text/html MIME タイプで供給される必要があります。

HTML 5 はまた、この構文にエラーハンドリングを含む詳細なパース処理規則を定義しています。これらの規則は、よくある実装と大部分において互換性を持つよう設計されています。ユーザーエージェントは text/html MIME タイプを持つリソースに対し、これらの規則に従いパース処理を行います。「カスタム」HTML 構文に適合する HTML 文書の例は、次のようなものになります。

<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Example document</title>
  </head>
  <body>
    <p>Example paragraph</p>
  </body>
</html>

HTML 5 で使用できるもうひとつの構文は XML です。この構文は XHTML1 文書およびその実装と互換性をもちます。XML 構文を使用する文書は XML の MIME 型により提供される必要があります。また、XML 仕様にて述べられた規則に基づき、要素は http://www.w3.org/1999/xhtml 名前空間に属する必要があります。 [XML]

次の例は HTML 5 文書の XML 構文に適合する文書の例です。この XML 文書は XML の MIME 型、すなわち application/xhtml+xml または application/xml を持たなければならないことに注意してください。

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Example document</title>
  </head>
  <body>
    <p>Example paragraph</p>
  </body>
</html>

2.1. 文字符号化方式

HTML 5 の HTML 構文において、作成者は次に示す三つの方法から、文書の文字符号化方式を指定できます。

XML 構文では、作成者は XML 仕様の規定に基づき文字符号化方式を指定する必要があります。

2.2. DOCTYPE

HTML 5 の HTML 構文では、ブラウザがページを標準モードで描画することを保証するため、DOCTYPE が必須となります。DOCTYPE はこのほかに何も目的を持っていないため、XML 構文での記述は任意となります。これは、XML の MIME 型で供給される文書は常に標準モードで扱われるためです。[DOCTYPE]

DOCTYPE 宣言は <!DOCTYPE html> となります。HTML 構文では大文字と小文字を区別しません。以前の HTML は SGML であり、DTD を参照する必要があったため DOCTYPE は長いものとなっていました。HTML 5 はこれに当てはまらず、DOCTYPE は HTML 構文において標準モードを有効にする手段として必要となっています。なお、ブラウザは現段階において既に、<!DOCTYPE html> を標準モードのトリガーとして解釈しています。

3. 言語

このセクションは、HTML 4 とHTML 5 の違いをより明確に説明するため、いくつかの小セクションに別れています。

3.1. 新しい要素

文書のより良い構造化のため、次の要素が新しく追加されました。

他にも、新しい要素が追加されています。

input 要素の type 属性は、次に記す新たな値をサポートします。

これらの属性値は、ユーザーエージェントがユーザーインターフェースを提供し、決められたフォーマットでサーバーにデータを送信させることができるように定義されました。これらはたとえばカレンダーにおける日付選択のインターフェースや、ユーザーのアドレスブックと統合した機能に役立ちます。また、これらの属性値により、ユーザーがサーバーにデータを送信する前にフォームの内容をチェックすることができます。このため、フィードバックを待つ時間の短縮を実現し、ユーザーにより良いエクスペリエンスを提供することができます。

3.2. 新しい属性

HTML 5 は HTML 4 で定義されていた要素に、新しい属性を導入しました。

HTML 4 で定義されていたいくつかの属性は、すべての要素に適用できるようになりました。これらはグローバル属性と呼ばれ、classdiridlangtabindex、そして title 属性が当てはまります。

また、新しいグローバル属性も導入されました。

次に記すものは繰り返しモデルにて利用される属性です。これらはグローバル属性であり、すべての HTML 要素に用いることが出来ます。また、http://www.w3.org/1999/xhtml 名前空間に属することで、他の名前空間に属する要素にも用いることができます。

HTML 5 はまた、HTML 4 で定義されていた onevent-name という形をとるすべてのイベントハンドラ属性をグローバルなものに変更しました。また、新たなイベントの定義と共に、それを処理するイベントハンドラ属性も設けています。たとえば、新しい event-source 要素およびクロスドキュメントなメッセージ API と共に用いる、onmessage 属性などが当てはまります。

3.3. 変更された要素

次に挙げる要素は HTML 5 で若干意味が変更されています。これらの変更は Web における使われ方を反映したもの、またはより便利なものとなるよう行われています。

3.4. 不在の要素

このセクションにある要素は、製作者が使用することのできない要素です。しかし、ユーザーエージェントはそれらをサポートし続けなければならないでしょう。また、HTML 5はそのうち、それらの要素をどうサポートすべきかをまとめた描画に関するセクションを設けるでしょう (たとえば、isindex 要素はすでにパーサがサポートしています)。

次に挙げる要素は HTML 5 に存在しません。なぜならこれらの要素は表象的であり、CSS にて扱われるべきだからです。

次に挙げる要素もまた HTML 5 に存在しません。これらの要素はユーザビリティやアクセシビリティに影響し、エンドユーザーに良くない結果をもたらすからです。

次に挙げる要素は使用例が少ない、混乱の元になる、また他の要素で代用できることから含まれていません。

最後に、noscript 要素は HTML 構文でのみ適合するようになりました。これはnoscript 要素の使用が HTML 構文にのみ依存するからであり、そのため XML 構文には含まれません。

3.5. 不在の属性

HTML 4 で定義されていたいくつかの属性は HTML 5 に存在しません。それらの属性が互換性に関する理由からユーザーエージェントに大きな影響を及ぼす場合、どのように働けばよいのかを明らかにしなければなりません。

これらの属性に加え、HTML 5 では HTML 4 で定義されていた表象的な属性がすべて削除されました。これらは CSS にて扱われるべきだからです。

4. API

HTML 5 は Web アプリケーションを製作する手助けとなるいくつかの API を提供します。これらの API は新しいアプリケーションのために導入された要素と共に使用できます。

4.1. HTMLDocument の拡張

HTML 5 は DOM Level 2 HTML の HTMLDocument インターフェースをさまざまな方向に拡張しました。このインターフェースは Document インターフェースをインプリメントするすべてのオブジェクトにインプリメントされます。このため、複合文書においても意味を持つことになります。また他にもいくつか注目すべきで新しいメンバがあります。

4.2. HTMLElement の拡張

HTML 5 では HTMLElement インターフェースに対しても、いくつかの拡張が行われました。

謝辞

編集者は、この文書の執筆に貢献してくれた Ben Millard、Cameron McCormack、Charles McCathieNevile、Dan Connolly、David Hasather、Henri Sivonen、James Graham、Maciej Stachowiak、Martijn Wargers、Martyn Haigh、Masataka Yakura、Michael Smith、Olivier Gendrin、Philip Taylor、Simon Pieters、そして長年 HTML 5 に関わり、Web の向上を行ってきた人に感謝しています。

参考文献

[DOCTYPE]
Activating the Right Layout Mode Using the Doctype Declaration, H. Sivonen, January 2007.
[DOM2HTML]
Document Object Model (DOM) Level 2 HTML Specification, J. Stenback, P. Le Hégaret, A. Le Hors, editors. W3C, January 2003.
[HTML4]
HTML 4.01 Specification, D. Raggett, A. Le Hors, I. Jacobs, editors. W3C, December 1999.
[HTML5]
HTML 5, I. Hickson, D. Hyatt, editors. W3C, January 2008.
Web Forms 2.0, I. Hickson, editor. W3C, October 2006.
HTML 5, I. Hickson, editor. WHATWG, January 2008.
Web Forms 2.0, I. Hickson, editor. WHATWG, October 2006.
HTML 5 (editor's draft), I. Hickson, D. Hyatt, editors. W3C, January 2008.
Web Forms 2.0 (editor's draft), I. Hickson, editor. W3C, October 2006.
[XHTML1]
XHTML™ 1.1 - Module-based XHTML, M. Altheim, S. McCarron, editors. W3C, May 2001.
[XML]
Extensible Markup Language (XML) 1.0 (Fourth Edition), T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau, editors. W3C, September 2006.
Namespaces in XML 1.0 (Second Edition), T. Bray, D. Hollander, A. Layman, R. Tobin, editors. W3C, August 2006.