初心者向けのウェブページ作成の手引きを長らく書いていました。始めたのが4.01の勧告が出たあたりですが、世の中は3.2から4への移行が進められていた時でした。そこで、3.2からの歴史をまとめてみます。
W3Cの勧告は、草案から始まり勧告候補などを経て何年もかけて正式に勧告になります。また、勧告が出たからと言ってすぐに世の中が従うわけではありませんし、ブラウザの対応は勧告前から少しずつ進んだりしますので、ここに書いた「勧告日」というのはあくまで勧告日で、世の中が変わった時ではありません。HTML5の作成にはW3Cの他にWHATWGという団体の大きな働きがあり、その関係には大人の事情があるようです。
あくまで、初心者がウェブページを手書きで作る場合に基づくべき規格と言う観点で情報収集をし、考えてきました。
規格と版 | 勧告日 | |||
---|---|---|---|---|
HTML 3.2 | 1997-1-14 | |||
↙ | ↓ | ↘ | ||
HTML 4.0 厳密型 |
HTML 4.0 移行型 |
HTML 4.0 フレーム型 |
1997-12-18 | |
↓ | ↓ | ↓ | ||
HTML 4.01 厳密型 |
HTML 4.01 移行型 |
HTML 4.01 フレーム型 |
1999-12-24 | |
↓ | ↓ | ↓ | ↓ | |
↓ | XHTML 1.0 厳密型 |
XHTML 1.0 移行型 |
XHTML 1.0 フレーム型 |
2000-1-26 |
↓ | ↓ | ↓ | ↓ | |
↓ | XHTML 1.1 | × | × | 2001-5-31 |
↓ | ||||
HTML5 | 2014-10-28 | |||
↓ | ||||
HTML 5.1 | 2016-11-1 |
名前の上からはXHTMLを飛ばして4.01から5になったように見えます。世の中のウェブの主流はHTML4.01移行型⇨XHTML1.0移行型⇨HTML5と移っています。
当時ネットスケープ社のネットスケープナビゲータ(NN)というブラウザとインターネットエクスプローラ(IE)がシェアを争っていました。NNは有料でしたが、試用版は無料で使え、次々と新版がでてきて無料で使い続けられました。IEはマイクロソフト社の戦略上正式に無料でした。
NNの方が先行していましたがIE3.0のあたりからIEの方が性能が良くなったことと、Windowsと一体でインストールしなくても使えたことでIEがメインの座に付きます。
どちらにしても、このころのウェブページ作成は、ブラウザでよく見えることが設計指針で「フォントの大きさはFontタグでの指定は数が大きいほど大きく、h1,h2,...での指定は数が小さいほど大きい。逆なのは判りにくい」などという解説がまかり通っていました。ウェブページ作成ソフトもとても参考にならないタグを出力していました。
そこで私の出した方針は2つ
(1)htmlはエディターで作る。異なる性能のコンピュータでも表示できることを重視するhtmlの基本にかえれば、タグは難しくない。
(2)html4.01の方針に従いタグは内容に合わせ、見栄えはcssておこなう。(Fontタグでいちいち指定するのは実は面倒なのだ)
(3)W3Cの原典(実際は訳)を調べる一次情報主義。(孫引きの情報が蔓延して怪しい)
W3Cのhtml4.01勧告は当時は全部読める量だった。規格がウェブで無料で読めることは大変素晴らしいことです。
IEには独自仕様というものがあります。ブラウザ間で規格の解釈の違いや実装のミスがあったりします。共通な規格にあわせつつ、各ブラウザのうまく表示できない部分を避けて、どのブラウザでも同じような表示が得られるやり方を探して行きました。
HTML 4.01が古く感じられる2007年になってから、作成の手引きをXHTML 1.1に変更しました。といっても、初心者向けでは、大きく変わるのは宣言の部分で、他はimgタグなどの終了タグのないものは /> で閉じるとか、id,classなどの属性の値は必ず""で括るとか、</td>や</li>を省略しない、タグ名は必ず小文字にするといったところでしょうか。
xhtmlはhtmlをxmlの範疇のものとして位置づけます。属性値やクェリーに利用できる文字を調べるためにCDATAの定義などを探すとxhtmlの仕様書だけではだめで、xmlを見なければなりません。これは苦しい。
そうこうするうち、2009年1月16日にXHTML Media Types - Second Edition(日本語訳 XHTML Media Types ― 第二版) が出されました。要するにxhtmlを正しく表示できずにダウンロードしてしまうIE ver6, ver7 に対しての対策です。
IEもこのころにはコードが肥大して新しい技術に対応できなくなっていました。cssに間違った動きをする、透過pngに対応しない、Javascriptに独自仕様がある、などです。Firefoxブラウザが出てからこれに移行し、その後Linux環境にしてしまいましたのでIEとは余りお付き合いがなかったのですが、W3Cの規格に従おうとする時にいつも引っかかるのが正しく表示されないIE6がまだ広く使われているということでした。
IE6対策の1つは、xml文書の最初の行に書くxml宣言を省略せよというものです。
困るのはxml宣言の中で文字コードを指定することになっていることです。これを無くする代わりに従来通りmetaタグの中に http-equiv="content-type" content="text/html; charset=UTF-8" と指定することになります。
ところが、この指定はtext/htmlとのセットなのです。xml文書ではそのtext/htmlはapplication/xhtml+xmlと書くべきであると本文で言っているのに、IE対策のAppendixではtext/htmlを遣えと言っています。実際に試すとIE6はapplication/xhtml+xmlではページを表示せずダウンロードしてしまいまいました。
IEが何年たっても規格に合わせられないのも呆れますが、xhtmlの厳格な進め方にもこの辺から疑問を持つようになりました。調べても簡単にわからない規則、メリットが実感できない規則というイメージが広がっていきます。
そんな中で出てきたHTML5は我が意を得たりの規格でした。W3Cが自ら作り得なかったことも「やっぱり」ではありますが、WHATWGが策定していたものをW3Cが採用する過程も、聞こえてきた限りでは大人の対応で好感がもてる流れでした。最近はまた何か事情があるようではありますが。
HTML5はとにかく簡潔。DOCTYPE宣言で決して覚えられないし無駄に思えるDTDの部分がいらない。text/htmlもなく、meta charset="utf-8"と書けば良い。cssのタイプも省略可。初心者になぜ書くのかを説明するのに大変都合が良いし、手書きでもスラスラ書き進めることができる。
なにか美しくなかった /> も必須でなくなりました。
たぶん</td>を省略できるというのは手書をする上で朗報です。表の構造がエディタ上でもわかりやすくなるでしょう。
テキストをHTML5版にするのは2012年からです。