白石 俊平

RDFa関連の3仕様が勧告に!その時Microdataは……?

W3Cは本日2013/08/23、RDFaに関連する3つの仕様を勧告しました。勧告といえば、W3Cにおける仕様成熟度の最終段階。仕様はこれにて一旦完成です。

RDFaとは、コンテンツのメタデータを記述するためのフォーマットであるRDF (Resource Definition Framework) を、要素の属性(attribute)で指定できるようにした仕様です。HTML Microdataと競合する仕様ですが、Microdataと異なり、RDFaは(もともとXML由来の技術であった)RDFの流れを組むため、XHTMLをはじめとするXML文書全般でも利用が可能であるなどの違いがあります(その代わりMicrodataのような、JavaScriptによるDOM APIは持ちません)。

例えば、RDFaを使用したマークアップは以下のようになります。

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example Document</title>
  </head>
  <body vocab="http://schema.org/">
    <p typeof="Blog">
      Welcome to my <a property="url" href="http://example.org/">blog</a>.
    </p>
  </body>
</html>

同じメタデータを、Microdataを使用してマークアップすると以下のようになります。マークアップの手間はあまり変わらないように思います。

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Example Document</title>
  </head>
  <body itemscope itemtype="http://schema.org/Blog">
    <p>
      Welcome to my <a itemprop="url" href="http://example.org/">blog</a>.
    </p>
  </body>
</html>

ちなみに、RDFaのもろもろが勧告に至ったのに比べ、Microdataは未だにワーキングドラフト。仕様の成熟度で言うと、少しMicrodataに分が悪いか、というところ。

その他のサービスによる対応状況ですが、GoogleBingも、MicrodataとRDFaの双方をサポートしています。また、OGPよりもMicrodataを優先することで知られているGoogle+が、RDFaに対応しているかどうかは、ちょっと調べきれませんでした。

少なくとも、Microdataもここまで普及している以上、RDFa勢に押されてすぐに駆逐されるということはあり得ません。 当面、安心して使えるテクノロジーと言ってよいのではないでしょうか。

追記(2013/9/2)

[エキスパートNo.18 矢倉 眞隆さん]から、この件に関して有用な追加情報をいただきましたので、以下に追記します。

Microdataについては、W3C HTML WGにより、7月23日に以下のような決定が下されています

  • HTML5.0の勧告候補から、Microdataへの参照を全て削除する
  • MicrodataのJavaScript APIを仕様から削除する
  • HTML Microdataという拡張仕様として公開し直す

JavaScript APIが削除されるに至った主な理由は、実装の欠如です。具体的には、FirefoxとOpera (Presto)が一度は実装したものの、OperaがChromiumに移行したため実装例が減ってしまい、勧告の条件(二つ以上の相互運用可能な実装が存在すること)を満たせるか怪しくなったというもの。 Blinkからはすでに実装が削除されており、Firefoxでも削除を検討中、WebKitからもMicrodataのAPIに関連するコードは削除されたそうで、MicrodataのJavaScript APIは実質上「終わった」と言っても良いかもしれません(ただし、WHATWG仕様においては、「代替案がない」という理由で仕様が残されることが決定しています)。

Powered byNTT Communications

tag list

アクセシビリティ イベント エンタープライズ デザイン ハイブリッド パフォーマンス ブラウザ プログラミング マークアップ モバイル 海外 高速化 Angular2 AngularJS Canvas Chrome Cordova CSS de:code ECMAScript Edge Firefox Google Google I/O Google I/O 2014 HTML5 Conference 2013 html5j IoT JavaScript Microsoft Node.js PhoneGap Polymer SkyWay spdy TypeScript UI UX W3C W3C仕様 Webアプリ Web Components WebGL WebRTC WebSocket