W3CがHTMLの主導権を失う
少し前ですが、これまでW3Cが策定・勧告してきたHTMLがついに終了し、これからはWHATWG(Google、Apple、Microsoft、Mozillaが主導するブラウザベンダーの組織)が主導するHTML Living StandardがHTMLの標準になりました。
確かにW3Cは長い間HTML標準化の任務を担ってきましたが、W3Cはブラウザを開発しているわけはないため、W3Cの勧告を具現化しているのは実際は各ブラウザベンダーでした。どうやらこのブラウザベンダー各社が「W3Cはわかってねえ」となったらしくWHATWGを立ち上げてW3Cに圧力をかけ、そこで生まれたのが2014年勧告のHTML5でした。
このまま良い感じに進むかと思いきや、W3C側がHTML5に独自の要素を詰め込み始めたことで再びWHATWGが若干キレてしまい、改めてW3Cの主導権を事実上取り上げたような状態のようです。W3Cがいくら口先で規格を決めていようと、ブラウザ側でそれらがパースできなければ意味がないので明らかに力関係はWHATWGのほうが強いです。今後はWHATWGが主導しているHTML Living Standard(https://html.spec.whatwg.org/multipage/ )がHTMLの標準になります。
ただしHTML5がなくなるのかというとそうではなく、そもそも公式見解として「端的に言えば、HTML Living Standard = HTML5である」と書かれています。「より厳密には、HTML5はWebの根幹を担う技術のバズワードであり、ほとんどはWHATWGが開発している」とも書かれています。要は広義にはHTML5はWeb技術そのものであり、特定の製品や規格ではないと。
1.2 Is this HTML5?
This section is non-normative.
In short: Yes.
In more length: the term "HTML5" is widely used as a buzzword to refer to modern web technologies, many of which (though by no means all) are developed at the WHATWG. This document is one such; others are available from the WHATWG Standards overview.
HTML Living StandardとHTML5.2は何か違う?
というわけで気になったのですが、HTML Living StandardとW3C最後のHTMLであるHTML5.2(便宜上そう呼びます)は何か差分があるのかリサーチしてみたところ、面白いものを見つけました。
a要素にping属性
HTML Living Standardではa要素にping属性が定義されています。
公式ドキュメント:https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element
<a href="fugafuga.example/index.html" ping="hogehoge.example/log">Click me!</a>
ページ遷移とは別にアクセスログを取りたい時などに活用する意図だと思われますが、ドキュメントに正確に書かれていないので憶測になります。確かに同様のことをするのであれば非同期通信をするか、アクセスログを取ってからページ遷移をする等の処理が必要になるため、便利といえば便利なのでしょう。pingされる側のWebサーバを立てて動かしてみたところ、以下のようなアクセスログが取れました。GETではなくPOST送信されているようです。
[25/Jun/2021:05:25:14 +0000] "POST / HTTP/1.1" 200 3380 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
今後も...
WHATWG管轄になったことで、これまでのようにある程度更新が溜まってからナンバリングタイトルとして勧告される流れではなく、各要素や機能単位で徐々にリリースされていく、まさに"Living"な形式になっていくと思われます。したがってこれまでのような新バージョン勧告時だけではなく、継続的に最新情報を取り入れるようにしていく必要があると考えられます。