在来HTMLの次世代版とされている、HTML 5について、私見を交えて解説します。
HTML 5とは、WHATWGとW3Cが共同で策定している次世代のHTML規格です。
もともと、W3CはXHTMLの普及に力を入れ、XHTML 2.0の策定を進めてきました。
しかし、後方互換性を無視した仕様の策定にはウェブブラウザヴェンダから反発があり、その結果大手ヴェンダであるもじら財団, アップル社, オペラ・ソフトウェアの三社でWHATWGが立ち上げられ、より現実的且つ互換性と拡張性を兼ね備えた仕様としてHTML 5の規格化に着手しました。
一方、XHTMLが殆ど現場では支持されていないと言う事実(CMSなどの普及でXHTML 1.0文書は確かに増えたのですが、そのどれもが在来のHTMLの代用としての使い方に留まっていて、XMLの利点を生かしたものとなっていない)を突きつけられ、W3Cはそれまでの理想を追う路線から現実に沿って発展させて行く方針に転換する事となり、WHATWGが提案したHTML 5の規格化を行う事としました。
HTML 5の大きな特徴は、単にHTMLの仕様のみに留まらず、ウェブブラウザがDOMやクライアントサイドスクリプト言語とともに実装すべきAPIを規格化した事です。
これに依り、HTML 5に準拠したウェブブラウザ上では、主にJAVAスクリプトを用いてリッチなアプリケーションが実現出来るようになります。
SVG(グラフィックを実現するマークアップ言語)やMathML(数式の記述に特化したマークアップ言語)についても、それぞれ<math>要素及び<svg>要素としてマークアップする事で記述が可能です。
XHTMLではそれぞれの名前空間を指定して記述する必要がありましたが、その必要さえなくなりました。
HTML 5のもう一つの特徴は高い後方互換性にあります。
W3Cに草案が持ち込まれるまではHTML 4.01とは全く異なる仕様と言う感じがしたものでしたが、平成21年12月 7日現在、HTML 5の草案はW3Cの助言などを経て後方互換性が極めて高いものとなっております。
従来あってHTML 5で廃止される事となっている要素等についても、以下のような形で対応を求めております。
具体的には、文法チェッカでは当該要素が廃止された旨を警告するものの、不適合文書と見なさないと言う事です。
こうする事でHTML 4.01からの移行をスムーズに進める事が可能になります。
HTML 4.01 トランジッショナルから使わないように求められてきた、いわゆる非推奨要素・属性の多くはHTML 5では当然削除されますが、そうするとHTML 5に移行していない文書は取扱が不可能になる恐れがあります。
そのため、そう言った要素・属性はHTML 5文書ではエラーとするものの、取扱いを可能にするため、実装する事を強く求めている次第です。
つまり、文書作成者側への約束事と、ウェブブラウザのヴェンダへの要求事項を明確にする事で、新しい仕様の利用と旧い文書の活用の双方を実現するようにしているのです。
また、新機能に於いても、少なくとも二つの実装例が現われない限りは正式なものとしない方針を採っており、これに依りかつてのCSSやHTML 4.0のようにウェブブラウザの対応が進まなかった事でウェブ文書制作者側が困る事がないようにしております。
HTML 5は現在仕様の策定中で、西暦2010年(平成22年)秋には正式に勧告される予定です。
ですが、既にグーグルなど一部のウェブサイトでは、HTML 5(の草案)に準拠にした文書を公開し始めております。
HTML 5は従来の在来HTMLと異なり、SGMLの応用言語である事を放棄しております。
もともと、HTMLはSGMLの応用言語とされてはいたものの、実際にはSGMLの仕様通りに処理するウェブブラウザは全くと言って良いほどありませんでした。
一方、SGML応用系にしてしまうと、例えばスクリプト処理やプラグインで必要な任意の属性などが記述出来なくなります。或いは、MathMLやSVGなどの埋め込みも出来なくなります(DTDに完全に縛られるため)。
こう言った事から、SGMLの応用系である事に固執する必要が無いと判断されたのでしょう。
HTML 5では、多くの要素・属性の追加とともに、廃止も行われております。
ただ、廃止と言っても実際には殆ど用いられていないような要素や属性或いはHTML 4.01で廃止の可能性を示唆されていた要素や属性が中心なので、HTML 4.01 ストリクトなどで文書を作成していた場合にはそれ程大きな変更点は見当たらないかと思います。
また、表関連の要素について、アクセシビリティの見地から導入された一部の属性が余り有用でなかった事などから廃止されているものもあります(<table>要素のsummary属性など)。
当サイトでは、主なもののみを解説しておりますが、長くなり過ぎましたので以下の別文書で解説いたします。
HTML 5では従来のDOMでは非公認とされているinnerHTMLプロパティ及びouterHTMLプロパティを正式に規格化しております。
HTML 5はSGML応用言語ではないため、DTDも存在せず、文書型宣言は不要となりました。
しかし、文書型宣言の有無及び書式に依りCSSの取扱いを変更するウェブブラウザ(インターネットエクスプローラ)があるため、標準に従った挙動となるよう以下の文書型宣言もどきを記述する事としております。
<DOCTYPE html>
尚、HTML 5は殆どそのままでXHTML化する事が可能になっており、XHTML化した場合には文書型宣言は完全に不要となります。
HTML 5の利用については、正直なところ問題点は殆どないと思われます。
しかし、まだ勧告されていない以上、草案の変更と言うリスクが伴う事は否定出来ません。
ですから、そのようなリスクに対応出来る方が、自己責任で利用するのが良いと思われます。