<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>村岡 正和 &#8211; HTML5Experts.jp</title>
	<atom:link href="/bathtimefish/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>WoTはここからはじめる！？JavaScriptで開発できる3つのJS Boardデバイス</title>
		<link>/bathtimefish/13109/</link>
		<pubDate>Mon, 02 Mar 2015 00:00:16 +0000</pubDate>
		<dc:creator><![CDATA[村岡 正和]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[JS Board]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WoT]]></category>

		<guid isPermaLink="false">/?p=13109</guid>
		<description><![CDATA[連載： IoTxWeb (6)JavaScriptではじめる組み込み系プログラミング さまざまなデバイスがWebを介してつながるWeb of Things（WoT）。WoTの普及によってさまざまな分野からWeb上に新しい...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/iot_web/" class="series-240" title="IoTxWeb" data-wpel-link="internal">IoTxWeb</a> (6)</div><h2>JavaScriptではじめる組み込み系プログラミング</h2>

<p>さまざまなデバイスがWebを介してつながるWeb of Things（WoT）。WoTの普及によってさまざまな分野からWeb上に新しいサービスがローンチされ、Webを利用するユーザーに新しい体験が提供されるタイミングが、すぐそこまできている感じがします。</p>

<p>一方で、WoTの普及はWebクリエイターにとっても、新しいビジネスチャンスかもしれません。ひと昔前まで、Web技術は、PCのWebブラウザ上でしか使われないものでした。しかし現在では、Firefox OSのようにモバイル・ネイティブで動作するようになりました。さらに最近では、マイコンなどの組み込み機器でも、直接JavaScriptなどのWeb技術が動作するものが出てきました。</p>

<p>ここ最近、海外でリリースされているデバイスの中には、JavaScriptなどのWeb技術を強くキャッチアップしている製品が増えてきています。今回はそれらJS Boardの中から、筆者がよく使っているのものを3つ紹介したいと思います。</p>

<h2>Espruino</h2>

<p><a href="https://tessel.io/espruino.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">espruino.com</a></p>

<p>2013年に<a href="https://www.kickstarter.com/projects/gfw/espruino-javascript-for-things" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Kickstarterで資金調達が開始</a>され、目標額を大きく超える調達額を獲得し開発されたデバイスです。リファレンスボードであるEspruino Boardは、72MhzのCortex-M3でJavaScriptプログラムがコンパイルされ、動作する小さなマイコンです。</p>

<p><img src="http://www.espruino.com/img/ESPRUINOBOARD.jpg" alt="Espruino Board" width="280" height="440"></p>

<p>JavaScriptコードは、専用の<a href="https://chrome.google.com/webstore/detail/espruino-web-ide/bleoifhkdalbjfbobjackfdifdneehpo" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Espruino IDE</a>で編集し、EspruinoをPCとUSB接続すれば、IDEからEspruinoへ直接プログラムが転送できるようになっています。ArduinoのようにIDEが用意されているので、気軽に開発できるのがよいですね。</p>

<p>例えば、Espruinoに人感センサーをつないで人の動きを検知するサンプルコードは、このようになります。</p>

<p></p><pre class="crayon-plain-tag">setWatch(function() {
        LED2.write(1);
        setTimeout(function() {
        LED2.write(0);
    }, 3000);
}, A1, {repeat:true, edge:"rising"});</pre><p></p>

<p>EspruinoのJavaScriptには、ハードウェアを制御するための専用APIが、搭載されています。上記のコードでは <a href="http://www.espruino.com/Reference#l__global_setWatch" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">setWatch</a> というsetIntervalに似た関数で、センサーの状態を取得するループ処理を行っています。</p>

<p><img src="/wp-content/uploads/2015/02/IMG_20150222_153543-640x480.jpg" alt="Espruinoで人感センサーが動作しているようす" width="640" height="480" class="alignnone size-large wp-image-13116" srcset="/wp-content/uploads/2015/02/IMG_20150222_153543.jpg 640w, /wp-content/uploads/2015/02/IMG_20150222_153543-300x225.jpg 300w, /wp-content/uploads/2015/02/IMG_20150222_153543-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>筆者はこのプログラムをもうちょっと作りこんで、ウチの猫のトイレに設置しています。猫ちゃんがトイレに入ったり出たりするのを検知して、クラウドにデータを送信し、スマートフォンにプッシュ通知するような仕組みをつくりました。猫のトイレがすぐに掃除できるようになったので、猫ちゃんのストレスが減りました（減ったにちがいないｗ）。この事例は<a href="http://special.nikkeibp.co.jp/ts/article/ad0h/172223/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">日経テクノロジーオンライン</a>で取り上げていただきました。</p>

<p><img src="/wp-content/uploads/2015/02/IMG_20140612_183305-480x640.jpg" alt="Espruino猫トイレセンサーを猫トイレに設置している" width="359" height="500" class="alignnone size-large wp-image-13117" /></p>

<p>Espruinoに関する日本語の情報はあまり多くないですが、いまのところ<a href="http://qiita.com/advent-calendar/2014/espruino" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Espruino Advent Calendar 2014</a>がよくまとまっていると思います。個人的にはJS Boardの中で一番気に入っているデバイスなので日本でももっとユーザーが増えてほしいところですね。</p>

<p>これからEspruinoを買おうと思っている方には、上記のEspruino Boardもいいんですが、現在開発中の<a href="https://www.kickstarter.com/projects/gfw/espruino-pico-javascript-on-a-usb-stick" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Espruino Pico</a>もオススメです。Espruino PicoはEspruino Boardよりもさらに小さいUSBメモリサイズの基盤です。とても小さな基盤なのでいろいろなケースに活用できるのではないでしょうか。Espruino Picoのプレオーダー分は、2015年春ごろに発送される予定のようです。</p>

<h2>Tessel</h2>

<p><a href="https://tessel.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">tessle.io</a></p>

<p><a href="https://www.dragoninnovation.com/projects/22-tessel" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">DragonInnovationで資金調達された</a>プロジェクトで、Espruinoよりも少し大きなマイコンです。Wifiチップを搭載しているので、単独でWebにアクセスする機能を持っています。</p>

<p><img src="https://s3.amazonaws.com/technicalmachine-assets/technical-io/tessel-red-usb.jpg" alt="Tessel main board" width="280" height="440"></p>

<p>Tesselの特長は、多くの専用モジュールが販売されていることです。加速度センサ、GPS、BLE、サーボコントローラー、NFCなど多くのモジュールが別売りで販売されていて、Tesselのポートに差し込むだけで利用できます。Espruinoに市販のセンサーを接続する場合は電子回路の知識が必要ですが、Tesselの場合は専用ポートに差し込むだけなので回路の知識は不要です。</p>

<p>TesselのJavaScript APIはnode.js互換な仕様になっています。例えば、加速度センサーモジュールを接続してデータを取得するサンプルコードは以下です。</p>

<p></p><pre class="crayon-plain-tag">var tessel = require('tessel');
var accel = require('accel-mma84').use(tessel.port['A']);

accel.on('ready', function () {
    accel.on('data', function (xyz) {
        console.log('x:', xyz[0].toFixed(2), 'y:', xyz[1].toFixed(2), 'z:', xyz[2].toFixed(2));
    });
});

accel.on('error', function(err){ console.log('Error:', err); });</pre><p></p>

<p>JavaScriptらしいイベントドリブンな記述で、加速度センサーのデータがリアルタイムに受信できます。このコードでrequireしているtessel, accel-mma84といったnode.jsのモジュールライブラリはnpmでインストールできます。</p>

<p><img src="/wp-content/uploads/2015/02/IMG_20150222_133033-640x480.jpg" alt="Tesselで加速度センサーのデータを取得している。デバイスを傾けると、値が変化する" width="640" height="480" class="alignnone size-large wp-image-13118" srcset="/wp-content/uploads/2015/02/IMG_20150222_133033.jpg 640w, /wp-content/uploads/2015/02/IMG_20150222_133033-300x225.jpg 300w, /wp-content/uploads/2015/02/IMG_20150222_133033-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>Tesselは基本的に、4つのモジュール専用ポートに専用モジュールを接続して利用するスタイルですが、専用モジュール以外が利用できないかというと、そうではありません。Tesselには汎用的なGPIOポートも搭載されているので、<a href="http://akizukidenshi.com/catalog/top.aspx" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">秋月電子</a>あたりで買ってきたセンサーをつなげることもできます。下図はTesselのGPIOポートでLEDを点滅させてみたところです。</p>

<p><img src="/wp-content/uploads/2015/02/IMG_20150222_132105-640x4801.jpg" alt="TesselのGPIOポートにLEDを接続してLEDを点滅させている" width="640" height="423" class="size-full wp-image-13146" srcset="/wp-content/uploads/2015/02/IMG_20150222_132105-640x4801.jpg 640w, /wp-content/uploads/2015/02/IMG_20150222_132105-640x4801-300x198.jpg 300w, /wp-content/uploads/2015/02/IMG_20150222_132105-640x4801-207x137.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" />　▲TesselのGPIOポートにLEDを接続してLEDを点滅させている</p>

<p></p><pre class="crayon-plain-tag">/*
* TesselのGPIOでLチカ
* LEDのアノードをTesselの TX/G1
* LEDのカソードをTesselの GND
* に接続する
*/
 
var tessel = require('tessel');
var gpio = tessel.port['GPIO'];
 
gpio.digital[0].write(0); // TX/G1
 
flag = true;

setInterval(function() {
  if(flag == true) {
    flag = false;
  } else {
    flag = true;
  }
  console.log(flag);
  if(flag) gpio.digital[0].write(1);
  if(!flag) gpio.digital[0].write(0);
}, 1000);</pre><p></p>

<p>Tesselは今回紹介するデバイスで唯一国内販売されているデバイスです。<a href="https://www.switch-science.com/catalog/list/563/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">スイッチサイエンス</a>で購入できます。国内で買える、電子回路の知識が不要、node.js互換など、ハードウェアのない方でも入門しやすいデバイス、といえるのではないでしょうか。</p>

<h2>Spark</h2>

<p><a href="https://www.spark.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">spark.io</a></p>

<p>Sparkはマイコンというよりは、サーバーサイドを含めたオープンなIoTプラットフォームとして開発されています。<a href="http://makezine.jp/blog/2014/07/spark-lands-4-9-million-in-funding-launches-new-cloud-based-operating-system.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">昨年、Lion Wells Capital、O’Reilly AlphaTech Venturesなどから出資を受けて話題</a>となりました。</p>

<p>Sparkから発売されている小型マイコンボード Spark Coreは、72 Mhz Cortex M3とCC3000 Wifi moduleを組み合わせた「マイコン付きWifiモジュール」と呼べるようなもので、Arduino互換な言語でプログラムを記述します。</p>

<p><img src="https://store.spark.io/assets/core-a6fcc2b47e235d529ab58fe0a1124588.png" alt="Spark Core" width="280" height="440"></p>

<p>EspruinoやTesselと違って、JavaScript使わへんやんけと思われるかもしれませんが、Spark Coreから取得したデータはすべてWeb APIで取得できるようになっており、Web APIをラップしたJavaScript SDKがnode.js、Webブラウザで利用できるよう提供されています。</p>

<p>Spark Coreへプログラムを転送する場合は、Espruino、Tesselと違って、PCとUSB接続をする必要がありません。クラウド上のIDE <a href="https://www.spark.io/build" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Spark Build</a>で編集したコードをFlashすると、ネットワークに接続されているSpark Coreにリモート転送され、実行される仕組みになっています。</p>

<p>下のコード例では、Spark Coreと人感センサーをつないでセンサーの値を detected 変数にバインドしています。（一部抜粋）</p>

<p></p><pre class="crayon-plain-tag">Spark.variable("detected", &amp;detected, INT);
...
detected = motionDetect();</pre><p></p>

<p>上記のようにバインドされた値は以下のようにアクセスすることで、クラウドからセンサーの値を同期的に取得することができます。</p>

<p></p><pre class="crayon-plain-tag">curl -G https://api.spark.io/v1/devices/[Device ID]/detected \
  -d access_token=[Access Token]</pre><p></p>

<p>これをSparkのJavaScript SDKを利用して記述すると以下のようになります。</p>

<p></p><pre class="crayon-plain-tag">var spark = require('spark');
var ret = spark.login({"accessToken": "[Device Token]"});
device.getVariable('detected', function(err, data) {
  if (err) {
    console.log('An error occurred while getting attrs:', err);
  } else {
    console.log('Core attr retrieved successfully:', data);
  }
});</pre><p></p>

<p>SparkはSDKの他にサーバー、デバイス間の通信プロトコルが、node.jsモジュールで実装されています。それを利用するモックアップサーバーもnode.jsコードで公開されているので、結構JS成分が多いです。SparkのプロトコルはCoAP+SSLで設計されていて、このあたりはWoTというよりはIoTなんですが、かなり興味深い実装です。</p>

<p>筆者がSpark Coreを使ってみた感覚では、長時間にわたる動作についてはTessel、Espruinoに比べて安定していると感じました。Tessel、Espruinoは実験や製品の試作レベルでカジュアルに利用できるデバイスですが、Sparkは、それらよりも一歩製品レベルに踏み込んでいるような印象があります。</p>

<p>現在販売されているデバイス Spark Core は39ドルで販売されていますが、次世代のSparkデバイスである PhotonとそのコアモジュールP0が2015年5月に発売予定となっており、現在プレオーダーが受け付けられています。価格はPhotonが19ドル、P0が10個で100ドル（1個あたり10ドル）となっており、IoT製品の量産に利用できるような価格帯となっています。</p>

<h2>まとめ</h2>

<p>個人的な話ですが、最近<a href="http://morning.moae.jp/lineup/362" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ハルロック</a>の影響で電子工作にはまってます。仕事が終わってからハンダ付けをしたり、ブレッドボードで配線したりしてる今日この頃なんですが、マイコンのプログラミングはC++とかJavaとかでやるのはなんか負けた気がするので、JavaScriptでプログラミングできるものにこだわっています。</p>

<p>そういったWeb技術、特にJavaScriptを中心的に利用している組み込み機器を個人的に”JS Board”と呼んでいて、<a href="https://atnd.org/events/57672" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">勉強会</a>を開催したりしています。先日のHTML5 Conference 2015でも出展させていただきました。今後も勉強会などをやって、情報共有などをしていこうと思っています。</p>

<p><img src="/wp-content/uploads/2015/02/IMG_20150125_155111-640x4801.jpg" alt="" width="640" height="441" class="alignnone size-full wp-image-13150" srcset="/wp-content/uploads/2015/02/IMG_20150125_155111-640x4801.jpg 640w, /wp-content/uploads/2015/02/IMG_20150125_155111-640x4801-300x207.jpg 300w, /wp-content/uploads/2015/02/IMG_20150125_155111-640x4801-207x143.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" />　▲HTML5 Conference 2015にJS Board勉強会が出展。さまざまなJS Boardデバイスが展示されている。</p>

<p>これからまだまだJavaScriptを活用するデバイスが続々と登場してきそうです。
JS Boardに興味を持った方々、ぜひ一緒に勉強していきましょう！</p>
]]></content:encoded>
		
		<series:name><![CDATA[IoTxWeb]]></series:name>
	</item>
		<item>
		<title>Markup Cafe FUKUOKA Vol.1開催レポート～福岡で盛り上がる！HTML5マークアップのアイデアあれこれ～</title>
		<link>/bathtimefish/6644/</link>
		<pubDate>Wed, 14 May 2014 03:00:18 +0000</pubDate>
		<dc:creator><![CDATA[村岡 正和]]></dc:creator>
				<category><![CDATA[デザイン]]></category>
		<category><![CDATA[サイト制作]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[マークアップ]]></category>

		<guid isPermaLink="false">/?p=6644</guid>
		<description><![CDATA[連載： イベントレポート (17)こんにちは！html5jマークアップ部 部長の村岡です。 この記事では2014年3月8日に開催されたMarkup Cafe FUKUOKA Vol.1のイベントレポートをさせていただきま...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/eventarchives/" class="series-159" title="イベントレポート" data-wpel-link="internal">イベントレポート</a> (17)</div><p>こんにちは！html5jマークアップ部 部長の村岡です。<br>
この記事では2014年3月8日に開催されたMarkup Cafe FUKUOKA Vol.1のイベントレポートをさせていただきます。</p>

<p><img src="/wp-content/uploads/2014/05/photo01-1024x768.jpg" alt="お菓子やコーヒーとともに" width="1024" height="768" class="alignnone size-large wp-image-6645" srcset="/wp-content/uploads/2014/05/photo01-1024x768.jpg 1024w, /wp-content/uploads/2014/05/photo01-300x225.jpg 300w, /wp-content/uploads/2014/05/photo01-207x155.jpg 207w, /wp-content/uploads/2014/05/photo01.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>

<p>大阪に続く地方開催でのMarkup Cafe、今回も20名以上の方々に参加いただいて様々なマークアップ案が披露されました。</p>

<p>Markup Cafe FUKUOKAの開催にあたっては準備や開催告知などで地元のHTMLマークアップコミュニティである福岡マークアップ勉強会、通称「マカベン」の方々にご協力いただきました。この場を借りて改めて御礼申し上げます。ありがとうございました。</p>

<p>福岡マークアップ勉強会「マカベン」（敬称略）</p>

<p><img src="/wp-content/uploads/2014/05/staff-1024x768.jpg" alt="MarkupCafe Fukuoka Vo.1スタッフ" width="1024" height="768" class="alignnone size-large wp-image-6647" srcset="/wp-content/uploads/2014/05/staff-1024x768.jpg 1024w, /wp-content/uploads/2014/05/staff-300x225.jpg 300w, /wp-content/uploads/2014/05/staff-207x155.jpg 207w, /wp-content/uploads/2014/05/staff.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>

<ul>
<li><a href="https://twitter.com/mune_nori" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">西村 宗倫</a>（左）</li>
<li>筆者（中央左）</li>
<li><a href="https://twitter.com/kanapple73" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">卜部 加奈子</a>（中央右）</li>
<li><a href="https://twitter.com/tamshow_" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">田村 章吾</a>　<a href="http://masizime.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ましじめ</a>（右）</li>
</ul>

<h2>FUKUOKA Vol.1 マークアップ事例の解説</h2>

<p>今回は地域スタッフの方々から「普段マークアップで疑問に思ってることをみんなで検討したい」というご意見があったので、出題を2題にし、残りの時間でQ&amp;Aを行う構成にしました。</p>

<p>このタイムテーブルは実際やってみてよかったです。普段は3題出題するんですが、結構頭が疲れるし、ゆっくりコーヒーを飲む時間もなかったりするので（笑）。2題がんばった後にQ&amp;Aコーヒーを飲みながら談笑するくらいがカフェっぽくていいです。これからはこの時間配分でやろうかなと思いました。</p>

<h3>1問目 記事のヘッダ</h3>

<p><img src="/wp-content/uploads/2014/05/b99273e55e3d10d312e91ad04766471b.png" alt="記事のヘッダ" width="727" height="302" class="alignnone size-full wp-image-6649" srcset="/wp-content/uploads/2014/05/b99273e55e3d10d312e91ad04766471b.png 640w, /wp-content/uploads/2014/05/b99273e55e3d10d312e91ad04766471b-300x124.png 300w, /wp-content/uploads/2014/05/b99273e55e3d10d312e91ad04766471b-207x85.png 207w" sizes="(max-width: 727px) 100vw, 727px" /></p>

<p>今回の2題はマカベンの方々に考えていただきました。最初のお題は記事ページのヘッダ部分のマークアップです。ブログなどでよく使われるレイアウトですね。サンプルとしてこのHTML5 Experts.jpのヘッダ部分を採用しました。よくみるとパンくず、タイトル、著者の写真、日付、ソーシャルボタンなどなど……このヘッダの情報量はかなり多いですね。みなさん結構苦戦してたみたいです。</p>

<p><a href="http://jsdo.it/ren-mj/A5Aq" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Aチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;article&gt;
&lt;nav&gt;
&lt;ul&gt;
&lt;li&gt;HTML5Experts.jp&lt;/li&gt;
&lt;li&gt;中島直博&lt;/li&gt;
&lt;li&gt;続・よくある3つのデザインから考える、マ...&lt;/li&gt;
&lt;/ul&gt;
 &lt;/nav&gt;
&lt;header&gt;

&lt;div id=”flame”&gt;
&lt;figure&gt; picture  &lt;/figure&gt;
&lt;h1&gt;続・よくある3つのデザインから考える、マークアップの最適解&lt;/h1&gt;
&lt;p&gt;中島直博&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=”#”&gt;CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;マークアップ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;time datetime=”2013-11-08”&gt;2013年11月8日&lt;/time&gt;
&lt;/div&gt;

&lt;aside&gt;
&lt;ul&gt;
&lt;li&gt;facebook&lt;/li&gt;
&lt;li&gt;twitter&lt;/li&gt;
&lt;li&gt;google+&lt;/li&gt;
&lt;li&gt;hatebu&lt;/li&gt;
&lt;li&gt;pocket&lt;/li&gt;
&lt;li&gt;☆&lt;/li&gt;
&lt;/ul&gt;

 &lt;/aside&gt;

&lt;/header&gt;
&lt;/article&gt;</pre><p></p>

<p>Aチームのポイントは以下です。</p>

<ul>
<li>全体をarticle要素とした</li>
<li>パンくずはnav要素とし項目をul, li要素でリストとした</li>
<li>nav要素内に見出しを入れるかどうか悩んだが、入れなかった</li>
<li>パンくずの下、タイトル、ソーシャルボタン等をheader要素とした</li>
<li>ソーシャルボタン群はaside要素とした</li>
<li>著者名はp要素とした</li>
</ul>

<p>まず、HTML5で新たに登場したarticle要素で記事全体を囲っています。このお題ではヘッダの下に記事本文が続くことが想定できるので、本文や記事のフッタがあればそのフッタもarticle要素内に入るでしょう。</p>

<p>Aチームはnav要素がセクショニング・コンテンツであることに着目して、見出し要素を入れるべきかどうか悩んだようです。ここは悩むケースが出てくるところですね。個人的にはレイアウト上見出し表記がない場合には必要がないと考えていますが、スクリーンリーダー等に配慮して見出し要素で「パンくずナビゲーション」などと記載しCSSでdisplay:none;してもよいかもしれないです。</p>

<p>article要素は自己完結するコンテンツを表します。HTML5を学ぶ上で、articleやsectionといった新しい要素は使いどころが難しいとよく言われますね。個人的には新聞の紙面から記事をスクラップするようなケースで理解しています。</p>

<p>新聞中のひとつの記事をハサミで切り取ってスクラップファイルに収録する場合は、記事のタイトルや本文、補足事項など、後から読んだときに情報が欠損しない範囲を切り取るでしょう。そのようなイメージでarticle要素を使うのが適当だと考えています。</p>

<p><a href="http://jsdo.it/kiyopikko/qUIq" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Bチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;nav&gt;
&lt;ol&gt;
&lt;li&gt;xHTML5Expert.jp&lt;/li&gt;
&lt;li&gt;中島直博&lt;/li&gt;
&lt;li&gt;続・よくある3つのデザインから考える、マークアップの最適解&lt;/li&gt;
&lt;/ol&gt;
&lt;/nav&gt;

&lt;article&gt;
&lt;header&gt;
&lt;h1&gt;続・よくある3つのデザインから考える、マークアップの最適解&lt;/h1&gt;
&lt;figure&gt;
&lt;img src="" alt=""&gt;
&lt;figcaption&gt;中島直博&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=""&gt;CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;マークアップ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;time datatime="2013-11-08"&gt;2013年11月8日&lt;/time&gt;

&lt;ul&gt;
&lt;li&gt;facebook&lt;/li&gt;
&lt;li&gt;twitter&lt;/li&gt;
&lt;li&gt;google+&lt;/li&gt;
&lt;li&gt;はてぶ&lt;/li&gt;
&lt;li&gt;pocket&lt;/li&gt;
&lt;li&gt;評価&lt;/li&gt;
&lt;/ul&gt;
&lt;/header&gt;
&lt;/article&gt;</pre><p></p>

<p>Bチームのポイントは以下です。</p>

<ul>
<li>パンくずより下の部分をarticle &gt; header要素とした</li>
<li>パンくずの階層を意識してol要素とした</li>
<li>著者の写真、著者名やfigure, figcaption要素とした。</li>
</ul>

<p>Bチーム中の参加者の方が終わってから<a href="http://2ndidea.com/markup/markupcafe-fukuoka-vol1/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ブログ</a>を書かれています。勉強会の経験をもとにマークアップを再考されてるのはとても素晴らしいですね！ボクも読んで勉強になりました。</p>

<p>このチームでは、パンくずには階層（≒順序）があると考えてol要素でリスト化しています。また、著者の写真と著者名の関連性を意識してかそれらをfigure, figcaption要素でマークアップしています。</p>

<p>figure要素は図表を表し、figcaption要素はその説明を表します。なるほど…著者近影と著者名が図表とその説明にあたると解釈できるかもしれないですね。興味深いです。その他、日付をtime要素で囲っているのも特徴的ですね。</p>

<p><a href="http://jsdo.it/Yusuke.Hirao/wcRL" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Cチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;!doctype html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
	&lt;meta charset="UTF-8"&gt;
	&lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;article&gt;

	&lt;header&gt;
		
		&lt;nav prefix="v: http://rdf.data-vocabulary.org/#"&gt;
			&lt;span typeof="v:Breadcrumb"&gt;
				&lt;a href="#" rel="v:url" property="v:title"&gt;
					HTML5Experts.jp
				&lt;/a&gt; ›
			&lt;/span&gt;
			&lt;span typeof="v:Breadcrumb"&gt;
				&lt;a href="http://www.example.com/dresses/real" rel="v:url" property="v:title"&gt;
					中島 直博
				&lt;/a&gt; ›
			&lt;/span&gt;
			&lt;span typeof="v:Breadcrumb"&gt;
				&lt;a href="http://www.example.com/dresses/real/green" rel="v:url" property="v:title"&gt;
					続・よくある3つのデザインから考える、マ...
				&lt;/a&gt;
			&lt;/span&gt;
		&lt;/nav&gt;

		&lt;div prefix="v: http://rdf.data-vocabulary.org/#" typeof="v:Person"&gt;
			&lt;img class="avatar" src="#" alt="中島 直博"&gt;
			&lt;h1&gt;続・よくある3つのデザインから考える、マークアップの最適解&lt;/h1&gt;
			&lt;span property="v:name"&gt;中島 直博&lt;/span&gt;
			&lt;div&gt;
				&lt;ul class="tags"&gt;
					&lt;li&gt;&lt;a href="#"&gt;&lt;data value="css"&gt;CSS&lt;/data&gt;&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="#"&gt;&lt;data value="markup"&gt;マークアップ&lt;/data&gt;&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/div&gt;
			&lt;time datetime="2013-11-08"&gt;2013年11月8日&lt;/time&gt;
		&lt;/div&gt;

		&lt;div&gt;

			&lt;div class="social_buttons"&gt;
				&lt;ul&gt;
					&lt;li&gt;各SNSタグ&lt;/li&gt;
					&lt;li&gt;各SNSタグ&lt;/li&gt;
					&lt;li&gt;各SNSタグ&lt;/li&gt;
					&lt;li&gt;各SNSタグ&lt;/li&gt;
					&lt;li&gt;各SNSタグ&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/div&gt;

			&lt;div class="rating"&gt;
				&lt;img src="#" alt="評価4.5" class="star"&gt;
				(&lt;span class="counting"&gt;6&lt;/span&gt;人が評価しています。)
			&lt;/div&gt;
			
		&lt;/div&gt;

	&lt;/header&gt;

	&lt;section&gt;
		
		本文〜

	&lt;/section&gt;

&lt;/article&gt;
	
&lt;/body&gt;
&lt;/html&gt;</pre><p></p>

<p>Cチームのポイントは以下です。</p>

<ul>
<li>HTML5バリデーション合格</li>
<li>RDFa Breadcrumb, Personを使用</li>
</ul>

<p>CチームはマークアップをHTMLバリデーターに通し、合格してから発表に臨んでいました。そのためにdoctypeやhtml要素もマークアップされています。そこまで考えていたとは。なんかかっこいいですねｗ</p>

<p>情報をよりセマンティックにするためパンくずはBreadcrumb, 著者写真、著者名はPersonのRDFaスキーマを使いマークアップしています。このチームの後からの反省点として、Personスキーマはちょっとおかしかったかも。というのがありましたが、まあこれはこれでいいんじゃないですかね。<br>
全体的に情報の順番とCSSの装飾のバランスが意識されたマークアップです。</p>

<p><a href="http://jsdo.it/tamshow/zOJL" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Dチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;article&gt;
 &lt;nav&gt;
   &lt;ol&gt;
    &lt;li&gt;&lt;a href=""&gt;ホーム&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=""&gt;現在地&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
 &lt;/nav&gt;   

&lt;header&gt;
    &lt;h1&gt;タイトルタイトル&lt;/h1&gt;
    &lt;figure&gt;
     &lt;img src=""&gt;
     &lt;figcaption&gt;名前&lt;/figcaption&gt;
    &lt;/figure&gt;
    
    &lt;dl&gt;
        &lt;dt&gt;タグ&lt;/dt&gt;
        &lt;dd&gt;tag&lt;/dd&gt;
        &lt;dd&gt;tag&lt;/dd&gt;
        &lt;dd&gt;tag&lt;/dd&gt;
    &lt;/dl&gt;
    &lt;time&gt;2013年9月25日&lt;/time&gt;
&lt;/header&gt;

&lt;aside&gt;
    &lt;div&gt;sns&lt;/div&gt;
    &lt;div&gt;記事の評価&lt;/div&gt;
 &lt;/aside&gt;
    
  &lt;section&gt;本文&lt;/section&gt;
  &lt;/article&gt;</pre><p></p>

<p>Dチームのポイントは以下です。</p>

<ul>
<li>タイトル、著者情報、タグ、日付をheader要素とした</li>
<li>ぱんくずはnav, ソーシャルボタン群はaside要素とした</li>
<li>パンくずはol要素とした</li>
<li>著者の写真、著者名やfigure, figcaption要素とした</li>
</ul>

<p>他のチームと比べてheader要素の範囲が限定的なのが特徴的です。パンくずやソーシャルボタンがヘッダなのかどうかについては、各チームでもいろいろな意見が出たようですが、この辺りは制作者の解釈によって様々ありそうですね。</p>

<p>パンくずでol要素を使う、著者情報にfigure, figcaption要素を使うという考え方はBチームに似ています。タグをdl要素で定義リストとしているところも特徴的ですね。</p>

<p><a href="http://jsdo.it/Garyuten/we1A" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Eチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;header&gt;
		&lt;div itemscope itemtype="http://"&gt;
		    &lt;a href="http://" itemprop="url"&gt;
		      &lt;span itemprop="title"&gt;HTML5Experts.jp&lt;/span&gt;
		    &lt;/a&gt;
		    &lt;img src="img/arrow.png" alt="の中の"&gt;
		    &lt;div itemprop="child" itemscope itemtype="http://"&gt;
		      &lt;a href="http://" itemprop="url"&gt;
		        &lt;span itemprop="title"&gt;中島 直博&lt;/span&gt;
		      &lt;/a&gt;
		    	&lt;img src="img/arrow.png" alt="の中の"&gt;
		      &lt;div itemprop="child" itemscope itemtype="http://"&gt;
		        &lt;a href="http://" itemprop="url"&gt;
		          &lt;span itemprop="title"&gt;続・よくある３つのデザインから考える、マークアップの最適解&lt;/span&gt;
		        &lt;/a&gt;
		      &lt;/div&gt;
		    &lt;/div&gt;
		&lt;/div&gt;

		&lt;section&gt;
			&lt;h1&gt;続・よくある3つのデザインから考える、マークアップの最適解&lt;/h1&gt;
		&lt;/section&gt;
		&lt;figure itemprop="image"&gt;&lt;img src="author.png" alt=""&gt;&lt;/figure&gt;
		&lt;span itemprop="author"&gt;中島直博&lt;/span&gt;
		&lt;time itemprop="pubdate" datetime="2013-11-08"&gt;2013年11月8日&lt;/time&gt;
		&lt;dl class="tags"&gt;
			&lt;dt&gt;タグ&lt;/dt&gt;
			&lt;dd&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href="#"&gt;CSS&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href="#"&gt;マークアップ&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/dd&gt;
		&lt;/dl&gt;
		&lt;aside class="sns-share"&gt;
			&lt;ul&gt;
				&lt;li&gt;いいね&lt;/li&gt;
				&lt;li&gt;ツイート&lt;/li&gt;
				&lt;li&gt;g+&lt;/li&gt;
				&lt;li&gt;B!&lt;/li&gt;
				&lt;li&gt;Pocket&lt;/li&gt;
				&lt;li&gt;
                    &lt;img alt="4.5個の星です" class="star"&gt;
                    &lt;img alt="" class="star"&gt;
                    &lt;img alt="" class="star"&gt;
                    &lt;img alt="" class="star"&gt;
                    &lt;img alt="" class="star-half"&gt; 6人が評価しています。&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/aside&gt;
	&lt;/header&gt;</pre><p></p>

<p>Eチームのポイントは以下です。</p>

<ul>
<li>全体をheader要素とした</li>
<li>パンくずの構造をitempropで定義、矢印画像のalt属性値を&#8221;の中の&#8221;とした</li>
<li>&lt;dt&gt;タグ&lt;/dt&gt;はCSSで非表示にすることを想定</li>
<li>スター評価の画像グループはWEBアクセシビリティガイドラインに沿ってマークアップした</li>
</ul>

<p>この問題では、パンくず、ソーシャルボタン群をヘッダとして扱うかどうかが議論の焦点となっていましたが、Eチームは記事ヘッダの一部とみなしてheader要素内としています。</p>

<p>Eチームは特にスクリーンリーダーに配慮された印象が強いマークアップです。<br>
パンくずのデザインで使われている&#8221;＞&#8221;を画像とし、alt属性値を&#8221;の中の&#8221;とすることで、スクリーンリーダーで「◯◯の中の◯◯」と読み上げる配慮をしています。さらにDチームと同様タグブロックにdt要素でタイトルを記載し、CSSで非常時とすることでスクリーンリーダーでの読み上げに配慮しています。</p>

<p>スター評価の画像グループでは、一番上の画像のalt属性値を&#8221;4.5個の星です&#8221;とし、その他の画像のalt属性値を空にしています。これは<a href="http://waic.jp/docs/WCAG-TECHS/G196.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">G196: 画像のグループにある一つの画像に代替テキストを提供して、そのグループの全ての画像を説明する</a>の実装例に沿ったもので、同じくスクリーンリーダーでの読み上げに配慮したものになっています。</p>

<h4>部長はこう書く</h4>

<p><a href="http://jsdo.it/bathtimefish/uujd" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:部長</a></p>

<p></p><pre class="crayon-plain-tag">&lt;article itemscope itemtype="http://schema.org/Article"&gt;
    &lt;header&gt;
        &lt;div xmlns:v="http://rdf.data-vocabulary.org/#"&gt;
           &lt;span typeof="v:Breadcrumb"&gt;
             &lt;a href="#" rel="v:url" property="v:title" class="link"&gt;
                 HTML5Experts.jp
            &lt;/a&gt;
           &lt;/span&gt;
           &lt;span typeof="v:Breadcrumb"&gt;
            &lt;a href="#" rel="v:url" property="v:title" class="link"&gt;
              中島直博
            &lt;/a&gt;
           &lt;/span&gt;
           &lt;span typeof="v:Breadcrumb"&gt;
            &lt;a href="#" rel="v:url" property="v:title" class="current"&gt;
              続・よくある3つのデザインから考える、マークアップの最適解
            &lt;/a&gt;
           &lt;/span&gt;
        &lt;/div&gt;
        &lt;div&gt;
            &lt;div class="author-photo"&gt;
                &lt;img alt="中島直博" src="photo.jpg"&gt;
            &lt;/div&gt;
            &lt;div class="title"&gt;
                &lt;h1 itemprop="name"&gt;
                    続・よくある3つのデザインから考える、マークアップの最適解
                &lt;/h1&gt;
            &lt;/div&gt;
            &lt;div class="author"&gt;
                &lt;span itemprop="author"&gt;中島直博&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class="tags" itemprop="keywords"&gt;
                &lt;a href="#"&gt;CSS&lt;/a&gt;,
                &lt;a href="#"&gt;マークアップ&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class="publish-date"&gt;
                &lt;time itemprop="datePublished" datetime="2013-11-08"&gt;2013年11月8日&lt;/time&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;aside&gt;
            &lt;ul class="sns-buttons"&gt;
                &lt;li&gt;いいね！&lt;/li&gt;
                &lt;li&gt;ツイート&lt;/li&gt;
                &lt;li&gt;g+&lt;/li&gt;
                &lt;li&gt;B!&lt;/li&gt;
                &lt;li&gt;Pocket&lt;/li&gt;
            &lt;/ul&gt;
            &lt;div class="stars"&gt;
                &lt;img src="star.jpg" alt="星5つ中、星4.5個"&gt;
                &lt;img src="star.jpg" alt=""&gt;
                &lt;img src="star.jpg" alt=""&gt;
                &lt;img src="star.jpg" alt=""&gt;
                &lt;img src="star.jpg" alt=""&gt;
            &lt;/div&gt;
            &lt;span itemprop="interactionCount" content="UserLikes:6"&gt;(6人が評価しています)&lt;/span&gt;
        &lt;/aside&gt;
    &lt;/header&gt;
&lt;/article&gt;</pre><p></p>

<ul>
<li>schema.org Articleを採用し、記事情報をマークアップした</li>
<li>パンくずはRDFa Breadcrumbを採用</li>
<li>スター評価、ソーシャルボタン群はaside要素とした</li>
<li>スター評価の画像グループはG196の実装例に沿ってマークアップした</li>
</ul>

<p>懸案のパンくず、ソーシャルボタン群はheader要素内に入れています。その上でソーシャルボタン、スター評価はaside要素としました。特に厳密に考慮したわけではないですが、まあヘッダの一部でよいと思っています。</p>

<p>パンくずは<a href="https://html5experts.jp/bathtimefish/5506/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">前回の時</a>と同様Googleのリッチスニペットのマークアップを参考にしました。記事全体の情報の記述も<a href="https://support.google.com/webmasters/answer/3222269" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Googleウェブマスターツールの記事</a>をヒントに<a href="http://schema.org/Article" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Articleスキーマ</a>を使っています。</p>

<p>別にGoogle信者というわけじゃないですが、ウェブマスターツールのヘルプにあるように、将来的に検索エンジン等でサーチフレンドリーとなる可能性が高まるのは良いことだと思います。</p>

<p>スター評価の画像グループはEチームと同様WCAGのG196の実装例に沿いました。このような画像グループのケースごとの実装はWCAGのドキュメントのほか、最近公開された<a href="http://www.w3.org/WAI/tutorials/images/groups/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WAI Web Accessibility Tutorials &#8211; Groups of Images</a>のドキュメントも参考になります。</p>

<p><img src="/wp-content/uploads/2014/05/photo02-1024x768.jpg" alt="photo02" width="1024" height="768" class="alignnone size-large wp-image-6651" srcset="/wp-content/uploads/2014/05/photo02-1024x768.jpg 1024w, /wp-content/uploads/2014/05/photo02-300x225.jpg 300w, /wp-content/uploads/2014/05/photo02-207x155.jpg 207w, /wp-content/uploads/2014/05/photo02.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>

<h3>2問目 複数のリンクリスト／ナビゲーション</h3>

<p><img src="/wp-content/uploads/2014/05/f60ff0720990d08d6699f5f5a93173cc-808x1024.png" alt="複数のリンクリスト・ナビゲーション" width="808" height="1024" class="alignnone size-large wp-image-6652" srcset="/wp-content/uploads/2014/05/f60ff0720990d08d6699f5f5a93173cc-808x1024.png 808w, /wp-content/uploads/2014/05/f60ff0720990d08d6699f5f5a93173cc-236x300.png 236w, /wp-content/uploads/2014/05/f60ff0720990d08d6699f5f5a93173cc-163x207.png 163w, /wp-content/uploads/2014/05/f60ff0720990d08d6699f5f5a93173cc.png 505w" sizes="(max-width: 808px) 100vw, 808px" /></p>

<p>2問目は、ページのサイドによくあるリンクのリスト、ナビゲーションなどのレイアウトです。画像中のグローバルナビゲーションの下、メインコンテンツの右側の部分です。ウェブページではこのような上部のグローバルナビゲーションのほかにサイドペインにサブナビゲーションやバナーなど複数のテキストリンク、ボタンなどが並ぶレイアウトがよくありますね。一見単純なマークアップになりそうな気がしますが、ここでも細かいところでいろいろな疑問やアイデアが出てきました。</p>

<p><a href="http://t.co/RvRXc9OPAk" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Aチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;aside&gt;
&lt;section class="article_list"&gt;
&lt;h1&gt;マークアップカフェ&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル01&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル02&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル03&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル04&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル05&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル06&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル07&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル08&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル09&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;タイトル10&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;

&lt;div class=”banner”&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=”#”&gt;&lt;img src=”#” alt=”マークアップカフェについて”&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;&lt;img src=”#” alt=”マカベンについて”&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#”&gt;&lt;img src=”#” alt=”マカベンについて”&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;section class=”link”&gt;
&lt;h1&gt;福岡のIT勉強会&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=”#” title=”ダミーテキスト”&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#” title=”ダミーテキスト”&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#” title=”ダミーテキスト”&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=”#” title=”ダミーテキスト”&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/aside&gt;</pre><p></p>

<p>Aチームのポイントは以下です。
* 全体をaside要素とした
* 1番目のリストをol要素とした
* 1, 3番目のリストをsection要素とした</p>

<p>まず、このブロック全体をaside要素としています。aside要素はコンテンツには関連があるが、切り離しても問題がないようなセクションを表します。1番目のリストをローカルナビゲーションとみなした場合、asideにするのは違和感がないか？という意見がありました。Aチームではaside=サイド部分というような感覚で考えていたようなので、解釈が違っていたという反省があったようです。</p>

<p>1番目のリストはulかolか悩んだようですが、テキストに番号が降ってあったのでolにしたそうです。テキストの番号がリストの順序に意味的に直結している場合はそうかもしれませんが、これは文書構造をどう設計したいかによるかもしれないですね。</p>

<p>1, 3番目のリストをsectionとし、2番目をdivとしています。この場合は文書のアウトラインがおかしくなるのでは？という指摘がありました。</p>

<p>実際にこのマークアップを<a href="http://gsnedders.html5.org/outliner/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Outliner</a>にかけてみると図のようになります。</p>

<p><img src="/wp-content/uploads/2014/05/outliner.png" alt="1.Untitled Section、ネスト、1.Untitled Section、ネスト、1.マークアップカフェ、2.福岡のIT勉強会" width="500" height="201" class="alignnone size-full wp-image-6654" srcset="/wp-content/uploads/2014/05/outliner.png 500w, /wp-content/uploads/2014/05/outliner-300x120.png 300w, /wp-content/uploads/2014/05/outliner-207x83.png 207w" sizes="(max-width: 500px) 100vw, 500px" /></p>

<p>アウトライン上に2番目のリストが現れていません。2番目のリストもセクショニング・コンテンツでよいかもしれないという意見がありました。</p>

<p>全体的に情報の文脈と、文書構造をどう切り分けてマークアップしていくかということをよく考えさせられるマークアップでした。</p>

<p><a href="http://jsdo.it/kiyopikko/xcP7" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Bチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;section&gt;
&lt;nav&gt;
&lt;h1&gt;マークアップカフェ&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/nav&gt;

&lt;aside&gt;
&lt;section&gt;
&lt;h1 class="hide"&gt;広告&lt;/h1&gt;
&lt;div&gt;&lt;a href=""&gt;&lt;img src="" alt=""&gt;&lt;p&gt;マークアップカフェについて&lt;/p&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href=""&gt;&lt;img src="" alt=""&gt;&lt;p&gt;マークアップカフェについて&lt;/p&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href=""&gt;&lt;img src="" alt=""&gt;&lt;p&gt;マークアップカフェについて&lt;/p&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/section&gt;

&lt;section&gt;
&lt;h1&gt;最近のIT勉強会&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/aside&gt;
&lt;/section&gt;</pre><p></p>

<p>Bチームのポイントは以下です。</p>

<ul>
<li>1番目のリストをol要素とした</li>
<li>2番目のリストに見出しをつけ、CSSで非表示とする</li>
<li>1番目のリストをnav, 2,3番目のリストをそれぞれsection要素とした</li>
<li>2, 3番目のリストをaside要素とした</li>
<li>全体をsection要素とした</li>
</ul>

<p>1番目のリストはAチームと同様、順番を意識してol要素としています。2番目のリストに見出しをつけてCSSで非表示とすることで、スクリーンリーダー等での読み上げに配慮しています。</p>

<p>セクショニングは1番目をnav、2,3番目をsectionとし、2,3番目をasideとし、全体をsectionとしています。これをHTML5 Outlinerにかけてみると次のようになります。</p>

<p><img src="/wp-content/uploads/2014/05/outline2.png" alt="1.Untitled Section、ネスト、1.Untitled Section、ネスト、1.マークアップカフェ、2.Untitled Section、ネスト、1.広告、ネスト、2.最近のIT勉強会" width="500" height="277" class="alignnone size-full wp-image-6655" srcset="/wp-content/uploads/2014/05/outline2.png 500w, /wp-content/uploads/2014/05/outline2-300x166.png 300w, /wp-content/uploads/2014/05/outline2-207x114.png 207w" sizes="(max-width: 500px) 100vw, 500px" /></p>

<p>Untitled Section（見出しのないセクション）が余分に現れてきています。特に「広告」、「最近のIT勉強会」がUntitled Sectionで下げられてしまっていますね。チームではHTML5の要素でできるだけ意味的なまとまりをつくろうと考えたようですが、結果的にアウトラインがおかしくなっています。</p>

<p>HTML5で登場したarticle, section, nav, asideといったセクショニング・コンテンツは文書のアウトラインを表現するので、意味づけだけを意識して使うとアウトラインの構造がおかしくなる可能性があります。ここが使いどころに悩むところですね。その意味で非常に参考になるマークアップです。</p>

<p><a href="http://jsdo.it/Yusuke.Hirao/vz8W" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Cチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;!doctype html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
	&lt;meta charset="UTF-8"&gt;
	&lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="side_menu"&gt;

	&lt;div class="side_menu_block"&gt;
		&lt;nav class="nav_local"&gt;
			&lt;h1 class="cat_title"&gt;マークアップカフェ&lt;/h1&gt;
			&lt;ul&gt;
				&lt;li&gt;&lt;a href="#" rel="prev"&gt;タイトル01&lt;/a&gt;&lt;/li&gt;
				&lt;li class="current"&gt;&lt;a&gt;タイトル02&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" rel="next"&gt;タイトル03&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル04&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル05&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル06&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル07&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル08&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル09&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#"&gt;タイトル10&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/nav&gt;
	&lt;/div&gt;
	
	&lt;div class="side_menu_block"&gt;
		&lt;aside class="banners"&gt;
			&lt;ul&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;&lt;img src="#" alt="xxxのバナー"&gt;&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;&lt;img src="#" alt="yyyのバナー"&gt;&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;&lt;img src="#" alt="zzzのバナー"&gt;&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/aside&gt;
	&lt;/div&gt;

	&lt;div class="side_menu_block"&gt;
		&lt;aside class="external_link"&gt;
			&lt;h1&gt;福岡のIT勉強会&lt;/h1&gt;
			&lt;ul&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="#" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/aside&gt;
	&lt;/div&gt;
	
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre><p></p>

<p>Cチームのポイントは以下です。</p>

<ul>
<li>HTML5バリデーション合格</li>
<li>1番目のリストはnav要素とした</li>
<li>2, 3番目のリストはそれぞれaside要素とした</li>
<li>それぞれのリストをdivで囲い同一のクラス名を割り当てた</li>
</ul>

<p>1問目と同様バリデーションに合格していますｗ 1番目のリストはローカルナビゲーションとみなしnav要素としました。ulで順番なしリストとし、a要素中のrel属性でカレントページの前後を表しています。</p>

<p>2,3番目のリストはそれぞれをaside要素としています。ページコンテンツから切り離せる部分という考えはBチームと同様ですが、アウトラインとCSSを考慮してのようです。</p>

<p>各リストはCMSではウィジェット機能で提供されるのが多いことに配慮して各リストをdivとし、同一のクラス名を当てています。現実的な配慮ですね。</p>

<p><a href="http://t.co/ajZrSHWsZT" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Dチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;article&gt;メインコンテンツ&lt;/article&gt;

&lt;article&gt;
  &lt;section&gt;
      
    &lt;h1&gt;マークアップカフェ&lt;/h1&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=""&gt;タイトル01&lt;/a&gt;&lt;/li&gt;
      &lt;li class="current"&gt;&lt;a href=""&gt;タイトル02&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=""&gt;タイトル03&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=""&gt;タイトル04&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=""&gt;タイトル05&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=""&gt;タイトル06&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;aside&gt;
    &lt;section&gt;
      &lt;h1&gt;バナーリンク&lt;/h1&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;&lt;img src="" alt="マークアップカフェについてへリンク"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;&lt;img src="" alt="マカベンについてへリンク"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;&lt;img src="" alt="マカベンについてへリンク"&gt;&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;
    &lt;section&gt;
      &lt;h1&gt;福岡のIT勉強会&lt;/h1&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;ダミーテキスト&lt;img src="" alt="外部へリンク"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;ダミーテキスト2&lt;img src="" alt="外部へリンク"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;ダミーテキスト3&lt;img src="" alt="外部へリンク"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="" class="js-blank"&gt;ダミーテキスト4&lt;img src="" alt="外部へリンク"&gt;&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;
  &lt;/aside&gt;
&lt;/article&gt;</pre><p></p>

<p>Dチームのポイントは以下です。</p>

<ul>
<li>全体をarticle要素とした</li>
<li>各リストをsection要素とした</li>
<li>2, 3番目のリストをaside要素とした</li>
<li>外部リンクにクラス名を割り当て、JavaScriptで別タブを開く想定</li>
</ul>

<p>全体をarticle要素としています。このリンクリスト／ナビゲーションの部分だけで完結したコンテンツと言えるかどうかは、微妙な気がしますね。article要素の解釈が難しいところですが、ここはarticleでなくてもいいのではないでしょうか。</p>

<p>アウトラインの取り方はBチームとほぼ同様、HTML5 Outlinerでも同様のアウトライン構成が見られました。各リストを意味的にまとめたいという意図が伝わりますが、結果的にアウトラインがおかしくなっているのはおしいですね。</p>

<p>外部リンクについては、各チームがterget=&#8221;_blank&#8221;を利用しているのに比べてクラス名を割り当てJavaScriptでの制御を想定しているのが特徴的です。terget属性はリンク先の表示方法を指定します。_blankを指定すると強制的に別ウィンドウ（タブ）で開く動作になりますが、このような動作に慣れないユーザーに対して混乱を与える可能性があります。</p>

<p><a href="http://waic.jp/docs/WCAG-TECHS/SCR24.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">SCR24: プログレッシブ・エンハンスメントを用いて、利用者の要求に応じて新しいウィンドウを開く</a>ではこれに配慮するためのJavaScriptによる実装例が収録されています。このような配慮は、Webアクセシビリティとしても重要ですね。</p>

<p><a href="http://jsdo.it/Garyuten/kFJs" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Eチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;div&gt;
	&lt;nav role="navigation"&gt;
		&lt;h2&gt;マークアップカフェ&lt;/h2&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル01&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル02&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル03&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル04&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル05&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル06&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル07&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル08&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル09&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=""&gt;タイトル10&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/nav&gt;
	&lt;aside&gt;
		&lt;h2 class="reader"&gt;広告&lt;/h2&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;img src="" alt="マークアップカフェについて"&gt;&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;img src="" alt="マカベンについて"&gt;&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;&lt;img src="" alt="マカベンについて"&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/aside&gt;
	&lt;aside&gt;
		&lt;h2&gt;福岡のIT勉強会&lt;/h2&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="" target="_blank"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/aside&gt;
&lt;/div&gt;</pre><p></p>

<p>Eチームのポイントは以下です。</p>

<ul>
<li>全体をdiv要素とした</li>
<li>1番目のリストはnav要素としrole=&#8221;navigation&#8221;を設定</li>
<li>2, 3番目のリストはそれぞれaside要素とした</li>
</ul>

<p>テーマは「年度末の納期の案件」だとかｗ <br>
忙しい中で無駄なく的確にマークアップするという条件を自ら設定してのトライです。</p>

<p>まず、全体をdivとしてCSSの割り当てを想定しました。レスポンシブデザインによるレイアウトのダイナミックな変更をも視野に入れたそうです。2番目のリストに見出しを設定し、非表示としました。B, Dチームと同じ配慮ですね。</p>

<p>1番目のリストはローカルナビゲーションとみなしnav要素としARIAのrole=&#8221;navitaion&#8221;を指定。2,3番目のリストはそれぞれをaside要素としました。</p>

<p>セクショニング・コンテンツの使い方はCチームとほぼ同様です。ちなみにnav要素のロールはデフォルトでnavigationなので省略可能です。</p>

<p>なるほど、繁忙期という条件だけあって、そつのないマークアップですねｗ</p>

<h4>部長はこう書く</h4>

<p><a href="http://jsdo.it/bathtimefish/vQnl" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:部長</a></p>

<p></p><pre class="crayon-plain-tag">&lt;div&gt;
    &lt;nav&gt;
        &lt;h2&gt;マークアップカフェ&lt;/h2&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル01&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル02&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル03&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル04&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル05&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル06&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル07&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル08&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル09&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=""&gt;タイトル10&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/nav&gt;
    &lt;aside&gt;
        &lt;h2 class="sr-only"&gt;広告&lt;/h2&gt;&lt;!-- http://getbootstrap.com/getting-started/#accessibility --&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;&lt;img src="" alt="マークアップカフェについて"&gt;&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;&lt;img src="" alt="マカベンについて"&gt;&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;&lt;img src="" alt="マカベンについて"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/aside&gt;
    &lt;aside&gt;
        &lt;h2&gt;福岡のIT勉強会&lt;/h2&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="" rel="external"&gt;ダミーテキスト&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/aside&gt;
&lt;/div&gt;</pre><p></p>

<ul>
<li>1番目のリストをnav要素とした</li>
<li>2番目のリストに見出しをつけた</li>
<li>セクショニングはC, Eチームと同様</li>
<li>外部リンクにrel=&#8221;external&#8221;を設定</li>
</ul>

<p>1番目のリストはローカルナビゲーションとみなしてnav要素としました。セクショニングの考え方はC, Eチームと同様です。</p>

<p>2番目のセクションにはB, D, Eチームと同様に広告だとわかる見出しをつけています。なくてもいいかなと思ったんですが、読み上げの脈絡を考えると、このケースではあったほうがいい感じかなと思いました。CSSでの非表示を想定しています。</p>

<p>余談ですが、このクラス名&#8221;sr-only&#8221;は<a href="http://getbootstrap.com/getting-started/#accessibility" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Bootstrapで使われているクラス名</a>を参考にしています。BootstrapのようなCSSフレームワークでもアクセシビリティが考えられているんですね。</p>

<p>広告、福岡のIT勉強会リンクリストのリンク先は外部リンクとみなして、rel=&#8221;external&#8221;を設定しました。外部リンクを開く制御はDチームと同様JavaScriptの利用を想定しています。</p>

<p>rel属性のexternal値はそのリンクが外部のリンクであることを示します。<a href="http://jquerymobile.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">jQuery Mobile</a>ではrel=&#8221;external&#8221;のリンクはAJAXでのページ遷移処理がオフになり内部ページヘとのアクセスと異なる挙動になります。このような事例があるのも参考に、マークアップしてみました。</p>

<h3>福岡のマークアップ熱はすごかった！</h3>

<p><img src="/wp-content/uploads/2014/05/photo03-1024x768.jpg" alt="みんなでマークアップを検討している" width="1024" height="768" class="alignnone size-large wp-image-6657" srcset="/wp-content/uploads/2014/05/photo03-1024x768.jpg 1024w, /wp-content/uploads/2014/05/photo03-300x225.jpg 300w, /wp-content/uploads/2014/05/photo03-207x155.jpg 207w, /wp-content/uploads/2014/05/photo03.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>

<p>MarkupCafeを楽しんだ後は、みんなでやったマークアップの反省や、普段疑問に思ったことを話し合いました。福岡はマカベンの活躍もあって昔からHTMLマークアップに対する関心が高い地域です。皆さんが熱心に意見交換されており、なにより間違いをおそれず積極的にHTML5マークアップを実践していこうという意識が素晴らしかったです。</p>

<p>個人的には懇親会で食べた手羽先、ラーメンが忘れられません（笑）。福岡の皆さん、また行きたいと思いますのでぜひよろしくお願いします！！</p>

<p>さて、今日の問題、皆さんならどうマークアップしますか？</p>
]]></content:encoded>
		
		<series:name><![CDATA[イベントレポート]]></series:name>
	</item>
		<item>
		<title>Markup Cafe OSAKA Vol.1 開催レポート 〜 大阪でも考えた！HTML5マークアップの最適解 〜</title>
		<link>/bathtimefish/5506/</link>
		<pubDate>Fri, 07 Mar 2014 01:00:23 +0000</pubDate>
		<dc:creator><![CDATA[村岡 正和]]></dc:creator>
				<category><![CDATA[デザイン]]></category>

		<guid isPermaLink="false">/?p=5506</guid>
		<description><![CDATA[連載： イベントレポート (10)こんにちは！html5jマークアップ部 部長の村岡です。 この記事では2013年の12月20日に開催されたMarkup Cafe OSAKA Vol.1のイベントレポートをさせていただき...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/eventarchives/" class="series-159" title="イベントレポート" data-wpel-link="internal">イベントレポート</a> (10)</div><p>こんにちは！html5jマークアップ部 部長の村岡です。
この記事では2013年の12月20日に開催されたMarkup Cafe OSAKA Vol.1のイベントレポートをさせていただきます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/03/markupcafe-osaka-vol1.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/03/markupcafe-osaka-vol1.png" alt="markupcafe-osaka-vol1" width="840" height="545" class="alignnone size-full wp-image-5576" srcset="/wp-content/uploads/2014/03/markupcafe-osaka-vol1.png 640w, /wp-content/uploads/2014/03/markupcafe-osaka-vol1-300x194.png 300w, /wp-content/uploads/2014/03/markupcafe-osaka-vol1-207x134.png 207w" sizes="(max-width: 840px) 100vw, 840px" /></a></p>

<p>東京で2回の開催に続いて3回目であり、はじめての地方開催となるMarkup Cafe、大阪では20名以上の方々に参加いただき、大変盛り上がりました。たくさんの方々からさまざまな観点からのマークアップ案がたくさん出てきて、検討が白熱しました。</p>

<p>なお、Markup Cafe OSAKAの開催にあたっては準備や開催告知などで地元のマークアップ好きの方々にご協力いただき、開催が実現しました。この場を借りて改めて御礼申し上げます。ありがとうございました。</p>

<p>MarkupCafe OSAKAの実現には、以下をはじめとする方々にご尽力いただきました。
スタッフのみなさんには今後もhtml5jマークアップ部員としてMarkupCafe開催にご協力いただく予定です。（敬称略）</p>

<ul>
<li>額賀順子 <a href="https://twitter.com/nukaga" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@nukaga</a></li>
<li>なかしず <a href="https://twitter.com/nakashizu" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@nakashizu</a></li>
<li>松田 <a href="https://twitter.com/matsudasu" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@matsudasu</a></li>
<li>ながとみ ちはる <a href="https://twitter.com/luchino__" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@luchino__</a></li>
</ul>

<h1>OSAKA Vol.1 マークアップ事例の解説</h1>

<p>今回、初の地方開催となるMarkupCafe OSAKA。
大阪はどんなデザインに対して、どのようなマークアップが考えられたんでしょうか。大阪では開催メンバーの要望により、過去のMarkupCafeで出題された問題にトライしてみる。ということにしました。通常は3問程度出題するんですが、開催時間の関係上、2題となりました。</p>

<h2>1問目 Webページのフッタ</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6-1024x228.jpg" alt="フッタ" width="1024" height="228" class="alignnone size-large wp-image-5550" srcset="/wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6-1024x228.jpg 1024w, /wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6-300x67.jpg 300w, /wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6-207x45.jpg 207w, /wp-content/uploads/2014/03/3fab416aee636daacc9bf74750334fc6.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>

<p>最初はTokyo Vol.1で出題された問題から、Webページのフッタレイアウトのパターンです。フッタというと、画一的で以前制作したページから何も考えずにコピペしてつくってしまうことも多いんじゃないでしょうか。そんなフッタのマークアップをあえてよく考えてみると、新しい発見があるのかもしれませんね。大阪でも東京都同様さまざまなアイデアが出されました。</p>

<p><a href="http://jsdo.it/tkc49/823K" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Aチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;
    &lt;!-- パンくず --&gt;
    &lt;ul&gt;
        &lt;li&gt;home&lt;/li&gt;
    &lt;/ul&gt;
    &lt;address&gt;
    &lt;dl&gt;
        &lt;dt&gt;&lt;img src="xxxx.png" alt="株式会社バスタイム商事 Bathtime…" /&gt;&lt;/dt&gt;
        &lt;dd&gt;
            &lt;dl&gt;
                &lt;dt&gt;お問い合わせ&lt;/dt&gt;
                &lt;dd&gt;xxxxxxxxx&lt;/dd&gt;
                &lt;dt&gt;神戸本社&lt;/dt&gt;
                &lt;dd&gt;xxxxxxxxx&lt;/dd&gt;
                &lt;dt&gt;東京本社&lt;/dt&gt;
                &lt;dd&gt;xxxxxxxxx&lt;/dd&gt;                
            &lt;/dl&gt;
        &lt;/dd&gt;
    &lt;/dl&gt;
    &lt;/address&gt;
    &lt;small&gt;copyright&lt;/small&gt;
&lt;/footer&gt;</pre><p></p>

<p>Aチームのマークアップのポイントは以下です。</p>

<ul>
<li>全体をfooter要素で囲む</li>
<li>&#8220;HOME&gt;&#8221;をパンくずとみなしul liでマークアップした</li>
<li>ロゴ・会社名はimgにして会社名はalt属性値で代替テキストとして提供</li>
<li>ロゴ〜お問い合せ情報までをaddress要素で囲む</li>
<li>著作権表記はsmall要素で</li>
<li>お問い合わせ、本社の所在地は定義リスト(dl dt dd)としてマークアップ</li>
</ul>

<p>まず、HTML5で登場したfooter要素で全体を囲んでいます。footerはその名の通り、セクションのフッタを表す要素です。次に、テキストリンク「HOME&gt;」をパンくずナビゲーションとみなして、ul , liでマークアップしました。</p>

<p>ロゴと会社名はひとつの画像データで提供し、alt属性値に社名等を記載することで代替テキストを提供、社名、お問い合せ、本社所在地までをページの連絡先情報とみなしてaddress要素で囲っています。</p>

<p>お問い合せ、各本社情報はdl, dh, ddで定義リストとしてマークアップ。著作権の表記はHTML5で新たに意味付けされたsmall要素で囲っています。</p>

<p><a href="http://jsdo.it/futappa/jFwE" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Bチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;

	&lt;ul&gt;
	    &lt;li&gt;HOME&lt;/li&gt;
	&lt;/ul&gt;

	&lt;div&gt;
		&lt;p&gt;&lt;img src="logo.jpg" alt="株式会社 バスタイム商事 Bathtime Bussiness Corp."&gt;&lt;p&gt;

		&lt;div&gt;
			&lt;dl&gt;
				&lt;dt&gt;お問合せ&lt;/dt&gt;		
				&lt;dd&gt;0120-0000-0000&lt;/dd&gt;
				&lt;dd&gt;&lt;address&gt;&lt;a href="mailto:ifontomation[at]bathtimeshoji.co.jp"&gt;ifontomation[at]bathtimeshoji.co.jp&lt;/a&gt;&lt;/address&gt;&lt;/dd&gt;
			&lt;/dl&gt;

			&lt;dl&gt;
				&lt;dt&gt;神戸本社&lt;/dt&gt;	
				&lt;dd&gt;兵庫県神戸市OOOOO 11-11-11 OOビル&lt;/dd&gt;
				&lt;dt&gt;東京本社&lt;/dt&gt;	
				&lt;dd&gt;東京都渋谷区OOOOO 11-11-11 OOビル&lt;/dd&gt;
			&lt;/dl&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;p&gt;&lt;small&gt;Copyright (c) bathtimeshoji All Right Reserved.&lt;/small&gt;&lt;/p&gt;

&lt;/footer&gt;</pre><p></p>

<p>Bチームのポイントはおおよそ以下でしょう。</p>

<ul>
<li>お問い合わせと本社の所在地は別々の定義リストとした</li>
<li>メールアドレスのテキストリンクをaddress要素で囲った</li>
</ul>

<p>footer, ul, li, small, 各要素の使いどころはAチームとほぼ同じ。
考え方が異なるのはお問い合せと各本社所在地は別々の定義リストとしてそれぞれ異なった情報だということを明示しているところでしょうか。さらにメールアドレスのみを、address要素で囲っているのも特徴的です。</p>

<p><a href="http://t.co/Kk5ZgiyFE9" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Cチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;
    &lt;ul class="path"&gt;
        &lt;li&gt;HOME&lt;/li&gt;
    &lt;/ul&gt;
    &lt;div&gt;
        &lt;div&gt;
			&lt;img src="logo.png"&gt;
            &lt;p&gt;株式会社バスタイム商事&lt;/p&gt;
            &lt;p&gt;Bathtime Bussines Corp.&lt;/p&gt;
        &lt;/div&gt;
        &lt;div&gt;
			&lt;dl&gt;
				&lt;dt&gt;お問い合わせ&lt;/dt&gt;
				&lt;dd&gt;0120-0000-0000&lt;/dd&gt;
				&lt;dd&gt;information[at]bathtimeshoji.com&lt;/dd&gt;
			&lt;/dl&gt;
			&lt;dl&gt;
				&lt;dt&gt;神戸本社&lt;/dt&gt;
				&lt;dd&gt;兵庫県神戸市○○ 11-11-11 ○○ビル 11&lt;/dd&gt;
                &lt;dt&gt;東京本社&lt;/dt&gt;
				&lt;dd&gt;東京都渋谷区○○ 11-11-11 ○○ビル 22&lt;/dd&gt;
            &lt;/dl&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;small&gt;
		copyright (c) bathtimeshoji. All Rights Reserved.
	&lt;/small&gt;
&lt;/footer&gt;</pre><p></p>

<p>Cチームのポイントは以下です。</p>

<ul>
<li>ロゴ画像のみをimg要素で提供し、会社名はp要素でテキストで提供した</li>
<li>Bチームと同様お問い合わせと本社所在地を別々の定義リストとした</li>
<li>CSSでのレイアウトを考慮してロゴ、会社名のブロックとお問い合わせ、本社所在地のブロックをdivで切り分けた</li>
</ul>

<p>footer, ul, li, smallの使いどころは各チームとほぼ同じ。
このチームではロゴマークのみを画像とし、社名はpでマークアップすることで可能なかぎりテキストデータを提供しています。お問い合せ、本社所在地についてはBチームと同じ別々の定義リストとしてマークアップしています。</p>

<p>address要素は使用せず。CSSでのレイアウトに配慮してロゴ&amp;社名とお問い合せ&amp;本社所在地をdiv要素で別々のブロックに切り分けています。</p>

<p><a href="http://t.co/dtXd8YJU24" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Dチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;
    &lt;ul class="breadcrumb"&gt;
        &lt;li&gt;HOME&lt;/li&gt;
    &lt;/ul&gt;
    &lt;a href="/"&gt;&lt;img src="logo.png" alt="株式会社バスタイム商事"&gt;&lt;/a&gt;
    &lt;address&gt;お問合せ：0120-0000-0000 information[at]bathtimeshoji.com&lt;/address&gt;
    &lt;p&gt;神戸本社：兵庫県神戸市○○○○○11-11-11 ○○ビル11&lt;/p&gt;
    &lt;p&gt;東京本社：東京都渋谷区○○○○○22-22-22 ○○ビル22&lt;/p&gt;
    &lt;p&gt;&lt;small&gt;Copyright &amp;copy; bathtimeshoji. All Rights Reserved.&lt;/small&gt;&lt;/p&gt;
&lt;/footer&gt;</pre><p></p>

<p>Dチームのポイントは以下です。</p>

<ul>
<li>お問い合わせ情報をaddress要素で囲った</li>
<li>本社所在地は定義リストではくp要素で囲った</li>
</ul>

<p>footer, ul, li, smallの使いどころは各チームとほぼ同じ。
電話番号、メールアドレスを連絡先の情報とみなし、address要素で囲いました。お問い合せ、本社所在地を定義リストでなくpでマークアップしているのも今までのチームと異なるところですね。</p>

<p><a href="http://jsdo.it/nukaga/5uhQ" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:Eチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;
    &lt;ol&gt;
        &lt;li&gt;HOME&lt;/li&gt;
    &lt;/ol&gt;
    &lt;div&gt;
        &lt;h1&gt;&lt;img src="images/logo.png" alt="株式会社バスタイム商事"&gt;&lt;/h1&gt;    
        &lt;address&gt;
            &lt;dl&gt;
                &lt;dt&gt;お問い合わせ：&lt;/dt&gt;
                &lt;dd&gt;&lt;a herf="tel:0120000000"&gt;0120-0000-0000&lt;/a&gt; infomation［at］bathtimeshoji.com&lt;/dd&gt;
            &lt;/dl&gt;
            &lt;dl&gt;
                &lt;dt&gt;神戸本社：&lt;/dt&gt;
                &lt;dd&gt;兵庫県神戸市○○○ 11-11-11 ○○ビル 11&lt;/dd&gt;
                &lt;dt&gt;東京本社：&lt;/dt&gt;
                &lt;dd&gt;東京都 ○○○ 22-22-22 ○○ビル 22&lt;/dd&gt;
            &lt;/dl&gt;
        &lt;/address&gt;
    &lt;/div&gt;
        &lt;p&gt;&lt;small&gt;copyright&amp;copy;bathtimeshoji All Rights Rserved.&lt;/small&gt;&lt;/p&gt;
&lt;/footer&gt;</pre><p></p>

<p>Eチームのポイントは以下です。</p>

<ul>
<li>ロゴイメージをh1で囲って見出しとした</li>
<li>モバイルブラウザを意識して &#8220;tel:&#8221; で電話番号リンクとした</li>
<li>お問い合わせ、本社所在地をaddress要素で囲った</li>
</ul>

<p>footer, ul, li smallの使いどころは各チームとほぼ同じ。
B, Cチームと同様お問い合せ、本社情報については、Bチームと同じ別々の定義リストとしてマークアップしています。address要素でお問い合せ、本社情報を囲んで連絡先の情報としています。ロゴと社名の画像をh1で囲っています。セクショニングを意識してのことでしょうか。</p>

<p>各チーム、フッタやテキストリンク、著作権表記については見解がほぼ共通していますが、ロゴと社名、お問い合せ、本社所在地の表し方については微妙に異なっているようです。</p>

<h3>部長はこう書く</h3>

<p>この問題、ボクが考えたんですがあまりよく考えずに「まあフッタとかひねりがないから簡単やろ」とレイアウトしました。しかしこれ、改めて考えると結構悩みますねｗ</p>

<p><a href="http://jsdo.it/bathtimefish/utx6" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題1:部長</a></p>

<p></p><pre class="crayon-plain-tag">&lt;footer&gt;
    &lt;div&gt;
        &lt;a href="index.html" class="index"&gt;HOME&lt;/a&gt;
    &lt;/div&gt;
    &lt;div&gt;
        &lt;div&gt;
            &lt;img src="logo.png" alt=""&gt;
        &lt;/div&gt;
        &lt;div&gt;
            &lt;span&gt;株式会社 バスタイム商事&lt;/span&gt;
            &lt;span&gt;Bathtime Bussiness Corp.&lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div&gt;
        &lt;address&gt;
            &lt;dl&gt;
                &lt;dt&gt;お問い合わせ&lt;/dt&gt;
                &lt;dd id="tel"&gt;0120-0000-0000&lt;/dd&gt;
                &lt;dd id="email"&gt;
                    &lt;a href="mailto:information@bathtimeshoji.com"&gt;information[at]bathtimeshoji.com&lt;/a&gt;
                &lt;/dd&gt;
            &lt;/dl&gt;
        &lt;/address&gt;
        &lt;dl itemscope itemtype="http://schema.org/LocalBusiness" itemref="tel email"&gt;
            &lt;dt itemprop="name"&gt;神戸本社&lt;/dt&gt;
            &lt;dd itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"&gt;
                &lt;span itemprop="addressRegion"&gt;兵庫県&lt;/span&gt;
                &lt;span itemprop="addressLocality"&gt;神戸市&lt;/span&gt;
                &lt;span itemprop="streetAddress"&gt;○○11-11-11 ○○ビル 11&lt;/span&gt;
            &lt;/dd&gt;
            &lt;dt itemprop="name"&gt;東京本社&lt;/dt&gt;
            &lt;dd itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"&gt;
                &lt;span itemprop="addressRegion"&gt;東京都&lt;/span&gt;
                &lt;span itemprop="addressLocality"&gt;渋谷区&lt;/span&gt;
                &lt;span itemprop="streetAddress"&gt;○○11-11-11 ○○ビル 22&lt;/span&gt;
            &lt;/dd&gt;
        &lt;/dl&gt;
    &lt;/div&gt;
    &lt;div&gt;
        &lt;small class="copyright"&gt;
            Copyright (c) bathtimeshoji All Right Reserved.
        &lt;/small&gt;
    &lt;/div&gt;
&lt;/footer&gt;</pre><p></p>

<p>まずHOME&gt;は単なるテキストリンクとみなしました。
ロゴと社名についてはロゴのみを画像として社名はテキストで提供することにしました。画像文字だとスマートフォンなどでズームしたときに文字がぼやけることがあるのでそれに配慮する考えです。</p>

<p>連絡先と本社情報、ここは結構長考したんですが電話番号、メールアドレスをaddress要素で囲み、本社情報をdlで定義リストとしました。連絡先と本社情報をaddressで囲むのと正直「どっちでもいいよな〜」という気がして、選べなくて長考した感じです。ここは制作者の「どう配信したいか」の意図によって変わってくると思います。</p>

<p>本社情報は<a href="http://schema.org/LocalBusiness" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">LocalBusiness</a>スキーマを使って意味を与えてみました。LocalBusinessは事業拠点の支社、チェーン店などを表します。ボクはあまりこの辺に詳しくないんですが、チャレンジ精神で使ってみました。なんか間違ってたらぜひ教えてください。</p>

<h2>2問目 パンくず</h2>

<p>2問目も同じくMarkupCafe Tokyo Vol.1から、パンくずです。</p>

<p><img src="/wp-content/uploads/2014/03/fc579acb1a682c84daf45ccc7eefecef1-e1394152958602.png" alt="パンくず" width="749" height="71" class="alignnone size-full wp-image-5584" srcset="/wp-content/uploads/2014/03/fc579acb1a682c84daf45ccc7eefecef1-e1394152958602.png 640w, /wp-content/uploads/2014/03/fc579acb1a682c84daf45ccc7eefecef1-e1394152958602-300x28.png 300w, /wp-content/uploads/2014/03/fc579acb1a682c84daf45ccc7eefecef1-e1394152958602-207x19.png 207w" sizes="(max-width: 749px) 100vw, 749px" /></p>

<p><a href="http://jsdo.it/tkc49/pK4w" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Aチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;div id="breadcrumbs"&gt;
&lt;ol&gt;
&lt;li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"&gt;
    &lt;a itemprop="url" href="/"&gt;&lt;span itemprop="title"&gt;Markup Cafeトップページ&lt;/span&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"&gt;
    &lt;!-- 店舗情報？誤字じゃないか？ --&gt;
    &lt;a itemprop="url" href="/shop/"&gt;&lt;span itemprop="title"&gt;店舗情報&lt;/span&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"&gt;
    &lt;!-- strong をつけてもいいかもね --&gt;
    &lt;span itemprop="title"&gt;ドリンク・フード&lt;/span&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</pre><p></p>

<p>まず、各テキストリンクをol要素で順番付きリストとしてマークアップしています。さらにmicrodataでパンくずの意味を与えています。この方法は<a href="https://support.google.com/webmasters/answer/185417?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google ウェブマスターツールでも紹介されている</a>方法で、パンくずナビゲーションを明確に表しています。
現在のページを示すテキストはa要素でなく、span要素で囲みテキストリンクでないことを表しています。</p>

<p><a href="http://jsdo.it/futappa/n2uS" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Bチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;nav class="topic-path"&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;a href="../../"&gt;Markup Cafe トップページ&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="../"&gt;店鋪リスト&lt;/a&gt;&lt;/li&gt;
        &lt;li class="current"&gt;ドリンク・フード&lt;/li&gt;
    &lt;/ul&gt;
&lt;/nav&gt;</pre><p></p>

<p>全体をnav要素で囲み、ナビゲーションの意味を与えています。テキストリンクをul要素で順番なしリストとし、現在のページを表すテキストはli要素の子テキストとして、li要素にclass属性を与えて装飾しています。</p>

<p><a href="http://jsdo.it/yuka2py/8bX9" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Cチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;ol class="breadcrumb"&gt;
	&lt;li&gt;&lt;a href="..."&gt;Markup Cafeトップページ&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="..."&gt;店舗情報&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a&gt;ドリンク・フード&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</pre><p></p>

<p>Aチームと似たマークアップですが、現在ページを示すテキストがhref属性無しのa要素で囲まれているのが特長でしょう。a要素のhref属性が省かれている場合、そのa要素はアンカーへのプレースホルダーとなります。具体的には、リンク先のページがまだ製作中でない場合などに使えます。この場合はテキストリンクのグループとなっていて、現在ページのみプレースホルダー（行き先のない仮のリンク）というような意味になります。</p>

<p><a href="http://t.co/FbeYYNUdPw" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Dチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;ul class="breadcrumb"&gt;
    &lt;li&gt;&lt;a href="/"&gt;Markup Cafe トップページ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="/shop/"&gt;店舗情報&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;ドリンク・フード&lt;/li&gt;
&lt;/ul&gt;</pre><p></p>

<p>Bチームと似たマークアップです。ul要素で順番無しリストとし、現在ページはli要素の子テキストとしています。</p>

<p><a href="http://jsdo.it/nukaga/qPH0/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:Eチーム</a></p>

<p></p><pre class="crayon-plain-tag">&lt;aside class="breadcrumb"&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;a herf="index.html"&gt;Markup Cafe トップページ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a herf="shop.html"&gt;店舗情報&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;ドリンク・フード&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;</pre><p></p>

<p>リスト部分はol要素で順番リストとなっている以外はBチーム、Dチームと同様ですが、リスト全体をaside要素で囲っているのが特長ですね。aside要素はHTML5で新たに追加された要素のひとつで、ページ内のコンテンツとは関係しているけれども、本筋とは関連の薄いコンテンツを表します。</p>

<p>代表的な例としてはバナー広告なんかがそれに当りますが、パンくずがasideとなるかどうか。会場でもいろいろ意見が出ましたが、コンテンツの配信意図によってはパンくずのようなコンテンツがasideとなる可能性もあり得るかもしれません。すぐに事例は思いつかないですが、考察としては興味深いですね。</p>

<h3>部長はこう書く</h3>

<p><a href="http://jsdo.it/bathtimefish/frIh" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">お題2:部長</a></p>

<p></p><pre class="crayon-plain-tag">&lt;div xmlns:v="http://rdf.data-vocabulary.org/#"&gt;
   &lt;span typeof="v:Breadcrumb"&gt;
     &lt;a href="http://www.markupcafe.com/" title="トップページへ" rel="v:url" property="v:title" class="link"&gt;
      Markup Cafeトップページ
    &lt;/a&gt;
   &lt;/span&gt;
   &lt;span typeof="v:Breadcrumb"&gt;
    &lt;a href="http://www.markupcafe.com/shop" title="店舗のご紹介" rel="v:url" property="v:title" class="link"&gt;
      店舗情報
    &lt;/a&gt;
   &lt;/span&gt;
   &lt;span typeof="v:Breadcrumb"&gt;
    &lt;a href="http://www.markupcafe.com/shop/food" title="店内のドリンクやフードのご紹介" rel="v:url" property="v:title" class="current"&gt;
      ドリンク・フード
    &lt;/a&gt;
   &lt;/span&gt;
&lt;/div&gt;</pre><p></p>

<p>各チームではパンくずをリストとみなしてulまたはolでマークアップしていましたが、「さて？そもそもリストなんだろうか？」と考えました。考えた挙句div&gt;spanでマークアップしました。パンくずにテキストリンクのリストという意味を与える必要があるかどうかについてはけっこう意見が分かれるところなんじゃないかと思います。</p>

<p>個人的な考えではどっちがいいのか曖昧なので、保守的にリストの意味を与えないことにしました。あと、みんなと違ったマークアップ例を出したかったというのもありますｗ</p>

<p>一方でパンくずであることを明示するためAチームと同じくbreadcrumbスキーマを使っています。こちらはRDFaでマークアップしました。あと、「パンくずはナビゲーション」と言えるかどうか？これも考えれば考えるほど自信がなくなってきたので、nav要素は使わないこととしました。</p>

<h1>やっぱり大阪はアツい！</h1>

<p>東京と同様、大阪でもチームでの話し合いや、発表後の質疑応答などが大いに盛り上がりました。今回は多くの方にご参加いただいたので、チームも5チームに編成しました。1チーム当たり4〜5名という大所帯となったので、時間内に進行できるか不安でしたが、さすがコミュ力の高い関西人。各チームの発表もスムーズでトラブルなく終わることができました。感謝です。:-)</p>

<p>イベントの最後には、日本マイクロソフトさんのご好意により、IEステッカーがプレゼントされました。IEステッカーはありそうであんまり見ないノベルティなので、みんな大喜びで取り合いになりました。「写真撮るよ」って言ったら、みんな撮り合ってくれたりして、さすが関西人はノリがいいですねｗ</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty-1024x768.jpg" alt="markupcafe-osaka-ie-novelty" width="1024" height="768" class="alignnone size-large wp-image-5548" srcset="/wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty-1024x768.jpg 1024w, /wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty-300x225.jpg 300w, /wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty-207x155.jpg 207w, /wp-content/uploads/2014/03/markupcafe-osaka-ie-novelty.jpg 640w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>

<p>いかがでしたでしょうか。どれもHTML仕様としては正しいマークアップですが、それぞれの考え方、伝え方によって全くことなるマークアップとなりました。ほんと考えれば考えるほど「マークアップに唯一の正解はない」と思えてきます。</p>

<p>マークアップにはたくさんの正解がある。正しいマークアップの知識を身に付けると、Webの世界に自分の考えや想いを的確に伝えたりできて、より自由な文書表現が可能になるということですね。</p>

<p>今日の問題、みなさんならどうマークアップしますか？</p>

<h1>Markup Cafeをはじめたきっかけ</h1>

<p>最後にちょっと、ボクとMarkupCafeのことを。</p>

<p>HTML5 Experts.jpでHTML5について勉強されている方には、すでに仕事や趣味でHTMLをマークアップされている方も多くいらっしゃるんじゃないでしょうか。そのような中で「このHTML要素の使い方ってほんとに正しいんだろうか？」とか、「もうちょっといい感じにマークアップできそうな気がするけど、どうしたら良くなるんだろう？」とか思うことはないでしょうか？</p>

<p>ボクは正直、仕事のたびにそう思ってしまって、手を止めて考え込んでしまうことが多いです。で、納期が迫ってヤバくなるってことがしばしばあるんですよねｗ</p>

<p>そんなときはHTMLの仕様書を読んだり、いい感じそうなサイトのソースコードをみたりして、ヒントを探したりするんですが、考えても考えてもたった一つの答えを見つけられないことがあります。HTMLの要素や属性などの仕様は様々なニーズに対応するよう設計されているため、意味がある程度抽象的です。そのため場合によっては「Aともとれるし、Bともとれる」ということがあるんです。</p>

<p>こういう場合、どっちにしても意味が通ってまあ正解。となるんですね。でもどっちかを適用しないといけない。「どっちがええねんキィィ！」ってなることもありますｗｗｗ</p>

<p>もう一人で悶々と考えていてもラチがあかない。。ならみんなでいっしょに考えて、よく考えこんで「これだ！」というマークアップのスニペットを公開していったらいいんじゃね？みんなで納得できる良いマークアップ事例ができるし、一所懸命考えるのはHTMLの勉強になる。マークアップを公開すればこれから勉強する方の役に立つかも。</p>

<p>そんなことを考えて、マークアップ部のみんなとMarkup Cafeを始めました。現時点で東京で2回開催され、さまざまな観点から考えこまれたHTML5マークアップの事例が発表されています。詳しくはExperts.jp コントリビューターの<a href="https://html5experts.jp/nakajmg/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">中島さん</a>が執筆された記事をご覧ください。</p>

<ul>
<li><a href="https://html5experts.jp/nakajmg/2502/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">よくある3つのデザインから考える、マークアップの最適解</a></li>
<li><a href="https://html5experts.jp/nakajmg/3225/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">続・よくある3つのデザインから考える、マークアップの最適解</a></li>
</ul>

<p>うれしいことに、記事が公開された後、大阪のマークアップ好きなみなさんから「大阪でもぜひやりたい！」というお声をいただいています。大阪でも上述のとおり現地の方々を中心にMarkupCafe OSAKA開催グループが立ち上がり、大阪での初開催が実現しました。</p>

<p>こうやっていろいろな地域でMarkupCafeを開催して、HTML5マークアップの知識を深めながらより実践的なマークアップ事例を発信していけるのはとても有意義だと感じています。もし他の地域でもMarkupCafeをやってみたい！という方がおられましたら、こちらのスライドを参考にぜひやってみてください。</p>

<p><a href="http://www.slideshare.net/bathtimefish/ss-24598819" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MarkupCafe &#8211; html5j Markup group</a></p>

<p>ご要望があれば、出張開催もできるだけやりますので、ボク <a href="https://twitter.com/bathtimefish" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">@bathtimefish</a>までご連絡ください。</p>
]]></content:encoded>
		
		<series:name><![CDATA[イベントレポート]]></series:name>
	</item>
	</channel>
</rss>
