Top Banner
Microdata: A Primer masataka yakura
117

Talk microdata

Nov 01, 2014

Download

Documents

SwapSkills

矢倉 眞隆 株式会社ミツエーリンクス
2010(vol.6)「HTML5を学ぶなら、セマンティックを学べ!」マイクロデータ
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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