HTML
HTML5
spec
W3C
WHATWG

平成最後の夏と、緑と青のHTML仕様書。

TL;DR

  • HTML4? XHTML1.x? そんなものはもう死んだ。
  • 最初に見るべきは緑のWHATWG HTMLであり、青のW3C HTML 5.xではない。
  • ただし、W3C HTML 5.xはWHATWG HTMLと食い違いを見せるところは参考にできる。

以下、もう少し詳しいめ説明(忙しくない人用)

HTML 5.0とそれ以前のW3Cが発行したHTML仕様について

W3Cからまとまったアナウンスというものはありませんでしたが1、W3Cが発行したHTML仕様の勧告――有名どころでは、HTML 3.2HTML 4.01XHTML 1.0XHTML 1.1HTML 5.0 (正式な名称はHTML5ですが、バズワードのHTML5と紛らわしいので、本稿ではこう呼ぶことにします)――は、2018年3月にすべてSuperseded Recommendationというステータスに変更されました。

このステータスは、ごく簡単に言ってしまえば、最新のHTML仕様を見てね…!ということを意味します。なお、執筆時点の2018年8月では、HTML 5.2が最新のW3CのHTML勧告であり、後続の仕様としてHTML 5.3が策定進行中です。

ちなみに、W3CでHTMLを策定しているWebPlat WGは、1年に1回を目処にHTML仕様を更新していこうと計画しています2。何事もなければ、2020年にはHTML 5.5が発行されている、ということになります。

WHATWG HTMLを最初に見るべき理由

HTML 5.0の誕生のきっかけは、当時XMLを推していくというW3Cの方針に反発して、いくつかのブラウザーベンダーがWHATWGという集団を形成し、そこでHTMLだけでなくDOMをもまとめて再定義しようとしたのがことの発端です。その流れに乗っかる格好になったのがW3Cなわけですから、正当なHTML仕様としてのHTML5はもともとWHATWGのものなわけです3 。ですから、緑色のスタイルシートのHTML標準を我々は第一に見るべきです4

また、HTML 5.3の策定を主導しているエディターの面々を見てください。7人のエディターが名を連ねていますが、誰1人としてブラウザーベンダー出身のエディターが現在いないことが見て取れます。ウェブの仕様は実装との両輪で成り立っていることは言うまでもないと思いますが、その片方の車輪なしで策定される仕様よりかは、エディターとしてブラウザーベンダーのメンバーが名を連ねているWHATWGのほうがしっかりしていると思いませんか?5

さらに、本当にW3CのエディターがHTML仕様を隅々まで掌握できているのか疑問です。例えば、一度はW3C HTML 5.0で姿が見えなくなっていたrev属性ですが、なぜかHTML 5.1で復活しています。その割には、HTML 5.3: 4.8.6.2. Link type "author"では

Synonyms: For historical reasons, user agents must also treat link, a, and area elements that have a rev attribute with the value "made" as having the author keyword specified as a link relationship.

とか書いてあったりして、WHATWG HTMLの文言のままだったりするんですよね。W3C HTMLの仕様の維持能力について、個人的には疑問に思っています。

それでもW3C HTMLを見捨てるわけではない

例えば、HTML 5.3: 4.3.9.1. Creating an outlineなんかが一番わかりやすいでしょうか。これは要するに、アウトラインアルゴリズムはチェッカーしか実装してなくて、ユーザーエージェントや支援技術には実装されてない、という旨の警告です。
あとHTML 5.3: 4.5.12. The rt elementなんかの、ruby要素周りのあれこれというのはW3C HTMLのほうが充実していたりします(まあ裏を返せばブラウザーの実装が…ということなんですが)。

最後に、今はFormer Editorですが、アクセシビリティと言えばこの人的な位置づけにいるSteve Faulkner (The Paciello Group)のツイートを張っておきましょう。

WHATWGはブラウザーベンダーによる仕様である、というのはまた真理であります。W3C HTMLはWHATWG HTMLよりも国際化やアクセシビリティのことも考慮しようと試みている、というのもまたそうでしょう(それでも、前述したように、自身で整合性のある仕様を記述できないわけですからね…)。

ここまで例を多少列挙したに過ぎませんが、結局のところ、理想とするHTMLがWHATWG HTMLをベースにして、所々W3C HTMLを混ぜ込むような「いいとこ取り」みたいな状況になっているのが、現在のHTMLと筆者は考えています。



  1. 筆者が知る限りでは。ただし、一斉にステータス変更しようという提案は、メーリングリストの投稿で確認できます。 

  2. はっきりとしたソースは思い出せませんが。 

  3. そのあたりの歴史は、仕様のHistoryのセクションを参照。W3C HTMLWHATWG HTMLも途中までは同じことを言っています。 

  4. WHATWG HTMLのエディターであるAnne van Kesteren談。 

  5. 所属を挙げるのが面倒なので略しますが、WHATWGの文書は現在、Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft).とされていることからこの4者が主導しているのは明らかでしょう。