HTML Living StandardとHTMLの歴史

目次

HTML Living Standard の概要

HTML 1.0~2.0 は IETF が、HTML 3.2~5.2 は W3C が標準化を進めていましたが、W3C とは別に、Apple, Mozilla, Opera の開発者らが設立した WHATWG という団体が独自に策定を進めている HTML 仕様です。HTML Living Standard と呼ばれ、バージョン番号や第何版という概念がなく、日々、改版が進められています。

現在では、W3C による HTML5 の仕様策定は中止され、HTML Living Standard が HTML の標準仕様となっています。以下では、HTML 1.0 から HTML Living Standard に至るまでの HTML の歴史について紹介していきます。

手っ取り早く要素の追加・削除の歴史を見るには HTML要素一覧 を参照してください。

HTML 1.0

1990年にCERN(欧州原子核研究機構)のティム・バーナーズ=リーが WWW プロジェクトを公開しました。HTML の素案は1993年6月にインターネット標準化団体 IETF の IIIR Working Group から Internet Draft として公開されています。著者はティム・バーナーズ=リーです。HTML は米国国防総省の電子マニュアルなどで利用されていた SGML の規約に従い DTD という記法で定義されています。SGML の思想に従い、文書の意味付けを行うものでしたが、B(太字)、I(イタリック文字)、U(下線)、TT(等幅) などの見栄えを制御する要素もすでに含まれていました。

HTML / HEAD / TITLE / ISINDEX / NEXTID / LINK / BASE / BODY / H1 / H2 / H3 / H4 / H5 / H6 / P / DL / DT / DD / UL / OL / DIR / MENU / LI / BLOCKQUOTE / ADDRESS / PRE / A / IMG / EM / STRONG / CODE / SAMP / KBD / KEY / VAR / DFN / CITE / TT / B / I / U / LISTING / PLAINTEXT / XMP

HTML+

1993年11月には、後に XHTML 策定にも関わるデーブ・ラゲットを中心に HTML+ という仕様が発表されています。

HTML+ では HTML の代わりに HTMLPLUS を用います。

HTMLHTMLPLUS

BR(改行)、HR(水平線)、TABLE(テーブル)、FORM(フォーム)などの要素が追加されています。

BR+ / HR+ / TABLE+ / CAPTION+ / TR+ / TH+ / TD+ / FORM+ / INPUT+ / TEXTAREA+ / SELECT+ / OPTION+ / ADDED+ / CHANGED+ / REMOVED+ / ABBREV+ / ABSTRACT+ / ACRONYM+ / ARG+ / BOX+ / BYLINE+ / CMD+ / FIG+ / FOOTNOTE+ / IMAGE+ / L+ / LIT+ / MARGIN+ / MATH+ / MH+ / NOTE+ / OVER+ / PERSON+ / Q+ / QUOTE+ / / RENDER+ / S+ / SUB+ / SUP+ / TAB+

あまり使われていない KEY や、SGML の仕様上問題のある XMP などの要素は削除されました。

KEY× / LISTING× / PLAINTEXT× / XMP×

HTML 2.0

1995年11月には IETF から正式に HTML 2.0 が公開されました。著者はティム・バーナーズ=リーです。

HTML1.0 をベースとし、META が追加された他、HTML+ から HR(水平線), BR(改行)、FORM関連が採用されました。

META+ / BR+ / HR+ / FORM+ / INPUT+ / TEXTAREA+ / SELECT+ / OPTION+

KEY, DFN は削除されました。

KEY× / DFN×

1996年5月には TABLE関連も追加されました。

TABLE+ / CAPTION+ / THEAD+ / TFOOT+ / TBODY+ / COLGROUP+ / COL+ / TR+ / TH+ / TD+

Netscape Navigator 1.0~4.0

Firefox ブラウザの前身である Netscape 社の Netscape Navigator 1.0 (1994年) ~ Netscape Navigator 2.0 (1995年) では、下記の要素が追加されました。FONT によりカラフルな文字を表現したり、SCRIPT で JavaScript を用いたダイナミックなページを作成することが可能となり、HTML は一般の利用者に広まっていきました。

FONT+ / BASEFONT+ / CENTER+ / BIG+ / SMALL+ / SUB+ / SUP+ / BLINK+ / NOBR+ / WBR+ / MAP+ / AREA+ / EMBED+ / NOEMBED+ / FRAME+ / FRAMESET+ / NOFRAMES+ / SCRIPT+ / NOSCRIPT+ / APPLET+ / PARAM+ / KEYGEN+

Netscape Navigator 3.0 (1996年) ではさらに、マルチカラムや隙間空けの要素が追加されました。

MULTICOL+ / SPACER+

Netscape Communicator 4.0 (1997年)ではさらに、Dynamic HTML の実現としてレイヤを扱う要素が追加されました。

LAYER+ / ILAYER+ / NOLAYER+

Internet Explorer 1.0~4.0

同じころ、Microsoft社の Internet Explorer でも、1.0(1995年)、2.0(1995年)、3.0(1996年)、4.0(1997年) で Netscape Navigator とのブラウザ戦争を繰り広げ、独自の要素をサポートしてきました。

BGSOUND+ / COMMENT+ / IFRAME+ / MARQUEE+ / OBJECT+

HTML 3.2

ブラウザ戦争が繰り広げられる中、IETF において HTML 3.0 の仕様策定が進められていましたが頓挫し、代わりにティム・バーナーズ=リーが設立した W3C が HTML 3.2 の仕様を策定・公開しました。以降、HTML の仕様は IETF ではなく W3C が作成することになります。FONT や CENTER などの見栄え要素も追加されています。CSS も 1996年に公開されています。

HTML 2.0 と比べると、HTML 2.0 で削除された DFN が復活。Netscape で強化された FONT, BASEFONT, CENTER, BIG/SMALL, SUP/SUB, MAP/AREA, SCRIPT, APPLET/PARAM を採用。加えて STYLE, DIV, CAPTION が追加されました。

DFN+ / FONT+ / BASEFONT+ / CENTER+ / BIG+ / SMALL+ / SUP+ / SUB+ / MAP+ / AREA+ / SCRIPT+ / APPLET+ / PARAM+ / STYLE+ / DIV+ / STRIKE+ / CAPTION+

テーブル関係では TABLE, CAPTION, TR, TH, TD は追加されましたが、THEAD, TBODY, TFOOT, COLGROUP, COL は採用が見送られました。

TABLE+ / CAPTION+ / TR+ / TH+ / TD+ / THEAD× / TBODY× / TFOOT× / COLGROUP× / COL×

NEXTID は削除されました。

NEXTID×

HTML 4.x

その後、W3C は 1997年に HTML 4.0、1999年に HTML 4.01 を勧告します。

HTML 3.2 に比べ、テーブルで採用が見送られていた TBODY, TFOOT, THEAD, COLGROUP, COL を正式採用。Netscape から NOSCRIPT および FRAMESET, FRAME, NOFRAMES を採用。加えて IFRAME を追加。Internet Explorer から OBJECT を採用。フォーム関連で BUTTON, FIELDSET, LABEL, LEGEND, OPTGROUP を追加。その他、SPAN, INS/DEL, ABBR, ACRONYM, BDO, Q, S を追加しました。

TBODY+ / TFOOT+ / THEAD+ / COLGROUP+ / COL+ / NOSCRIPT+ / FRAMESET+ / FRAME+ / NOFRAMES+ / IFRAME+ / OBJECT+ / BUTTON+ / FIELDSET+ / LABEL+ / LEGEND+ / OPTGROUP+ / SPAN+ / INS+ / DEL+ / ABBR+ / ACRONYM+ / BDO+ / Q+ / S+

LISTING, PLAINTEXT, XMP は削除されました。

LISTING× / PLAINTEXT× / XMP×

2001年には日本語のルビに関する要素も追加されました。

RUBY+ / RBC+ / RTC+ / RB+ / RT+ / RP+

この頃から W3C は大きな改革を行おうとします。HTML の元となった SGML の思想に基づき、HTML の中から見栄えを定義する要素を排除する計画をたてます。下記の要素が、見栄えを定義するものや利用頻度が低いものとし、将来削除予定の非推奨(deprecated)な要素と位置づけられました。

FONT / BASEFONT / CENTER / S / U / STRIKE / APPLET / DIR / MENU / ISINDEX

また、純粋な SGML 規格に準拠する仕様として、将来的には HTML を捨てて、完全な SGML アプリケーションとして定義可能な XHTML に移行する方針を打ち出しました。終了タグの無い <img ...> を <img .../> の様に記述するのが XHTML の記法です。

SGML に準拠することで、多くの SGML 関連ソフトウェアを流用することができ、ブラウザの開発も楽になるとの主張でしたが、実際は逆で、大半のブラウザはレガシーな HTML に加えて XHTML のサポートも必要となり、さらに複雑になっただけとも言えます。

WHATWG

理想ばかりを追い求めて無理に XHTML への移行を進めたり、Web開発者/利用者のニーズを取り込むことに消極的など、W3C の方針に不満もありました。2004年2月の W3C ワークショップで、Opera と Mozilla が Web 開発者のニーズを取り込んだ HTML の開発再開を提案しましたが否決されました。これを機に、2004年6月、Apple, Opera, Mozilla の開発者達は WHATWG(Web Hypertext Application Technology Working Group) を設立しました。

WHATWG は、W3C の活動とは別に、Web Applications 1.0 や Web Forms 2.0 などの仕様を策定していきます。

W3CとWHATWGの共同作業と再分裂

その後、WHATWG からの働き掛けもあってか、W3C のティム・バーナーズ=リーは、2006年10月のブログで XML への移行には無理があったと表明し、翌 2007年3月に発足した W3C HTML WG は、WHATWG と共同作業を開始、同年5月には、Web Applications 1.0 を HTML5 と改名し、2008年1月に最初の草案(Working Draft)を公開、2009年7月には W3C は XHTML の開発を正式に中止しました。

この時点では、W3C と WHATWG は共同作業を行い、WHATWG が先進的な技術を先行して取り入れ、W3C がそのスナップショットを正式に勧告していくかの様に思えたのですが、両者の迷走が始まります。2009年10月には WHATWG が再び Web Applications 1.0 という名称を使い始め、2010年1月には「HTML5(including next generation additions still in development)」を発表、2011年1月にはこれを版数の無い「HTML」に改名、2011年10月には新Web Applications 1.0 と、版数の無い HTML を統合して、HTML Living Standard を開始しました。

HTML5

W3C もまた、WHATWG の仕様と似てはいるけど細部の異なる独自仕様策定に進み始め、2012年には共同作業を中止、2014年10月に HTML5 を、2016年11月に HTML 5.1 を独自に勧告しました。

HTML 4.01+Ruby に対して下記の要素が追加されています。

ARTICLE+ / ASIDE+ / AUDIO+ / BDI+ / CANVAS+ / DATA+ / DATALIST+ / EMBED+ / FIGCAPTION+ / FIGURE+ / FOOTER+ / HEADER+ / KEYGEN+ / MAIN+ / MARK+ / METER+ / NAV+ / OUTPUT+ / PROGRESS+ / SECTION+ / SOURCE+ / TEMPLATE+ / TIME+ / TRACK+ / VIDEO+ / WBR+

下記の要素は削除されました。

FONT× / BASEFONT× / CENTER× / TT× / BIG× / STRIKE× / ACRONYM× / APPLET× / FRAME× / FRAMESET× / NOFRAMES× / RBC× / DIR× / MENU× / ISINDEX×

HTML 5.1 では下記の要素が追加されました。

DETAILS+ / MENU+ / MENUITEM+ / PICTURE+ / SUMMARY+

HTML 5.2 では下記の要素が追加されました。

DIALOG+

また、下記の要素が削除されました。

KEYGEN× / MENU× / MENUITEM×

W3CからWHATWGへの移管

この頃から、W3C が勧告する HTML5/HTML 5.1 と、WHATWG が策定を進める HTML Living Standard の 2つの標準に分裂する状態になりました。Microsoft は W3C をベースとしましたが、Google の Chrome, Mozilla の Firefox, Apple の Safari, Opera などの主要ブラウザでは W3C に準拠することを辞め、HTML Living Standard を標準仕様として採用し始めました。

唯一の W3C 派だった Microsoft の Edge も、2018年12月6日、Edge を Chrome と同じ Chromium ベースに移行することを発表。こうした流れを受け、2019年5月28日、W3C は独自の HTML の標準化を断念し、今後の HTML 標準化は WHATWG にゆだねることを決めました。

そして、2021年1月28日、W3C の HTML 関連の仕様はすべて廃止され、WHATWG の HTML Living Standard に完全統一されました。

現在では WHATWG の HTML Living Standard が唯一無二の HTML 標準となっています。

HTML 5.2 に対して HTML Living Standard では下記の要素をサポートしています。

HGROUP+ / MENU+ / SLOT+ / SEARCH+ / MATH+ / SVG+

下記の要素はサポートされていません。PARAM は最近(?)削除されたようです。

PARAM× / RB× / RTC×