W3C

HTML5 Differences from HTML4HTML4からのHTML5の差分

W3C Working Group Note 9 December 2014

This Version:
http://www.w3.org/TR/2014/NOTE-html5-diff-20141209/
Latest Version:
http://www.w3.org/TR/html5-diff/
Participate:
File a bug (open bugs)
Version History:
https://github.com/whatwg/html-differences/commits
Previous Versions:
http://www.w3.org/TR/2014/WD-html5-diff-20140918/
http://www.w3.org/TR/2013/WD-html5-diff-20130528/
http://www.w3.org/TR/2012/WD-html5-diff-20121025/
http://www.w3.org/TR/2012/WD-html5-diff-20120329/
http://www.w3.org/TR/2011/WD-html5-diff-20110525/
http://www.w3.org/TR/2011/WD-html5-diff-20110405/
http://www.w3.org/TR/2011/WD-html5-diff-20110113/
http://www.w3.org/TR/2010/WD-html5-diff-20101019/
http://www.w3.org/TR/2010/WD-html5-diff-20100624/
http://www.w3.org/TR/2010/WD-html5-diff-20100304/
http://www.w3.org/TR/2009/WD-html5-diff-20090825/
http://www.w3.org/TR/2009/WD-html5-diff-20090423/
http://www.w3.org/TR/2009/WD-html5-diff-20090212/
http://www.w3.org/TR/2008/WD-html5-diff-20080610/
http://www.w3.org/TR/2008/WD-html5-diff-20080122/
Editor:
Simon Pieters (Opera Software ASA) <simonp@opera.com>
Previous Editor:
Anne van Kesteren <annevk@annevk.nl>

抂芁

"HTML5 Differences from HTML4"HTML4からのHTML5の差分は、HTML4ずHTML5仕様の違いに぀いお説明したす。

この文曞の䜍眮付け

この節は、公開時点におけるこの文曞のステヌタスに぀いお説明する。他の文曞がこの文曞に取っお代わるかもしれない。珟圚のW3C発行物のリストずテクニカルレポヌトの最新版は、W3C technical reports index at http://www.w3.org/TR/で芋぀けるこずができる。

これは、HTMLアクティビティの䞀郚であるHTMLワヌキンググルヌプによっお補䜜された2014幎12月9日のWorking Group Noteである。HTMLワヌキンググルヌプは、Working Group Noteずしおこの文曞を発行するこずを意図する。コメントのための適切なフォヌラムは、W3C Bugzillaである。public-html-comments@w3.org、公開アヌカむブメヌリングリストは、もはやコメントを远跡するために䜿甚されない。

W3C Working Group Noteずしおの公開はW3Cメンバヌによる支持を意味するものではない。この文曞は草案であり、い぀でも曎新、他の文曞による眮き換えや廃止扱いにされうる。進行䞭の䜜業以倖のものずしおこの文曞を匕甚するこずは䞍適切である。

この文曞は2004幎2月6日のW3C特蚱ポリシヌの䞋で掻動するグルヌプによっお䜜成された。W3Cは、グルヌプの成果物に関するあらゆる開瀺特蚱の公開リストを管理する。ここには、特蚱開瀺にあたっおの指瀺も含たれおいる。特蚱に぀いお十分に知識のある人物が、仕様にEssential Claim(s)が認められるず刀断した堎合は、W3C特蚱ポリシヌの第6章に埓い情報を開瀺する必芁がある。

この文曞は、2005幎10月14日のW3Cプロセス文曞によっお管理される。

目次

1 はじめに

1.1 この文曞の範囲

この文曞は、W3C HTML5仕様を取り扱いたす。この文曞は、W3C HTML5.1仕様、たたはWHATWG HTML暙準を取り扱いたせん。[HTML5] [HTML5NIGHTLY] [HTML]

1.2 HTMLの歎史

HTMLは1990幎代はじめにむンタヌネットに発衚されおから、今日たで進化し続けおきたした。ある機胜は仕様で取り蟌たれ、たたある機胜は゜フトりェアリリヌスで取り蟌たれたした。いく぀かの点で、実装ずりェブ開発の慣習は仕様や暙準に萜ち着きたしたが、䞀方で、たずたるこずはありたせんでした。

HTML4は、1997幎にW3C勧告になりたした。HTML4はHTMLの倚くの栞ずなる機胜の倧たかな指針ずしお圹立ち続けおいたすが、りェブコンテンツずずもに、盞互運甚実装を構築するための十分で重芁な情報を提䟛しおいたせん。同じこずが、HTML4にXMLシリアラむズずしお定矩するXHTML1や、HTMLずXHTMLの䞡方にJavaScript APIを定矩するDOM Level 2 HTMLにも圓おはたりたす。HTMLはこれらの文曞を眮き換えたす。[DOM2HTML] [HTML4] [XHTML1]

HTML仕様は2004幎に開始され、珟代的なHTML実装ずりェブコンテンツを研究する詊みを反映しおいたす。仕様は、

  1. HTMLず呌ばれる、HTML構文たたはXML構文で蚘述される1぀の蚀語仕様を定矩したす。

  2. 盞互運甚可胜な実装を促すために、詳现な凊理モデルを定矩したす。

  3. 文曞のマヌクアップを改良したす。

  4. りェブアプリケヌションのような、新しい衚珟に察しおマヌクアップずAPIを取り入れたす。

1.3 未解決の問題

HTML5仕様の"この文曞の状態"の節を参照しおください。

1.4 䞋䜍互換性

HTMLは、ナヌザヌ゚ヌゞェントがコンテンツを凊理する方法に぀いお䞋䜍互換性のある方法で定矩されおいたす。りェブ開発者に察しお比范的単玔な蚀語を維持するために、この文曞の別の節で説明されるような、たずえばCSSを䜿甚しお凊理するほうがよい衚珟に関する芁玠など、耇数の叀い芁玠ず属性は含たれおいたせん。

しかし、ナヌザヌ゚ヌゞェントは垞に叀い芁玠ず属性をサポヌトする必芁がありたす。これは、HTML仕様が明確にりェブ開発者仕様では「著者」ず呌ばれたすずナヌザヌ゚ヌゞェントに察する芁件を切り離す理由です。たずえば、これはりェブ開発者がisindexやplaintext芁玠を䜿甚できないこずを意味したすが、ナヌザヌ゚ヌゞェントは、どのようにこれら芁玠がりェブコンテンツの互換性のために振る舞う必芁があるかに぀いお互換性のある方法でそれら芁玠をサポヌトする必芁がありたす。

HTMLはりェブ開発者ずナヌザヌ゚ヌゞェントに個別の適合性芁件を持っおいるので、機胜を「非掚奚」deprecatedずしおマヌクする必芁がなくなりたした。

2 構文

HTMLは、りェブ䞊で公開されたHTML4やXHTML1文曞ずほが互換性のある「HTML構文」ず呌ばれる構文を定矩したす。しかし、この構文は凊理呜什や短瞮マヌクアップなどの難解なSGML機胜ず互換性がありたせん。これはほずんどのナヌザヌ゚ヌゞェントでサポヌトされおいないためです。HTML構文を䜿甚する文曞は、text/htmlメディアタむプで提䟛されおいたす。

HTMLはたた、この構文に察しお「゚ラヌ凊理」を含む詳现な構文解析芏則を定矩しおいたす。この構文は、HTML4時代の実装ず倧郚分は互換性をも぀ものです。ナヌザヌ゚ヌゞェントは、text/htmlメディアタむプを持぀リ゜ヌスに察しお、この芏則を䜿甚する必芁がありたす。HTML構文に適合する文曞の䟋は、次のようになりたす

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

HTMLで䜿甚できるもうひず぀の構文はXMLです。この構文はXHTML1文曞および、その実装ず互換性をもちたす。この構文を䜿甚する文曞は、たずえばapplication/xhtml+xmlやapplication/xmlのようなXMLメディアタむプで提䟛される必芁があり、芁玠はXML仕様で定められた芏則に埓っお、http://www.w3.org/1999/xhtml名前空間に眮かれる必芁がありたす。[XML] [XMLNS]

次の䟋は、HTMLのXML構文に適合する文曞の䟋です。


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Example document</title>
  </head>
  <body>
    <p>Example paragraph</p>
  </body>
</html>

2.1 文字゚ンコヌディング

HTML構文に察しお、りェブ開発者は文字゚ンコヌディングを宣蚀する必芁がありたす。次の3぀の方法がありたす

XML構文に察しお、りェブ開発者は文字゚ンコヌディングを指定するためにXML仕様に蚘茉された芏則を䜿甚する必芁がありたす。

2.2 Doctype

HTML構文は、ブラりザヌにペヌゞを暙準モヌドで衚瀺させるよう、DOCTYPEを必須ずしおいたす。DOCTYPEは、それ以倖の目的を持ちたせん。[DOCTYPE]

HTML構文に察するDOCTYPE宣蚀は<!DOCTYPE html>になりたす。これは倧文字ず小文字を区別したせん。HTML蚀語はSGMLベヌスであり、DTDぞの参照を必芁ずしたので、HTMLの以前のバヌゞョンからのDOCTYPEは長くなっおいたした。これはもはや問題ではなく、DOCTYPEはHTML構文で蚘述された文曞に察しお暙準モヌドを有効にするためだけに必芁ずされおいたす。ブラりザヌはすでに<!DOCTYPE html>を暙準モヌドのトリガヌずしお解釈しおいたす。

掚奚される短いDOCTYPEを生成できないレガシヌなマヌクアップゞェネレヌタをサポヌトするために、DOCTYPE <!DOCTYPE html SYSTEM "about:legacy-compat">がHTML構文で蚱可されたす。

HTML構文で、HTML4.0、HTML4.01、XHTML1.0、XHTML1.1の厳密なStrictDOCTYPEも蚱可されおいたすしかし、お勧めしたせん。

XML構文で、どのDOCTYPE宣蚀を䜿甚しおもよく、たたは完党に省略しおもよいです。これは、XMLのメディアタむプをも぀文曞は垞に暙準モヌドで衚瀺されるためです。

2.3 MathMLずSVG

HTML構文は、文曞内郚でのMathMLやSVGの䜿甚を蚱可したす。mathやsvg開始タグは、HTMLパヌサヌに適切な名前空間で芁玠ず属性を眮く特殊な挿入モヌドぞ切り替えさせ、倧文字ず小文字が混圚する芁玠ず属性の文字を修正し、そしおXMLのように空芁玠構文をサポヌトしたす。構文は䟝然ずしお倧文字ず小文字を区別しないで、属性はHTML芁玠の堎合ず同じ構文を蚱可したす。名前空間宣蚀を省略しおもよいです。CDATAセクションはこの挿入モヌドでサポヌトされたす。

HTML芁玠や新しいmathやsvg芁玠を䜿甚できるようするために、たずえばmtextやforeignObjectなど、䞀郚のMathMLずSVG芁玠は、パヌサヌに「HTMLモヌド」ぞ切り替えをさせたす。

たずえば、最䜎限の文法機胜の䞀郚を䜿甚するずおも単玔な文曞では、次のようになりたす

<!doctype html>
<title>SVG in text/html</title>
<p>
 A green circle:
 <svg> <circle r="50" cx="50" cy="50" fill="green"/> </svg>
</p>

2.4 雑則

觊れおおく䟡倀のあるHTML構文におけるいく぀かの倉曎点がありたす

3 蚀語

より明確にHTML4ずの違いを説明するために、このセクションは耇数のサブセクションに分かれおいたす。

3.1 新しい芁玠

次の芁玠が、より良い構造のために導入されたした

他にも新しい芁玠がありたす

input芁玠のtype属性には、以䞋の新しい倀がありたす

これらの新しい属性倀は、たずえばカレンダヌの日付遞択やナヌザヌのアドレスブックずの統合のような、ナヌザヌむンタヌフェむスをナヌザヌ゚ヌゞェントが提䟛し、定矩枈みのフォヌマットでサヌバヌに送信できたす。これらの属性によっお、より少ない時間でサヌバヌに送信する前にナヌザヌの入力をチェックできたす。これにより、ナヌザヌにより良い゚クスペリ゚ンスを提䟛したす。

3.2 新しい属性

すでにHTML4の䞀郚である芁玠に、耇数の属性が導入されおいたす

HTML4由来の耇数の属性は珟圚、すべおの芁玠に適甚されたす。これはaccesskey、class、dir、id、lang、style、tabindex、title属性であり、グロヌバル属性ず呌ばれたす。たた、XHTML 1.0はxml:space属性はいく぀かの芁玠にしか蚱可されたせんでしたが、XHTML構文では珟圚すべおの芁玠に蚱可されたす。

新しいグロヌバル属性も耇数ありたす

HTMLはたた、フォヌムのoneventを含む、HTML4からすべおのむベントハンドラをグロヌバル属性にしお、HTMLが新たに定矩するむベント甚の新芏むベントハンドラ属性、たずえば、メディア芁玠video芁玠ずaudio芁玠のためのAPIで䜿甚されるplayむベント属性、onplayむベントハンドラ属性などを远加したす。仕様は、すべおのむベントの玢匕を持ちたす。

3.3 倉曎された芁玠

以䞋の芁玠は、HTMLで意味をわずかに倉曎しおいるものです。これはりェブの䜿われ方を反映したり、より有甚にするため行われおいたす

3.4 倉曎された属性

耇数の属性がさたざたに倉曎されおいたす。

3.5 時代遅れのObsolete芁玠

このセクションにある芁玠は、りェブ開発者が䜿甚するべきではないものです。ナヌザヌ゚ヌゞェントは、ただそれらをサポヌトする必芁がありたすし、HTMLにおける様々なセクションでは、どのように扱うかを定矩したす。たずえば、時代遅れのisindex芁玠はパヌサヌのセクションによっお凊理されたす。

以䞋の芁玠の効果は玔粋な衚珟に関するものであっお、CSSによっおより良い凊理がされるため、以䞋の芁玠はHTMLに含みたせん。

以䞋の芁玠を䜿甚するず、ナヌザヌビリティヌずアクセシビリティヌを損なうため、HTMLに含たれたせん。

以䞋の芁玠は頻繁に䜿甚されない、混乱を生じる、たたは芁玠の機胜が他の芁玠で扱うこずができるために含みたせん

最埌に、noscript芁玠はHTML構文でのみ適合したす。XML構文で䜿甚できたせん。これは、芖芚的に隠すだけでなく、スクリプトを実行するコンテンツを防ぎ、スタむルシヌトを適甚し、送信可胜なフォヌムコントロヌルを持ち、リ゜ヌスを読み蟌むためなど、HTMLパヌサヌは、プレヌンテキストずしおnoscript芁玠の内容を解析しおいるためです。同じこずは、XMLパヌサヌで䞍可胜です。

3.6 時代遅れのObsolete属性

HTML4由来のいく぀かの属性は、もはやHTMLで蚱可されたせん。仕様は、ナヌザヌ゚ヌゞェントがレガシヌ文曞でそれら属性を凊理する方法を定矩しおいたすが、りェブ開発者は、それら属性を䜿甚する蚱可がされたせんし、怜蚌されたせん。

HTMLは、䜕が代わりに䜿甚できるかに぀いおの助蚀をしたす。

さらに、CSSによっおより良い凊理がされるため、HTMLはHTML4にあった衚珟を衚す属性を䞀切持ちたせん。

以䞋の属性が蚱可されたすが、りェブ開発者はこれらの䜿甚は勧められず、代わりに代替手段を䜿甚するこずを匷く勧めたす。

4 コンテンツモデル

コンテンツモデルは、ある芁玠の子たたは子孫ずしお蚱可されおいるもの―どのように芁玠を入れ子にできるかを定矩するものです。

高レベルで、HTML4は芁玠の2぀の䞻芁なカテゎリ、「むンラむン」span、img、テキストなどず「ブロックレベル」div、hr、tableなどを持っおいたした。䞀郚の芁玠は、カテゎリヌのどちらにも適合したせん。

ある芁玠は「むンラむン」芁玠を蚱可したずえばpなど、ある芁玠は「ブロックレベル」芁玠を蚱可したずえばbodyなど、䞀郚の芁玠はその䞡方を蚱可したしたたずえばdivなど。その䞀方である芁玠はどちらのカテゎリヌも蚱可したせんが、特定の芁玠のみを蚱可するたずえばdl、tableなど、たたはどの子も蚱可したせんでしたたずえばlink、img、hrなど。

芁玠自身が特定のカテゎリヌにあるこずず、特定のカテゎリヌのコンテンツモデルを持぀こずずの違いに泚意しおください。たずえば、p芁玠は「ブロックレベル」芁玠そのものですが、「むンラむン」のコンテンツモデルを持っおいたす。

コンテンツモデルをさらに混乱させるように、HTML4はStrict厳栌、Transitional移行ずFramesetフレヌムセットの皮類があり、異なるコンテンツモデルのルヌルを持っおいたした。たずえば、Strictで、body芁玠は「ブロックレベル」の芁玠のみを持おたしたが、Transitionalでは、「むンラむン」ず「ブロックレベル」の䞡方を持おたした。

䟝然ずしお物事をさらに混乱させるように、CSSは、芖芚敎圢モデルのための甚語「ブロックレベル芁玠」ず「むンラむンレベル芁玠」を䜿甚したす。これは、CSSの'display'プロパティに関係するもので、HTMLのコンテンツモデルのルヌルずは䜕の関係もありたせん。

CSSずの混乱を枛らすために、HTMLはコンテンツモデルのルヌルの䞀郚ずしお甚語「ブロックレベル」たたは「むンラむン」を䜿甚したせん。しかしながら、コンテンツモデルはHTML4より倚くのカテゎリヌを持ち、芁玠はそれらのいずれでもないか、いずれか、たたはそれらの耇数であっおもよいです。

HTML4から䞀目でわかる倉曎点ずしお、HTMLは、HTML4が「ブロックレベル」芁玠ず呌ばれるもののみを受け入れる芁玠をもはや䞀切持ちたせん。たずえば、body芁玠は珟圚、フロヌコンテンツを蚱可したす。したがっお、これはHTML4 StrictよりむしろHTML4 Transitionalにより近いものです。

さらに倉曎点を含みたす

5 API

HTMLは、倚くの新しいAPIを導入し、拡匵し、いく぀かの既存のAPIを倉曎たたは廃止したした。

5.1 新しいAPI

HTMLは、りェブアプリケヌションを補䜜する䞊で手助けずなる倚数のAPIを提䟛したす。これらのAPIは新しくアプリケヌションに導入された芁玠ず䞀緒に䜿甚できたす。

5.2 倉曎されたAPI

DOM Level 2 HTML由来の以䞋の機胜は、さたざたに倉曎されおいたす。

5.3 Documentぞの拡匵

DOMLevel 2 HTMLは、Documentから継承し、文曞のHTML固有のメンバヌを提䟛するHTMLDocumentむンタヌフェむスを持っおいたした。HTMLは、Documentむンタヌフェむスにこれらのメンバヌを移動しおおり、倚くの方法で拡匵したした。すべおの文曞は、Documentむンタヌフェむスを䜿甚するので、HTML固有のメンバヌは、すべおの文曞で䜿甚可胜です。その結果、たずえばSVG文曞などでも同様に䜿甚できたす。たた、耇数の新しいメンバを持ちたす

window.HTMLDocumentは珟圚、Documentむンタヌフェむスオブゞェクトを返すので、HTMLDocumentのプロトタむプを倉曎した既存のスクリプトは、動䜜を継続する必芁がありたす。

5.4 HTMLElementの拡匵

HTMLElementむンタヌフェむスもたた、HTMLで耇数の拡匵されおいたす

䞀郚のメンバヌは、以前はHTMLElementで定矩されおいたしたが、DOM暙準でElementむンタヌフェむスに移動されたす[DOM]

5.5 他のむンタヌフェむスぞの拡匵

DOM Level 2 HTMLのいく぀かのむンタヌフェむスが拡匵されおいたす。

さらに、ほずんどの新しいコンテンツもたた、芁玠のむンタヌフェむスで察応するIDL属性を持ちたす。たずえば、sizesコンテンツ属性を反映するHTMLLinkElementのsizesIDL属性など。

5.6 旧匏のObsoleteAPI

䞀郚のAPIは珟圚、完党に削陀されるか、旧匏ずしおマヌクされるかのいずれかです。

すべおのIDL属性は、それ自身が旧匏であるコンテンツ属性を反映し、珟圚もたた旧匏です。たずえば、旧匏のbgcolorコンテンツ属性を反映するHTMLBodyElement䞊のbgColorIDL属性は、珟圚旧匏です。

芁玠が旧匏であるので、次のむンタヌフェむスは旧匏ずマヌクされたすHTMLAppletElement、HTMLFrameSetElement、HTMLFrameElement、HTMLDirectoryElementおよびHTMLFontElement。

HTMLパヌサが他の芁玠にisindexタグを拡匵しおいるためにHTMLIsIndexElementむンタヌフェむスが完党に削陀されたす。芁玠は効果がありたせんので、HTMLIsIndexElementむンタヌフェむスず䞀緒に削陀されたす。芁玠が圱響を持たないので、HTMLBaseFontElementむンタヌフェむスも削陀されたす。

珟圚Documentに移動したHTMLDocumentむンタヌフェむスの以䞋のメンバヌは珟圚旧匏ですanchorsおよびapplets。

謝蟞

The editors would like to thank Ben Millard, Bruce Lawson, Cameron McCormack, Charles McCathieNevile, Dan Connolly, David HÃ¥sÀther, Dennis German, Frank Ellermann, Frank Palinkas, 矜田野倪巳 (Futomi Hatano), Gordon P. Hemsley, Henri Sivonen, James Graham, Jens O. Meiert, Jeremy Keith, Jukka K. Korpela, JÃŒrgen Jeka, Krijn Hoetmer, Leif Halvard Silli, Maciej Stachowiak, Mallory van Achterberg, Marcos Caceres, Mark Pilgrim, Martijn Wargers, Martin Leese, Martyn Haigh, Masataka Yakura, Michael Smith, Mike Taylor, Ms2ger, Olivier Gendrin, Øistein E. Andersen, Philip JÀgenstedt, Philip Taylor, Randy Peterman, Robin Berjon, Steve Faulkner, Toby Inkster, Xaxio Brandish, Yngve Spjeld Landro and Zhong Yu for their contributions to this document as well as to all the people who have contributed to HTML over the years for improving the Web!

参考文献

[CSSOM]
CSS Object Model (CSSOM), Simon Pieters and Glenn Adams. W3C.
[DOCTYPE]
Activating Browser Modes with Doctype, Henri Sivonen.
[DOM]
DOM, Anne van Kesteren, Aryeh Gregor and Ms2ger. WHATWG.
[DOM2HTML]
Document Object Model (DOM) Level 2 HTML Specification, Johnny Stenback, Philippe Le Hégaret and Arnaud Le Hors. W3C.
[HTML]
HTML, Ian Hickson. WHATWG.
[HTML4]
HTML 4.01 Specification, Dave Raggett, Arnaud Le Hors and Ian Jacobs. W3C.
[HTML5]
HTML5, Ian Hickson, Robin Berjon, Steve Faulkner, Travis Leithead et al.. W3C.
[HTML5NIGHTLY]
HTML 5.1 Nightly, Robin Berjon, Steve Faulkner, Travis Leithead et al.. W3C.
[XHTML1]
XHTML™ 1.1 - Module-based XHTML - Second Edition, Murray Altheim and Shane McCarron.
[XML]
Extensible Markup Language, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen et al.. W3C.
[XMLNS]
Namespaces in XML, Tim Bray, Dave Hollander, Andrew Layman et al.. W3C.