確か、昨年(2013年)の春頃にHTML5の仕様から削除されたhgroupタグ(参考:HTML5 勧告候補に main 要素が追加、hgroup 要素は予定通り削除 | WWW WATCH)。にも関わらず、今年に発売されたHTML5について描かれてる本にhgroupタグについての記述が書かれているのを何冊か見てきました。
具体的にいうと、下記の3冊に、hgroupタグについての記述が書かれていました。
- 演習で学ぶWebサイト・Webアプリケーション制作入門
- フロントエンド開発徹底攻略 (WEB+DB PRESS plus)
- モダンWeb ―新しいWebプラットフォームの基盤技術(ただし、まだ読みきれてません)
この中だと、『フロントエンド開発徹底攻略』が過去にWeb+DBで掲載された特集を収録した本で、『モダンWeb』は2013年4月に発売された本の翻訳本なので、分からなくはないのですが、最初の本はそういった理由があるわけではなさそうです(大学の教科書用として作られたそうなので、もっとチェックしてほしかったところ)。
自分はhgroupを知ったのはいつだったかは覚えてないのですが、このタグを知った時にモヤモヤしたような気がします。例えば、下記のようなHTMLの構文があったとします。
<h1>人気ゲームソフト</h1> <h2>ポケモン</h2> <p>1996年に発売されたゲーム</p> <h2>妖怪ウォッチ</h2> <p>2013年に発売されたゲーム</p>
これにhgroupを入れると下記のようになります。
<hgroup> <h1>人気ゲームソフト</h1> <h2>ポケモン</h2> </hgroup> <p>1996年に発売されたゲーム</p> <h2>妖怪ウォッチ</h2> <p>2013年に発売されたゲーム</p>
こんな書き方需要ないだろと。
いやまあ、こんな書き方する人いるわけないだろ! と突っ込まれそうなので、実際にどう使われていたかというと、ウェブサイトの主題と副題(セクションの見出し)をグループ化する時に使われていたようです。例えば、ここのブログだと、下記のようになります。
<hgroup> <h1 id="site-title"><span><a href="http://am-yu.net/" title="while(isプログラマ)" rel="home">while(isプログラマ)</a></span></h1> <h2 id="site-description">ころころ興味対象が変わるプログラマの技術ブログ(多分)</h2> </hgroup>
って、いま気づいたけど、このブログ、ブログタイトル箇所はhgroupで囲ってあったのか・・・。いい加減、変更しなければ・・・。
さて、そんなhgroupタグですが、よくよく調べてみると、実際にはW3Cの仕様からは削除されたけれども、WHATWGの仕様からは削除されてないようです(参考:W3C HTML5仕様から削除されたhgroup要素のメモ – 血統の森+はてな)。このへんはよく分からないのですが、また仕様に追加されるということもあるということなのだろうか。ややこしいので、削除したり復活したりということはあまりやってほしくないのだけれども。
ところで、HTML5の仕様から削除されたものはhgroupだけではないらしく、menuタグやcommandタグというものもあるよう。ただし、こちらはHTML5.1の仕様へ移行という形になっているようです(参考:HTML5 勧告候補が更新、menu / command 要素などが削除 | WWW WATCH)。
また、hgroupについて調べていると、かなり詳しくhgroupについて書いてあるサイトを発見(HTML 5での<hgroup>要素について(平成22年 3月 8日) – 『しらぎくのWWW作成入門』メモ)。なんだか悲しくなってきた。
こうやって調べてみると需要はあるように思うのだけど、何で削除したんだろう。
コメント
W3Cの方に一旦入れてしまうと、10年くらいは削除することができなくなりますからね。
W3CはWHATWGの仕様から本当に重要でコンセンサスのとれているものだけを、スナップショットとして残す役割なのです。
HTMLの策定でW3CとWHATWGが合意したらしいです。
今後はWHATWGのLiving StandardがHTMLの標準仕様になります。
そしてWHATWGの仕様にはは存在します。これからは使ってもいいかもしれないです。