timeタグのpubdate属性の廃止について
2016-12-01 12:46
こんにちは。制作チームの野澤です。
先日、HTML5のコードのチェックを行う機会があったのですが、
そのページの公開日としてtimeタグのpubdate属性を使ってその日付を指定していたのですが、
現在その仕様は既に廃止されており、文法エラーになることに気づいたのでちょっとご紹介したいと思います。
例えば以下のようなコードをチェックするとエラーになります。
1 |
<dd><time datetime="2016-11-29T12:47+09:00" pubdate="pubdate">2016/11/29 12:47</time></dd> |
https://syncer.jp/html-reference/time によると
pubdate属性は、2011年11月に廃止されました。指定すると文法違反になります。
とのこと。
また、http://ascii.jp/elem/000/000/676/676208/ でも
本記事は、「W3C Working Draft 25 May 2011」の仕様をもとに説明していますが、「Editor’s Draft 7 March 2012」ではpubdate属性が削除されているほか、これまでは許されていなかった、“西暦のみ”“月日のみ”といった表記が認められるなど、多くの仕様が変更されています。
と紹介されており、pubdate属性の取扱いは変更になったようです。
W3Cの定義書もチェックしましたが、やはりpubdate属性は見当たりません。
代わりにschema.orgのmicrodataを使った書式がサンプルとして紹介されていました。
1 2 3 4 5 |
<article typeof="schema:BlogPosting"> <h1 property="schema:headline">Small tasks</h1> <footer>Published <time property="schema:datePublished" datetime="2009-08-30">yesterday</time>.</footer> <p property="schema:articleBody">I put a bike bell on his bike.</p> </article> |
いくつかのサイトではまだ未だに「pubdate属性つけられますよ」と言っているところもあるので、きちんとコードのチェックをかけたり、W3Cのプライマリな仕様書を確認する必要がありますね。