HTML5 技術仕様

HTML5

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/17 02:51 UTC 版)

技術仕様

エンコーディング

文書の文字コードにはUTF-8を推奨している。文書の文字コードの指定は、meta要素におけるcharset属性で指定する。これとHTTPレスポンスヘッダーのcontent-typeでエンコード宣言が省略された場合はUTF-8が既定となる。またcharset属性を含めたmeta要素は文章先頭から1024バイト以内に記載する必要がある[21]

文書の構造

従来のHTMLやXHTML規格は、仕様に書かれた文書構造のルールだけではなく、妥当性検証のためのDTD(およびそのほかのスキーマ)を提供していた。一方、HTML5仕様ではスキーマは提供されない。文書構造のために提供されるのはHTML5仕様に列挙されている各種ルールのみである。

従来のHTMLとの文法の差異

HTML5仕様は以下のふたつの構文を採用している。

  • HTML5仕様書の中で定義されるHTML構文 → 狭義のHTML5
  • HTML5仕様書からXMLおよびその関連仕様を参照して定めているXML構文

一方、従来のHTML仕様はSGMLをその構文に採用している。SGMLおよびその関連仕様を参照しており、規格ごとに以下のような差異もある。

  • SGML規格本体のみを参照しているもの → HTML 4.0以前
  • SGML規格本体および付属書J、付属書Kを参照しているもの → HTML 4.01や、ISO/IEC 15445など

主にこのような違いのために、HTML5と従来のHTMLとの間には基本的な文法の差異が多い。以下にその代表的な例を挙げる。

SGML宣言

SGMLを採用していた従来のHTML規格においては、HTML文書は本質的にSGML文書であったため、HTML規格がそれぞれ提供するSGML宣言を文書の先頭に記述することが仕様上許されていた。一方HTML5の仕様では、HTML構文、XML構文のいずれを用いた場合でも、文書中にSGML宣言を記述することは許されていない。

文書型宣言およびDTDの扱い

HTML5仕様においては、文書型宣言はもはやモード指定以外の意味をなさず、その書式は “<!DOCTYPE html>” である。

HTML構文では文書型宣言は必須である。XML構文では、HTML5で導入される新しい機能を利用する場合は必須、それ以外の場合は文書型宣言は必須ではない。

従来のHTML規格で提供されていたDTDがなくなり、また文書型宣言の書式が決まっているため、HTML5ではDTDが利用できず、DTDに依存する多くの機能のほとんどが扱えなくなる。例としては、HTML4以前に扱えていた文字実体参照のほとんどがHTML5では扱えなくなる(XMLは文書内部にDTDを書くこともできるが、上記の文書型宣言の決まりを無視する結果となるため、HTML5の仕様の範疇ではない)。

処理命令

SGMLを採用していた従来のHTML規格では、文書内に処理命令を記述することができた。実際に用いられている例として、DTDを他の処理系で利用するための「architectural support declaration」が存在する (ISO/IEC 15445)。

一方、HTML5仕様におけるHTML構文ではSGMLの処理命令は記述できず、同様の機能も利用できない。XML構文であればXMLの処理命令は書ける。

マーク区間

SGMLを採用していた従来のHTML規格では、マーク区間 (marked section) と呼ばれる仕組みが利用できた。以下に例を挙げる。

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<html><head><title>...</title></head>
  <body>
    <p><![INCLUDE[ INCLUDE...マーク区間宣言がない場合と同じように解釈される ]]></p>
    <p><![IGNORE[  IGNORE ...マーク区間の中身を無視される ]]></p>
    <p><![RCDATA[  RCDATA ...マーク区間の中身がRCDATAとして処理される ]]></p>
    <p><![CDATA[   CDATA  ...マーク区間の中身がCDATAとして処理される ]]></p>
    <p><![TEMP[    TEMP   ...マーク区間の中身が一時的なものとして扱われる ]]></p>
  </body>
</html>

上に挙げた例のうち、HTML5仕様で利用できるのはCDATAセクションのみである。

コメントと注釈宣言

SGMLのコメントは「-- コメント文 --」という形を取り、マーク宣言中の空白文字の出現が許されている場所に任意の回数書くことができる。したがって従来のHTMLでは文書型宣言の中などでもコメントを挿入することが可能で、例えばISO/IEC 15445の文書型宣言は

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN" --コメント-->

のようにも書ける。一方、HTML5の文書型宣言にはコメントを挿入することはできない。

また、注釈宣言の扱いも従来のHTMLとHTML5では異なる。SGMLを採用していた従来のHTMLでは注釈宣言の中に任意の回数コメントを書くことができるが、HTML5ではHTML構文でもXML構文でもこのような書き方は認められていない。また、従来のHTMLでは注釈宣言内の最後のコメントと終了区切り子の間に空白文字を挿入することもできたが、HTML5ではこのような書き方も認められていない。

<!--コメント1-- --コメント2-- --HTML5ではこのような注釈宣言は書けない-->
<!-- この注釈宣言の書き方もHTML5では不可能--  >

終了区切り子の省略

SGMLをもとにした従来のHTMLでは、タグやマーク宣言の終了区切り子「>」が、文字列「<」「</」の直前に存在する場合、その終了区切り子「>」を省略することが仕様の上では許されていた[注 9]。HTML5では終了区切り子の省略はできない。

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<html<head<title>Sample</title</head>
<body<p>「閉じないタグ」の例。終了区切り子が省略されている</p</body</html>

空タグ

SGMLにおける空タグとは要素型名などが書かれていない空っぽのタグのことである。従来のHTMLでは空タグの存在を許しており、利用できる場所は限られるが、空開始タグ「<>」と空終了タグ「</>」が仕様の上では記述できる。一方、HTML5では空タグを利用することはできない。

簡略終了タグ

SGML規格には、NET(簡略終了タグ)と呼ばれる仕組みが存在する。従来のHTMLでのNETは「/」であり、仕様上では、 「<p>文章</p>」という記述を「<p/文章/」と書くような記法が許されていた。

一方のHTML5に簡略終了タグという仕組みはない。ただし、後述する空要素の開始タグを "<br />" などと記述する方法は、(従来のSGMLの立場では)NETを利用したものと解釈することはできる。XMLの空要素タグも、SGMLの立場からはNETおよび付属書KのNESTCを利用した記法であると解釈できる。

空要素のタグ

従来のSGMLおよびHTMLにおける空要素は、DTDで内容モデルを空 (EMPTY) と決められた要素のことである(例:br要素)[注 10]従来のHTMLでは、空要素の終了タグを書くことは許されていない[注 11]。よって例えば、br要素のタグを「<br />」や「<br></br>」のように記述することもできない。

HTML5のHTML構文における空要素は、内容を含むことができない要素のことである[22]。空要素はその開始タグを「>」「/>」のいずれかで閉じることができる。例を挙げると、br要素のタグは「<br>」と記述するほかに、XML構文のように「<br />」と記述することもできる。ただし空要素の終了タグを書くことはできない[23]。また、このような記法が許されるのは空要素または外部要素 (foreign element) のタグのみで、その他の要素の開始タグは「>」で閉じねばならない。例えば、HTML5のHTML構文では内容を含まないp要素を「<p />」のように書くことはできない。

XML仕様においては、空要素 は内容を含まない要素のことである[24]。HTML5のXML構文では、空要素は直後に終了タグを伴う開始タグ(例:「<br></br>」)、あるいは空要素タグ(例:「<br />」)のどちらでも表現できる。

HTML5 の要素と属性

nav要素(ナビゲーションのブロック用)やfooter要素(作者や著作権の状態を表すまとまり用)やsection要素(節)やprogress要素(進捗状況)など、特別な意味を持つ要素が追加される。これらは検索エンジンのインデックス作業を容易にする。また、マルチメディアのためのaudio要素やvideo要素や2次元ビットマップ画像を描画するためのcanvas要素も追加される。

HTML 4.01で非推奨だったfont要素やcenter要素などのCSSによって実現されるべきマークアップはすべて廃止されることとしている。acronym要素も廃止され、abbr要素に一本化される。

lang属性は、XML構文におけるxml:lang属性のように空の文字列をとり得る。

新しいAPI

HTML5ではマークアップだけでなく、API も新しく追加された。たとえば、以下のようなものである。

  • ビデオやオーディオの再生
  • 保存
  • オフライン
  • 編集
  • ドラッグ&ドロップ
  • 戻るボタン
  • Webページ上のメニュー

エラーの取り扱い

HTML5 (text/html) 対応ブラウザは間違った構文を柔軟に処理できる。HTML5は、古いブラウザが新しいHTML5の構造を安全に無視することが出来るように設計されている。HTML 4.01とは対照的に、HTML5は対応したブラウザであれば間違った構文に対して同じ結果となるように、字句解析構文解析のための詳細な規則を規定している[25]

XML構文とXHTML5

今のXML構文に対して、当初「XHTML5」という表現も使用されていた[26][27]

その後、2016年、WHATWG HTML標準ではXHTMLという用語を廃止し[28][29]、それ以降は単にXML構文 (XML syntax)と表記している。これにより、W3C HTMLでもHTML 5.2から同様にXML構文の語を採用している。


注釈

  1. ^ : First Public Working Draft
  2. ^ : Last call working draft
  3. ^ : Candidate Recommendation
  4. ^ : Proposed Recommendation
  5. ^ : W3C Recommendation
  6. ^ 2014年4月29日版を勧告候補とした後、2014年6月17日に差し戻しを宣言して2014年7月31日版となる。Philippe le Hegaret (2014年6月17日). “HTML5: ON OUR WAY TO RECOMMENDATION”. W3C. 2020年8月8日閲覧。
  7. ^ a b 最終草案との記載はないが事実上の最終草案。
  8. ^ 内容はHTML 5.1勧告そのもの
  9. ^ 終了区切り子を省略したタグは「閉じないタグ」と呼ばれた。JIS X 4151 "閉じない開始タグ" "閉じない終了タグ"
  10. ^ ただし、単に内容がないだけの要素を空要素と呼ぶこともある。このため、単に内容がない要素との区別のために、SGMLの付属書Kなどでは強制空要素 (mandatorily empty element) という用語も使われる。
  11. ^ SGML規格に付属書Kが加わる以前には、空要素の終了タグを記述すること自体が禁止されており。また、付属書Kを参照したHTML 4.01やISO/IEC 15445 でも、HTML4以前と同様に空要素の終了タグを記述してはならないこととなった。またいずれのHTML規格でもNETは "/" だった。

出典

  1. ^ W3C HTML”. www.w3.org. 2021年10月15日閲覧。
  2. ^ HTML5勧告–オープン・ウェブ・プラットフォームの重要なマイルストーンを達成
  3. ^ HTML 5.1 is a W3C Recommendation | W3C News
  4. ^ HTML 5.2 is done, HTML 5.3 is coming | W3C Blog
  5. ^ HTML Review Draft — Published 29 January 2020 is a W3C Recommendation | W3C News” (英語). 2021年6月21日閲覧。
  6. ^ The WHATWG Blog » Blog Archive » Spelling HTML5
  7. ^ “OperaのCEO:「HTML 5でFlashは不要になりつつある」”. CNET Japan. (2009年5月25日). http://japan.cnet.com/marketing/story/0,3800080523,20393688,00.htm 2012年5月30日閲覧。 
  8. ^ “Microsoft がAppleやGoogleと同調”Webの未来はHTML5だ”–IE固有仕様がやっと一掃へ”. TechCrunch Japan. (2010年5月1日). http://jp.techcrunch.com/archives/20100430microsoft-html5/ 2012年5月30日閲覧。 
  9. ^ W3C HTML5 Logo
  10. ^ HTML 5.2 IS NOW A W3C RECOMMENDATION”. W3C (2017年12月14日). 2020年8月8日閲覧。
  11. ^ HTML 5.2 IS NOW A W3C RECOMMENDATION”. W3C (2017年12月14日). 2020年8月8日閲覧。
  12. ^ 草案(Working Draft; WD ワーキング・ドラフト)……2018年10月18日 - 2020年8月時点での最新版
  13. ^ HTML 5.3 W3C Working Draft, 18 October 2018”. W3C (2018年10月18日). 2020年8月8日閲覧。
  14. ^ a b 新野淳一 (2019年6月10日). “HTML標準仕様の策定についてW3CとWHATWGが合意 今後はWHATWGのリビングスタンダードが唯一のHTML標準仕様に”. ITmedia NEWS. 2020年3月20日閲覧。
  15. ^ 渡邉卓 (2017年1月1日). “2017年のWeb標準”. gihyo.jp » WEB+DESIGN STAGE » 一般記事 » 新春特別企画. 技術評論社. 2017年3月25日閲覧。
  16. ^ もんど (2016年10月21日). “W3Cのは『欠陥フォーク』!? HTMLスナップショット2016 ── HTML5 Conference 2016セッションレポート”. HTML5Experts.jp. 2017年3月25日閲覧。
  17. ^ Ito, Hayato. “六本木ではたらくソフトウェアエンジニアへのよくある質問とその答え (FAQ) (2015 - 2017) — hayato.io”. 2017年3月25日閲覧。 “私も含めて Chrome の開発者が参考にするのは W3C HTML5仕様ではなく WHATWG の HTML Living Standard です。”
  18. ^ 矢倉眞隆 (2015年11月25日). “まだぼやけているHTML5の将来、WHATWGとの二重管理のジレンマ。W3C TPAC 2015 - Publickey”. Publickey. 2017年3月25日閲覧。 “ブラウザベンダーの開発者の多くはフィードバックが仕様にすぐ反映されることからWHATWG HTMLや「Living Standard」と呼ばれるモデルを好んでいます。(中略)そのためマイクロソフトなどはWHATWGの仕様には直接的に関与していません。もっとも、マイクロソフトから「EdgeチームもWHATWG HTML仕様を参照しているので、(WHATWG HTMLに)特許ポリシーがあれば…」という発言があったのも事実です。”
  19. ^ どうしてHTML5が廃止されたのか” (2023年4月5日). 2021年6月21日閲覧。
  20. ^ HTML REVIEW DRAFT — PUBLISHED 29 JANUARY 2020 IS A W3C RECOMMENDATION”. W3C. 2021年5月21日閲覧。
  21. ^ 4.2.5.5. Specifying the document’s character encoding
  22. ^ 原文HTML5仕様 "Void elements can't have any contents (since there's no end tag, no content can be put between the start tag and the end tag)."
  23. ^ 原文HTML5仕様 "Void elements only have a start tag; end tags must not be specified for void elements"
  24. ^ 原文XML仕様 "An element with no content is said to be empty."
  25. ^ FAQ – WHATWG Wiki”. WHATWG. 2008年2月25日閲覧。
  26. ^ The WHATWG Blog » Blog Archive » XHTML5 in a nutshell
  27. ^ HTML 5 + XML = XHTML 5 | HTML5 Doctor
  28. ^ Refer to XML rather than XHTML syntax · whatwg/html@643d1bc” (英語). GitHub (2016年11月25日). 2021年4月17日閲覧。
  29. ^ Rename "XHTML parsing" etc to more-accurate "XML parsing" by sideshowbarker · Pull Request #2062 · whatwg/html” (英語). GitHub. 2021年4月17日閲覧。
  30. ^ “S・ジョブズ氏、「Flash」に対する考えを公開書簡で明らかに”. CNET Japan. (2010年4月30日). http://japan.cnet.com/news/ent/20412895/ 2012年5月30日閲覧。 
  31. ^ “iPadユーザーの9割が満足、一番の不満点は「Flash非対応」――米調査”. ITmedia. (2010年5月24日). http://www.itmedia.co.jp/news/articles/1005/24/news018.html 2012年5月30日閲覧。 
  32. ^ “スマートフォンの“Flash対応”ニーズ高く――MMD研究所調べ”. ITmedia. (2010年10月22日). http://www.itmedia.co.jp/promobile/articles/1010/22/news099.html 2012年5月30日閲覧。 
  33. ^ AdobeのCTOがFlash擁護 「HTML5があればFlashは不要」論に反論、ITmedia、2010年2月2日
  34. ^ アドビがFlash Catalystで考えていること HTML5はFlashの脅威か?エバンジェリストに聞いた
  35. ^ Flashは比べようもないほどHTML5より優れている
  36. ^ “アドビ、モバイル版「Flash Player」の開発を中止”. CNET Japan. (2011年11月10日). http://japan.cnet.com/news/service/35010339/ 2012年5月30日閲覧。 
  37. ^ Adobe CTO Kevin Lynch Headed to Apple
  38. ^ “英Financial TimesがHTML5アプリを公開、Appleのアプリ内課金を回避”. INTERNET Watch. (2011年6月8日). http://internet.watch.impress.co.jp/docs/news/20110608_451358.html 2012年5月30日閲覧。 
  39. ^ “Open Mobile Summit 2011 San Francisco:HTML5か、ネイティブアプリか、それが問題だ”. ITmedia. (2011年11月10日). http://www.itmedia.co.jp/promobile/articles/1111/10/news018.html 2012年5月30日閲覧。 





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HTML5」の関連用語

HTML5のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HTML5のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHTML5 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS