先日Twitterにこんな投稿をしたら地味に伸びたので、私も含めて案外みんな2014年に勧告された後のHTML5の仕様変更は追ってないのかなと思い、自分のための備忘録も兼ねて主な変更点をメモしておきます。
なお自分はマークアッパーなので、仕様変更点全てを網羅するのではなく、あくまでHTMLマークアップに関連する部分のみピックアップすることとします。全ての変更点を確認したい人はW3Cの仕様書をあたってください。
2016年HTML5.1勧告時の仕様変更
HTML5.1勧告時の注意すべき仕様変更点は以下の通り。
- 【追加】
- ・picture要素とsrcset属性の追加
- ・details要素とsummary要素の追加
- 【削除】
- ・ネストされたセクション要素の見出しに全てh1を置くこと
- ・tfoot要素をtbody要素の前に置くこと
- 【変更】
- ・セクション要素の中のheader/footer要素は入れ子にできる
- ・figcaption要素はfigure要素のどこに書いても良い
- ・img要素のalt属性は削除してはいけない(たとえtitle属性がついていたり、友達にe-mailを書くような場合であっても)
など…
2017年HTML5.2勧告時の仕様変更
HTML5.2勧告時の注意すべき仕様変更点は以下の通り。
など…
おまけ&まとめ
こうやってみると一部ピックアップしただけでも結構いろいろ変わってるなーという印象ですね。
特に個人的に感慨深いのはHTML5.1の時に「ネストされたセクション要素の見出しに全てh1を置くことができる」という仕様(新しいアウトライン・アルゴリズム)が廃止されたことでしょうか。
この件についてはこのブログでもこちらの記事で言及してそれなりに反響いただいたので詳しく知りたい方は読んでみてください。
あともうひとつ、5.1、5.2での変更点じゃないのですが、HTML5の仕様策定中に検討されていたhgroup要素が勧告時に仕様から削除されたことでしょうか…。
アウトライン・アルゴリズムもhgroup要素も実は勧告前には「at risk(削除される可能性がある要注意の仕様)」とされていたものの、割と目玉機能に近いものとして勧告前から盛んに事例紹介されていたので、いざ勧告時に「やっぱこれなしね!」とか言われた時のダメージが大きかったです(汗)
HTML5仕様は今後も毎年マイナーアップデートを続けるみたいなので、これからはどんなに魅力的に見えても勧告前の、特にat riskの仕様には手を出さないようにしようと心に決めました…(苦笑)
>特に個人的に感慨深いのはHTML5.1の時に「ネストされたセクション要素の見出しに全てh1を置くことができる」という仕様(新しいアウトライン・アルゴリズム)が廃止されたことでしょうか。
これ、間違いですよ。
正確には、HTML5時には、ネストされたセクション要素の見出しに全てh1を置くことができたが、
HTML5.1時にそのアウトラインアルゴリズムが廃止された、です。
(HTML5.1時には、従来通り、文章構造に合わせて、見出しレベルを下げなければならない)
HTML5.2だとそこらへんがどうなったか気になって調査中ですが・・・。
ご指摘ありがとうございます。すみません、書き方が悪かったかもしれませんが、認識としては 「HTML5の時はOKだったけど、HTML5.1で廃止された」ということでみやびプリンさんが仰っているのと同じです! ちなみにHTML5.2でもその辺の言及は無いのでおそらくそのままだと思いますが、W3Cの仕様ではなくWHATWGのHTML Living Standardでは確かネストされたセクション要素の見出しに全てh1を置くことができる仕様はそもそも最初から削除されてないはずで、今後HTMLの仕様はLiving Standardに一本化されるという状況なので今後どうなるのか気になっております。
参考:https://momdo.github.io/html/sections.html#headings-and-sections