[1] This is a Japanese translation of "Differences from HTML4", 10 May 2007 Revision, in WHATWG Wiki http://wiki.whatwg.org/index.php?title=Differences_from_HTML4&oldid=2258.
[2] これは WHATWG Wiki の記事の1つの和訳です。
全体 HTML5 は、 HTML4 とは異なり、 文書とアプリケーションの両方を対象にしています。 ですので、 HTML4 よりも現在作られている Web アプリケーションに適しています。 また、 HTML4 と実装がずれていた部分では、 HTML5 は実装に従っています。そのため、 HTML5 は実装可能で Web と互換性を持った言語となっています。 HTML5 は CSS の前方互換誤り処理に触発された詳細な処理モデルを定義しています。 これは各実装の相互運用性のため、 そして HTML を将来にわたって拡張可能にするために必要なことです。 HTML5 には DOM Level 2 HTML の改訂版も含まれていて、 各要素固有の API が言語の他の部分と共に定義されています。 言語はほとんど DOM に関して定義されているので、 XML serialization も簡単に得ることができます。 XML serialization は XHTML5 と呼ばれており、 基本的には XHTML1.x の改訂版です。 構文 HTML5 を書く HTML5 は著者が従わなければならない構文規則を独自に規定しています。 HTML5 文書は XHTML のように見える書き方もできますが、 そうしたからといって、 HTML として構文解析したときと XML として構文解析したときとで同じ結果が得られるとは限りません。 HTML5 を構文解析する HTML5 は text/html の資源を構文解析する独自の規則を定義しています。 (「誤り訂正」の規則も含まれています。) もう HTML が SGML 応用であるなどと嘘はつきません。 要素と属性 新しい要素 文書構造 * article * aside * dialog * figure * footer * header * nav * section データ * audio * embed * m * meter * source * time * video アプリケーション * canvas * command * datagrid * details * datalist (Web Forms 2) * event-source * output (Web Forms 2) * progress さらに、 input 要素の type 属性にも新しい値が追加されています。 * datetime * datetime-local * date * month * week * time * number * range * email * url 新しい属性 HTML5 で新しい属性が追加された HTML4 の要素です。 要素 属性 a media?, ping area ping base target button autofocus, form, replace, template fieldset disabled, form form data, replace input autocomplete, autofocus, form, inputmode, list, min, max, pattern, step, replace, required, template li value (非推奨ではなくなりました) meta charset ol start (非推奨ではなくなりました) select autofocus, data, form script async, defer style scoped textarea autofocus, form, inputmode, required HTML4 にはすべての要素に適用される属性という概念がありませんでした。 HTML5 はそのような属性を大域属性と呼びます。 次の属性は HTML4 にもありましたが、 HTML5 では大域属性となっています。 * class * dir * id * lang * title 次の属性はまったく新しい大域属性です。 * contenteditable * contextmenu * draggable * tabindex HTML5 には (名前空間を使って) 他の語彙の要素にも適用できる大域属性もあります。 * repeat (Web Forms 2) * repeat-start (Web Forms 2) * repeat-min (Web Forms 2) * repeat-max (Web Forms 2) 変更された要素 HTML5 は次の要素に HTML4 と非互換な新しい意味を与えています。 新しい意味は、その要素が Web でどう使われているかをより反映させたものか、 その要素に目的を与えて人々がそれを使い始められるようにしたものです。 a href 属性のない a 要素は「リンクの場所 (placeholder)」を表します。 address address 要素は新しい章節の概念により適用範囲が限定されるようになりました。 b b 要素は、普通の文とは違った形で表現され、 それ以外には特に重要性を持たない部分、 例えば文書の概要中のキーワード、 評論文中の製品名、 その他普通印刷時に太字で表される文章の一部分を表すようになりました。 hr hr 要素は段落レベルの話題の切れ目を表すようになりました。 i i 要素は、別の声・気分など普通の文とは違って表現される部分、 例えば分類学的表示、専門用語、外来慣用句、 考え、船名、その他普通印刷時に斜体 (イタリック) で表される文を表すようになりました。 用法は言語により様々です。 label ラベルから制御子へと焦点を移動させることがブラウザが動作している環境の利用者界面の標準的な動作である場合を除き、 ブラウザはそのように焦点を移動させるべきではありません。 menu menu 要素は本当のメニューで便利なように再定義されました。 small small 要素は (傍注や法的表示のための) 小さい印刷を表すようになりました。 strong strong 要素は強い強調ではなく重要性を表すようになりました。 削除された要素 次の要素は削除されました。著者はこれらの要素を使ってはいけなくなりました。 利用者エージェントは今後もこれらの要素に対応しなければなりません。 いずれ HTML5 のレンダリングの章でこれらの要素にどう対応しなければならないかが定義される予定です。 (例えば isindex は既に構文解析で対応済みです。) * acronym (代わりに abbr を使ってください) * applet (代わりに object を使ってください) * basefont * big * center * dir * font (WYSIWYG エディタで挿入することは認められています) * frame * frameset * isindex * noframes * noscript (XHTML5 でのみ削除されました) * s * strike * tt * u 削除された属性 HTML4 に含まれていた要素の属性の一部は HTML5 では認められていません。 要素 属性 a rev, charset area nohref head profile html version link rev, target, charset map name meta scheme object archive, standby param valuetype script charset table summary td, th headers, axis また、 HTML4 にあった表現に関する属性は (<table> 関係の属性も) HTML5 には含まれません。 HTML5 に含まれない要素で定義されていた属性も (明らかに) HTML5 には含まれません。 API HTML5 は Web アプリケーションの作成を助ける API を数多く追加しています。新しい API はアプリケーション用に導入された新しい要素と共に利用できます。 2次元描画 API は新しい canvas 要素と共に使えます 動画と音声を再生する API は新しい video 要素と audio 要素と共に使えます 持続ストレージ オンライン・オフラインのイベント 編集 API と新しい大域属性 contenteditable ドラッグ・ドロップ API と draggable 属性 ネットワーク API 履歴を扱う、戻るボタンが壊れないように頁を追加できたりする API 文書間メッセージ交換 サーバー送信イベントの聞き取り 文字符号化 文字符号化方式を meta 要素を使って宣言できますが、 meta 要素の構文は変更されています。 HTML 4.01 までは meta 要素は <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> のように使っていましたが、 HTML5 では不要なマークを取り除き、 <meta charset="UTF-8"> という構文となりました。 この構文はほとんどの既存のブラウザで実装されている符号化判定法と互換性があります。 HTML4 アルゴリズム HTML 4.01 仕様書 5.2.2 節 文字符号化の指定より: HTTP の Content-Type 欄の charset 引数 http-equiv が Content-Type に設定されており、 charset に値が設定されている META 宣言 外部資源を指定した要素に設定されている charset 属性 HTML5 アルゴリズム ブラウザが従わなければならない、文字符号化を決定する正確なアルゴリズムは HTML5 で規定されています。基本的なアルゴリズムは次の通りです。 転送層が符号化を指定していれば、それを使い、このアルゴリズムを終えます。 (例えば HTTP の Content-Type 欄。) ファイルの最初の512バイトか、それより小さければできるだけ多くを読み込みます。 ファイルが UTF-8、UTF-16、UTF-32 の BOM で始まっていれば、それを使い、このアルゴリズムを終えます。 最初の512バイトから符号化を宣言している meta 要素を探す特別なアルゴリズムを使います。このアルゴリズムの探し方は比較的寛大ですが、通常の構文解析は使っていませんので、いくつかの制限があります。
[3] この記事の原文 (当時の版) に適用されるライセンス規定は次の通りです。 >>4
Copyright © 2006–2013 The WHATWG Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.