新しいHTML5勧告候補(2013年8月版)で目についたところ

先日、HTML5の新しい勧告候補が公開されました。今更ですが、目についた変更点を挙げます。

要素の追加と削除

  • data要素が追加されました
  • main要素が追加されました
  • hgroup要素が削除されました
  • menu要素とcommand要素が削除されました

data要素

data要素は、要素の中身に通常のコンテンツを、value属性にコンピューターが読み取れる形式のコンテンツを、記述する要素です。

2013年8月版の勧告候補の中でも、Common idiomsの会話の例にdata要素を使ったマークアップの例が出ています。

<p> <data value="1319898155">14:22</data> <b>egof</b> I'm not that nerdy, I've only seen 30% of the star trek episodes
<p> <data value="1319898192">14:23</data> <b>kaj</b> if you know what percentage of the star trek episodes you have seen, you are inarguably nerdy
<p> <data value="1319898200">14:23</data> <b>egof</b> it's unarguably
<p> <data value="1319898228">14:23</data> <i>* kaj blinks</i>
<p> <data value="1319898260">14:24</data> <b>kaj</b> you are not helping your case

time要素ではUNIX時間を設定できないため、かわりにdata要素を使っているそうです。

先ほどの例はtime要素を使わない必然性があるのか疑問ですが、Mozilla Hacks日本語訳)にもう少しわかりやすい例がありました。data要素の中身にユーザーの名前、value要素にユーザーIDを指定し、DOM APIを使ってユーザーIDを取り出しています(おそらく)。

<data id="user" value="humphd">David Humphrey</data>
document.getElementById("user").value; // "humphd"

要素のカテゴリの追加

Reassociateable elementsはform属性を使って、自分が属するフォームを設定できる要素です。具体的には次の要素になります。

  • fieldset
  • label
  • input
  • button
  • textarea
  • select
  • keygen
  • output
  • object

また、「Scrpit-supporting elements」カテゴリが新設されました。このカテゴリにはscript要素のみが属します(HTML 5.1の草案ではtemplate要素も含まれています)。単にカテゴリが増えただけではなくて、いくつかの要素の内容モデルが更新されています。要素の一覧(non-normative)を見ると、次の要素にScript-supporting elementsを置けるようになりました。

  • dl
  • ol
  • ul
  • table
  • colgroup
  • thead
  • tbody
  • tfoot
  • tr
  • optgroup

HTML5の段階ではあまりメリットを感じませんが、template要素が使えるようになると面白くなりそうです。

そのほか

article要素のとsection要素の使い分けに関する節(non-normative)が追加されました。が、「場合によるよ」という内容です。

main要素の追加、hgroup要素の削除にともなってCommon idioms without dedicated elementsの1つ目の例が全面的に変わりました。2012年12月版の勧告候補では「The main part of the content」(コンテンツの主要な部分)でしたが、2013年8月版の勧告候補では「Subheadings, subtitles, alternative titles and taglines」(サブ見出し、サブタイトル、代替タイトルおよびキャッチフレーズ)になりました。

まとめ

前回の勧告候補今回の勧告候補の差分を見ると、場所によってはかなり変更されていました。2013年8月版の勧告候補公開後も、すでにText Track APIが若干変更されるなど、まだしばらくはHTML5仕様の動向に注意が必要かもしれません。