トップページ | HTML5編・目次

●HTML5とは?

更新日:
公開日:

 HTML5(※1)というとHTML4.01とXHTMLの中間にあるようなイメージですが、HTMLの延長というよりまったく新しいHTMLです。ただし、Webで使われる技術の仕様を策定しているW3CはHTMLの第5版(※2)として位置付けています。そして、HTML5の仕様書の見出しに“A vocabulary and associated APIs for HTML and XHTML(訳:HTMLとXHTMLのための語彙と関連したAPI)”と書かれているように従来のHTML文書、XHTML文書のマークアップ言語だけでなく、HTMLの構造を改善するための新しい要素が追加され、そして、DOM(※3)とAPI(※4)を含めたWebアプリケーションが使える広範囲な仕様になっているのが最大の特徴です。

 基本的には、そのWebアプリケーションを前提にした仕様である“Web Applications 1.0”という技術に“Web Forms 2.0”という技術を組み合わせたものが最終的にHTML5の仕様となっています。“Web Forms 2.0”は既存のHTMLのフォーム要素にはない豊富な機能が備わっているのが特徴です。また、HTML5では従来のHTMLの構造を改善するために新たに追加された要素および変更された要素や新しく追加された属性および変更された属性、要素の意味や役割、使い方の変更など大幅に改定されました。

 新要素でいえば、header要素、footer要素、nav要素のようにその要素を使うことにより従来の記述方法と比べてHTMLの構造が明確になった要素もあります。例えば、従来はbody要素にヘッダー領域を設置する場合は、「<div id="header">~」、フッター領域を設置する場合は、「<div id="footer">~」、ナビゲーションがある領域には、「<div id=”nav”>~」、あるいは、「<div id=” navigation”>~」といったように、id属性に使われる値は作者の感性に委ねられ、各サイトでばらばらでした。しかし、これらの要素を使うことにより、HTMLの構造を記述するソースが実にシンプルになり、かつ、用途に応じた区分けが明確になって記述が統一されるようになりました。

 また、スクリプトによる画像や動的グラフィックスを組み込めるcanvas要素、さらには動画データが組み込めるvideo要素やオーディオのデータを組み込めるaudio要素といったマルチメディア機能を使いやすくした要素が新たに追加されました。そのほかにもHTMLの構造を改善させるための要素や変更された要素が追加されています。

 これまではこういったWebアプリケーションやマルチメディアコンテンツを制作するためにはAdobeのFlash、MicrosoftのSilverlight、あるいはJavaアプレットといった特定の技術やプラグインに頼ってきましたがHTML5にはユーザーインターフェースでWebアプリケーションやWebサービスを簡単に呼び出せるAPIが利用できるようになっています。HTML5は制作側とユーザー・エージェントが明確に区別されており、制作側がいちいちユーザー・エージェントや独占的な、特定のプログラムを気にすることなく、HTMLの構造を記述するだけに専念することができます。

 いっぽう、font要素やbig要素のようにCSSで定義できるような見栄えに関する要素はHTML5では削除され、多くのHTML、XHTMLのDTD(文書型定義)、バージョンで非推奨か使えなかったcenter要素も削除されました。また、HTML 4.01 Frameset DTD、XHTML 1.0 Frameset DTDでしか使えなかったWebページの区画を分割する要素であるframe要素、frameset要素、noframes要素といった要素もHTML5では削除されました。

 2009年7月2日にW3CがXHTML 2.0策定の打ち切りを決定し、今後はHTML5の標準化に注力する方針を打ち出したことにより、今後のWebページの仕様言語はHTML5へ大きく方向転換しました。HTML5はHTML構文を使ってHTML 4.01のようにも書け、XML構文(XHTML構文ともいう)を使ってXHTML 1.0のようにも書け、既存のHTMLやXHTMLとの互換性もあることから今後、普及することが期待されます。なによりもWebアプリケーションを取り入れたWebページのニーズの方が圧倒的に多いことを考えると事実上の標準化仕様になることが想定されます。あとは、HTML5の新しい要素を各メジャーブラウザが対応するか否か、アクセシビリティをどう考慮するかですが、以前シェアの大きかったWebブラウザ、Internet Explorer(v8以下)がHTML5の新要素に対応しておらず、その辺の兼ね合いだと思われます。しかし、Firefox、Opera、Google chrome、Safariといったメジャーブラウザは積極的にHTML5の仕様を取り入れていますし、v9以降のInternet Explorerは新要素に対応しています。また、v8以下のIEに対しては、head要素内にJavaScriptライブラリを使うことによりHTML5で追加された新しい要素を認識させる方法があります。(別項参照)

(追記:
 v8以下のIEのHTML5の新要素未対応問題は、Microsoft のIEに対するサポートが2016年1月12日より、各OSの最新版の IEのみへと変更になったこと、Windows 10の規定(デフォルト)のWebブラウザがMicrosoft Edgeになったことなどから無視できつつあります)

 現在、HTML5は2014年10月28日にW3Cから正式に勧告され、さらに2016 年11月1日にHTML 5.1が勧告されました。現在、HTML 5.2がドラフト(草案)段階にあります。

※1:HTML5の読み方は、エイチティーエムエル・ファイブ。HTMLと5の間に半角スペースは入りません。入らないのが正しい表記です。

※2:何に対して第5版なのか仕様には書かれていませんが、W3Cの中心的な言語であるHTMLの5番目の大幅な改定を定義するものであるとから単純にW3CにおけるHTML1系(HTML 1.0、他)、HTML2系(HTML 2.0、他)、HTML3系(HTML 3.0、HTML 3.2)、HTML4系(HTML 4.0、HTML 4.01)に次ぐ、第5版と筆者は解釈した。

※3:DOMとは“Document Object Model”の略でW3Cが正式に公開したひとつのAPI。DOMは画像、音声やテキストを含めたHTML文書、XML文書をオブジェクトとして扱い、プログラムやスクリプトでそれらの文書を参照あるいは操作するための仕組みのこと。プログラムやスクリプトと書きましたがHTML5における実態は主にJavaScriptである。JavaScriptプログラムでHTML文書、XHTML文書の要素に含まれる属性(id属性)にアクセスし、文書に含まれるテキストや画像、音声といった内容を変えたりする技術。例えば、異なるテキストを表示したり、色を変えたり、画像をアニメーションのように動かしたりするのがDOM。それは膨大な量であると言われる。

※4:APIとは“Application Program Interface”の略で、一般的にはユーザーのOSやアプリケーションソフト、あるいはWeb上に存在するアプリケーションが持つ機能の一部を外部のアプリケーションソフトウエアやオンラインサービス、あるいはWebサービスを高度に洗練されたJavaScriptなどのプログラムで呼び出すことにより簡単に利用できるインターフェースのこと。個々のプログラマーが個別にプログラムを書いていては効率が悪いし、書き方や動作も異なるため、こうやって誰もがユーザーのOSに備わっているインターフェースでWebアプリケーションやWebサービスを簡単に呼び出して使えるようにした仕組みがAPI。APIとDOMは厳密には異なるがHTML5におけるDOMとAPIはJavaScriptベースの高度なスクリプト言語を使って、ビデオやオーディオの再生、保存作業、オフライン作業、編集作業、ドラッグ&ドロップといった作業が簡単に行えるように定義されている。

サイト・目次 | HTML5編・目次

Copyright (C) 2011 http://www.xml.vc/ All Rights Reserved.