フロントエンド開発Blog

オレには鈍器がある

OGP , RDFa , W3C , prefix


ogpで「prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# website: http://ogp.me/ns/website#"」を書きたいとき、html要素とhead要素のどちらに指定するのが良いか。

という素朴な疑問を抱いて調べてみると「facebookはhead」「OGPはhtml」みたいに分かれてて結局どっちだろうという堂々巡りを体験しました。このままだと調査効率が悪いため闇雲に調べないで推論を立ててから調べることにしました。

・・・正直、どちらが正しいかというとどちらも正しいんじゃないか?と思います。マークアップ専門家ではないため無責任な発言になるんだけど、JavaScriptもCSSもHTMLも「どこからどこまで」っていうスコープ、影響範囲という概念がある。headにつけたらheadの中だけ、htmlにつけたらhtml全体にスコープが当たるんじゃないかなって単純に考えてる。

http://wiki.suikawiki.org/n/OGPを見るとRDFaの独自拡張、とのこと。

難しく考えないで素直にとらえればいいんかなーRDFaについて調べればいいんかなーくらいに考えて追調査してみました。

W3C - RDFa Core (Syntax) - Scoping of Prefix Mappings RDFaのprefixマッピング例。classとかといっしょで書いたところが適用スコープになるんですね。

W3C - RDFa HTML - Extensions to the HTML5 Syntax RDFaとHTMLを併用する際の取り決めとしてこんなの見っけた。W3Cさん仕事早いなぁさすがです。

ほとんどのタグにprefixは書いていいようです。となると前者後者2つのW3Cさんの文書を見る限りではheadにprefix書いても×じゃないみたいですね。prefixの効力がhead内に限定されるか否かの違いはあるみたいですが。

まぁmicrodataとかもHTML文書全体にitempropやらなんやらがあちこちに散りばめられてて、解釈側たるmicrodata対応Robotが文書全体からそれらメタデータを集計して評価・利用するものなんだから、特に記述箇所の制約はないものとみて良さそう。

microdataで思い出しましたが、Google先生の「構造化データ マークアップ支援ツール」がすこぶる快適。HTML本文に該当データがない場合でも「その他のタグ付」というくくりで入力が可能。その他で入力するとmetaタグとして出力されるんですね。こういう使い方もありなんだなーと妙に感心してしまった冬の晩でした。

ページトップへ

関連ページ

ページトップへ