117
Microdata: A Primer masataka yakura

Talk microdata

Embed Size (px)

DESCRIPTION

矢倉 眞隆 株式会社ミツエーリンクス2010(vol.6)「HTML5を学ぶなら、セマンティックを学べ!」マイクロデータ

Citation preview

Page 1: Talk microdata

Microdata: A Primermasataka yakura

Page 3: Talk microdata

Web標準Blogstandards.mitsue.co.jp

Page 4: Talk microdata

トピック: Microdata

Page 5: Talk microdata

1. Microdataとは?2. Microdataの書き方3. Rich Snippets

Page 6: Talk microdata

Microdata?

Page 7: Talk microdata

HTML Microdatawhatwg.org/html5#microdata

Page 8: Talk microdata

機械処理しやすいように情報をマークアップする仕組み。

Page 9: Talk microdata

Microformatsとの違い

Page 10: Talk microdata

microformatsはclassやrelを使う。

Page 11: Talk microdata

<div class=vcard>

<div class=hentry>

<a href=... rel=tag>

Page 12: Talk microdata

Microdataは専用の属性を使う。

Page 13: Talk microdata

<div itemscope>

<p itemprop=prop>

<div ... itemtype=“...”>

Page 14: Talk microdata

Microformatsはフォーマットの集まり。

Page 15: Talk microdata

hCard, hCalendar, hAtom,hReview, hRecipe, hProduct, etc...

Page 16: Talk microdata

各フォーマットごとに固有の処理が必要になる。

Page 17: Talk microdata

hCardの処理系を作ってもhCalendarには対応できない……

Page 18: Talk microdata

Microdataは処理モデル。

Page 19: Talk microdata

フォーマットによって処理が変わることはない。

Page 20: Talk microdata

書き方を覚えてしまえばどのフォーマットも使える。

Page 21: Talk microdata

DOM APIも用意されておりスクリプトからも扱いやすい。

Page 22: Talk microdata

μfはタスクにフォーカス。Microdataは処理にフォーカス。

Page 23: Talk microdata

Microdataを書く

Page 24: Talk microdata

Microdata専用の属性は5つ。

Page 25: Talk microdata

•itemscope•itemprop•itemtype

•itemref•itemid

Page 26: Talk microdata

•itemscope•itemprop•itemtype

•itemref•itemid

Page 27: Talk microdata

Microdataの核は「アイテム」

Page 28: Talk microdata

アイテムを単位としてデータを記述していく。

Page 29: Talk microdata

itemscope ― アイテムの宣言

Page 30: Talk microdata

itemscopeがアイテムを定義する。

Page 31: Talk microdata

<p> 矢倉といいます。

Page 32: Talk microdata

<section itemscope><p> 矢倉といいます。</section>

Page 33: Talk microdata

このアイテムにはまだデータがない。

Page 34: Talk microdata

itemprop ― データを与える

Page 35: Talk microdata

プロパティと値を与えてデータを表現する。

Page 36: Talk microdata

<section itemscope><p> 矢倉といいます。</section>

Page 37: Talk microdata

<section itemscope><p><span itemprop=name> 矢倉 </span>といいます。

</section>

Page 38: Talk microdata

アイテムの「name」に「矢倉」という値が入る。

Page 39: Talk microdata

基本的には要素の内容が値になる。

Page 40: Talk microdata

リンクや画像、時間などは例外。

Page 41: Talk microdata

<p> 1984年3月19日生まれです。うお座です。

Page 42: Talk microdata

<p><time datetime=1984-03-19>1984年3月19日

</time> 生まれです。

Page 43: Talk microdata

<time>の場合はdatetimeの値が使われる。

Page 44: Talk microdata

<section itemscope><p><span itemprop=name> 矢倉 </span> ...

<p><time itemprop=bdaydatetime=1984-03-19> 1984年3月19日</time> 生まれです。うお座です。

</section>

Page 45: Talk microdata

アイテムの「name」は「矢倉」「bday」は「1984-03-19」

Page 46: Talk microdata

<a href=“http://twitter.com/myakura”>Follow me (@myakura)</a>

Page 47: Talk microdata

<a>の場合はhrefの値が使われる。

Page 48: Talk microdata

<a itemprop=twitterhref=“http://twitter.com/myakura”>Follow me (@myakura) </a>

Page 49: Talk microdata

「twitter」は「http://twitter.com/myakura」

Page 50: Talk microdata

複数のプロパティをスペースで区切って指定可能。

Page 51: Talk microdata

<a itemprop=“weblog url”href=“http://....”> my blog </a>

Page 52: Talk microdata

入れ子のアイテム

Page 53: Talk microdata

アイテムを入れ子にして複雑なデータを表現できる。

Page 54: Talk microdata

Q.「矢倉」ってなんて読む?

Page 55: Talk microdata

A.「やくら」です。

Page 56: Talk microdata

<p><ruby> 矢倉 <rt> やくら </rt> </ruby>といいます。

Page 57: Talk microdata

<p><ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby> といいます。

Page 58: Talk microdata

itempropを持つ要素にitemscopeを与え入れ子にする。

Page 59: Talk microdata

<div itemscope><p><ruby itemprop=name-ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby> といいます。</div>

Page 60: Talk microdata

nameとyomiは外側のアイテムに追加されない。

Page 61: Talk microdata

<div itemscope><p><ruby itemprop=name-ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby>といいます。</div>

Page 62: Talk microdata

<item><prop id=“name-ruby”><item><prop id=“name”> 矢倉 </prop><prop id=“yomi”> やくら </prop>

</item></prop>

</item>

Page 63: Talk microdata

itemtype ― フォーマット指定

Page 64: Talk microdata

Microdataでは好きな名前をつけられる。

Page 65: Talk microdata

既存のボキャブラリを使ってもよい。

Page 66: Talk microdata

Microdata Vocabularieswhatwg.org/html5#mdvocabs

Page 67: Talk microdata

Data-Vocabulary.orgwww.data-vocabulary.org

Page 68: Talk microdata

itemtypeにボキャブラリのURLを指定する。

Page 69: Talk microdata

<section itemscopeitemtype=“http://microformats.org/profile/hcard”><p><span itemprop=fn> 矢倉 </span>といいます。<p><time itemprop=bday datetime=1984-03-19>1984年3月19日</time> 生まれです。うお座です。<p><a itemprop=urlhref=“http://twitter.com/myakura”>Follow me (@myakura)</a>

</section>

Page 70: Talk microdata

fn, bday, urlがhCardのものと認識される。

Page 71: Talk microdata

itemref ― プロパティの参照

Page 72: Talk microdata

スコープ外のプロパティにidを与え、それを取り込む。

Page 73: Talk microdata

<section itemscope> <!-- 本のデータ --><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure> <!-- 本の表紙 --><img src=cover.jpg ...></figure>

Page 74: Talk microdata

<section itemscope><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img src=cover.jpg ... itemprop=photo></figure>

Page 75: Talk microdata

photoはスコープの外。アイテムに追加されない。

Page 76: Talk microdata

<section itemscope><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img src=cover.jpg ... itemprop=photo></figure>

Page 77: Talk microdata

プロパティに idを与えitemrefから参照させる。

Page 78: Talk microdata

<section itemscope itemref=cover><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img ... id=cover itemprop=photo></figure>

Page 79: Talk microdata

photoのデータがアイテムに追加される。

Page 80: Talk microdata

itemid ― IDを与える

Page 81: Talk microdata

グローバルなIDを与えられるボキャブラリで利用する。

Page 82: Talk microdata

<article itemscope itemtype=“.../book”itemid="urn:isbn:978-4-8222-8422-0"><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</article>

Page 83: Talk microdata

Microdataの作成と確認

Page 84: Talk microdata

HTML5 Microdata Templatesmicrodata.freebaseapps.com

Page 85: Talk microdata
Page 86: Talk microdata

Live Microdatafoolip.org/microdatajs/live/

Page 87: Talk microdata
Page 88: Talk microdata

JSON Outputで生成されるデータを確認できる。

Page 89: Talk microdata
Page 90: Talk microdata

型を指定していればvCard, iCalendarの出力もできる。

Page 91: Talk microdata

Rich Snippets

Page 92: Talk microdata

Googleが導入した検索結果表示の仕組み。

Page 93: Talk microdata

検索結果のスニペット部分がちょっと目立つ(ことがある)。

Page 94: Talk microdata

•レビュー•レシピ•イベント

•プロフィール•製品情報

Page 95: Talk microdata
Page 96: Talk microdata
Page 97: Talk microdata
Page 98: Talk microdata
Page 99: Talk microdata
Page 100: Talk microdata

構造化マークアップが検索結果に反映される。

Page 101: Talk microdata

Microdata, RDFa,microformatsに対応。

Page 102: Talk microdata

Rich Snippets andStructured Markupgoo.gl/ZVmq

Page 103: Talk microdata

Rich Snippetsの紹介や各フォーマットの説明など。

Page 104: Talk microdata

Rich SnippetsTesting Tool Beta

google.com/webmasters/tools/richsnippets

Page 105: Talk microdata

Rich Snippetsの表示を確認するWebサービス。

Page 106: Talk microdata
Page 107: Talk microdata
Page 108: Talk microdata

まとめ

Page 109: Talk microdata

MicrodataはHTMLからデータを表現する仕組み。

Page 110: Talk microdata

Microformatsと異なりまずデータの処理方法を定義。

Page 111: Talk microdata

Microdataの核はアイテム。アイテムがデータを構成する。

Page 112: Talk microdata

itemscopeでアイテムを定義しitempropでプロパティを与える。

Page 113: Talk microdata

Microdataの導入例にRich Snippetsがある。

Page 114: Talk microdata

ドキュメントやツールも提供されている。

Page 115: Talk microdata

使えるので、使ってみよう!

Page 116: Talk microdata

ありがとうございました。