勝手に回答シリーズ第一弾です。
今回の疑問
HTML5とHTML5.1、HTML5.2の区別ってどこでやってるんですか?HTML文書内でのドキュメント宣言は同じだと思うので、どこで判断すればよいかわからないです…!マイナーチェンジだから新しいタグが使われてるかどうかってことですか?
た、、、確かに。
これはtwitterに記事を発信する際にハッシュタグの研究をしている時に見つけたツイートでした。
僕なりの回答
明解な文書が無いか探してみましたが見つけられず。
自己回答されている通り、特にコード内ではバージョンの違いを宣言することができないので、HTML5.1や5.2で使われているタグが使われているかどうかで判断するしかありません。
※本当に宣言できないのかが不明です。もしかしたら省略できるだけで、宣言する方法があるのかもしれません。
直接的な回答はこれで終わりになってしまいますが、これでは少し気になる問題が残ります。
では、HTML5.1や5.2で新設されたタグを使っていなければHTML5.0となるのか?
バージョンの違いを宣言することができないとなると、コードを書く方も「HTML5.0で書きたい!」という意思表示ができないのと等しいということになります。
ということは、HTML5.0、5.1、5.2 という区別ではなく、あくまでもHTML5.Xという括りになっていて「HTML5.0で書く」ということ自体がナンセンスとされているのかなと思います。
HTML5.1 や 5.2 で廃止となったタグを使いたいから 5.0 で書くということ自体が仕様に逆行しているので、そういったことを許容するという考え方自体が無いのかもしれません。
つまり、HTML5で書くということは常に最新バージョンで書くということを指すのかもしれません。
この辺りはプログラム言語のバージョンの考え方と、マークアップ言語の違いの一つかなと思いました。
次のバージョンではどうなるのか?
もし、HTML6のようなものが出た時に宣言まわりがどうなるかは気になりますね。
その頃にはバージョンの考え方自体がナンセンスで、「そんな細けぇことはいいんだよ」「とにかく最新で書け」的な思想になっているのかもしれません。
もしかしたら、もう既にそうなっているのかも?