<?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/"
	>

<channel>
	<title>Liner Note &#187; ウェブデザイン</title>
	<atom:link href="http://note.openvista.jp/tag/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://note.openvista.jp</link>
	<description>情報（ユーザー中心デザイン・ユーザビリティ）と技術（ウェブプログラミング・ウェブサービス）についてのメモ書き</description>
	<lastBuildDate>Mon, 12 Sep 2011 15:12:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Webブラウザの領分ーコンテンツとナビゲーションの分離</title>
		<link>http://note.openvista.jp/2009/flexible-web/</link>
		<comments>http://note.openvista.jp/2009/flexible-web/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 17:40:39 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[アクセシビリティ]]></category>
		<category><![CDATA[ウェブはこうあってほしい論]]></category>
		<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[情報の設計]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=1122</guid>
		<description><![CDATA[ウェブサイトでのコンテンツとナビゲーションを意味的に明示した上で、後者をブラウザに委ねることでウェブサイトの相互運用性向上に役立つんじゃないかという試み]]></description>
			<content:encoded><![CDATA[<p>明けまして‥というにはちょっと遅いですね。卒業論文を書いていて1ヶ月ほどお休みしていましたが、そろそろ書き初めにしましょう。</p>
<p>さて、たまにGoogleで探し物をしている時、昔読んでブックマークした記事に出会って読み返すことがあります。さっきは<a href="http://jintrick.net/agenda/2008/09/positionfixed.html" title="position:fixed大嫌い (agenda)">position:fixed大嫌い：agenda</a>を読み返していたんですが<span class="weaken">（内容については一度読んでください）</span>、始め読んだときには、この理由というか補足説明にある<q cite="http://jintrick.net/agenda/2008/09/positionfixed.html">World Wide Webはハイパーテキストという概念を応用した「ハイパーテキストアプリケーション」で、ブラウザはハイパーテキストアプリケーションのビューワー。当然ウェブログもハイパーテキストアプリケーション</q>という意味がいまいちつかめませんでした<sup><a href="http://note.openvista.jp/2009/flexible-web/#footnote_0_1122" id="identifier_0_1122" class="footnote-link footnote-identifier-link" title="Webはハイパーテキストのアプリケーション＝応用、実装例としてのWebという点をど忘れしていたのでしょう‥">1</a></sup> （改めて読んでみたらしっくりきたんですが）。</p>
<p>末尾でも<q>「ページ上部へ移動」とか「スタイルシート切り替え」とか「サイト内検索」とか、本質的にハイパーテキストインスタンスには必要のないものだから。それはブラウザの仕事だ</q>として触れていますが、改めて「ハイパーテキストアプリケーションのビューワ」としてブラウザ側がやるべき領域と「ハイパーテキストアプリケーション」としてのウェブサイトがやるべき領域について考え直さないといけないと思わされました。</p>
<h3 id="t9972f7">ブラウザの役割、ウェブサイトの役割</h3>
<p>その各々の役割について考えていた時に<a href="http://www.infoperience.com/column/20000827.html" title="Infoperience - ナビゲーションの落とし穴">Infoperience &#8211; ナビゲーションの落とし穴</a>という記事を読みました。ここでは、ナビゲーションをウェブサイト側が担当すると、制作者によるナビゲーションエリアの設計ミスが起こりやすいとしつつ、最後には極論としつつもナビゲーションと内容物を分離するべきではないかと述べています。</p>
<blockquote cite="http://www.infoperience.com/column/20000827.html" title="Infoperience - ナビゲーションの落とし穴">
<p>ナビゲーションエリアは、ユーザにサイトの基本的な機能を提供するインターフェイスである。しかしそのエリアのデザインを間違えれば、ユーザの操作を不本意に制限してしまうという全く逆の役割を果たしてしまう。</p>
<p>極論から言えば、そもそもコンテンツとナビゲーションを一枚の HTML の中に記述するということ自体が間違っているようにも思えるのである。素のドキュメントとしての価値が下がり、せっかく論理的にマークアップされた文書が、加工・再利用されにくくなってしまう。</p>
<p>また、本来ユーザはサイトの情報構造などというものに興味はない。ユーザは必要な情報を早く見つけたいだけなのであって、すばらしく計算されたサイトの設計などはどうでもよい。ただ便宜上、サイトの構造を理解していれば自分の判断で必要な情報にたどり着けるので、仕方なく全体を把握しようとするだけである。</p>
<p>それと同時に、制作側がどのような順番で情報を見せたいかということもユーザには関係がない。とにかくシンプルな構造にしてさえくれれば、ユーザは好きなようにそれを利用できるのだ。そのためには、ドキュメントは様々なコンテクストや利用方法に耐えられるように、ナビゲーションと内容物を分離するべきである。そして、サイトによって異なる方法で情報構造を示すのではなく、そういった機能は「ブラウザが提供すべき」なのではないだろうか。</p>
<p class="citation"><a href="http://www.infoperience.com/column/20000827.html" title="Infoperience - ナビゲーションの落とし穴"><cite>Infoperience &#8211; ナビゲーションの落とし穴</cite></a></p>
</blockquote>
<dl class="right-box">
<dt style="text-align: center;">多様な機器</dt>
<dd>
<p><a href="http://note.openvista.jp/download/2009/01/devices_of_webbrowser.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/devices_of_webbrowser-200x112.png" alt="ウェブブラウザを搭載する機器" title="ウェブブラウザを搭載する機器" /></a></p>
</dd>
</dl>
<p>私はこの意見に賛成です。ブログの普及によってある程度のデファクト・スタンダードができたとはいえ、ナビゲーションの設計が個々人の設計能力に委ねられている以上、その設計ミスにより利用者を迷わせてしまうことは否めません。だとしたら、ウェブページからナビゲーションを分離し、<em>ブラウザの一部として統合・標準化</em>していったらよいのではないかと思います。</p>
<p>そして、その場合のロードマップをこんな感じで考えています。</p>
<ol>
<li>ウェブサイトにおけるナビゲーションの記述方法を仕様として標準化する（HTML5・microformatなどの仕様を活用してなんとかならないか考える）</li>
<li>標準的な仕様・技術が出来ることにより、機械的なナビゲーションの生成<span class="weaken">（ブログやウェブサイト作成ソフトなど）</span>が行いやすくなる</li>
<li>多くのウェブサイトがその標準に従うようになり、ナビゲーションに関する要素が文書中<span class="weaken">（埋め込みか参照かはさておき）</span>に記述されるようになる。表示の可否も含め、その表示・動作方法はWebブラウザに委ねられる<span class="weaken">（後方互換性を考慮し、対応しないWebブラウザのウェブサイト内での表示方法も当面は必要になるでしょう）</span>。</li>
</ol>
<p>このように<em>コンテンツとナビゲーションを「分離」</em>、つまり<em>「ハイパーテキストアプリケーション」としてのWebを操作する部分を「ビューワ」であるブラウザ側に委ねていく</em>ことで、</p>
<ul>
<li>ナビゲーションの<em>一貫性・信頼性</em>が保証できるようになる<span class="weaken">（サイト毎の一貫性→Web全体での一貫性）</span></li>
<li>ナビゲーションが不十分だったサイトにおいても利用者が操作に迷わなくてすむようになる</li>
<li>&#8220;広大な&#8221;サイドバーナビゲーション領域が整理され、一画面の本文表示領域が増える</li>
<li>アクセス環境<span class="weaken">（PC、携帯端末、プリンター、音声ブラウザ…）</span>や利用者の要求に応じて表示・動作方法を<em>変更（＝最適化）</em>することが出来る</li>
</ul>
<p>という効果があり、結果として</p>
<ul>
<li>ユーザビリティ・アクセシビリティの底上げが図れる</li>
<li><em>機器に依存しないウェブ</em><sup><a href="http://note.openvista.jp/2009/flexible-web/#footnote_1_1122" id="identifier_1_1122" class="footnote-link footnote-identifier-link" title="このような考え方をDevice Independence（機器に依存しない）といいます（神崎さんによる参考情報）">2</a></sup> へより近づく</li>
</ul>
<p>ということになります。</p>
<p class="information">
「分離」と書いているのは、「コンテンツ」も「ナビゲーション」いずれも一枚の文書中に記述するので分離という言い方はやや不正確かもしれないからと思ったからです。マークアップの観点からは「明確化」と言った方がいいのかもしれません。
</p>
<p>ただ、全てのナビゲーションをウェブページから「分離」すればいいわけではなく、サイトイメージの重要な要素である<span class="weaken">（トップページへのリンクを含む）</span>サイトロゴや、例えばECサイトにおける「買い物かごに入れる」など重要なナビゲーションは、あえてウェブページ中に常時表示させておくことが必要でしょう<span class="weaken">（特に重要な要素を他のナビゲーションと並列に表示すると、かえってナビゲーションの中に埋没してしまいかねないため）</span>。</p>
<h3 id="t3ecc1e">「ナビゲーション」とは</h3>
<p>さて、「コンテンツ」と「ナビゲーション」と抽象的に書いてきましたが、その「ナビゲーション」は具体的にどういうものを指すのか。本などを参考にしながら、以下のように分類してみました。</p>
<table>
<thead>
<tr>
<th>名称</th>
<th>役割</th>
<th>具体例</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://books.google.co.jp/books?id=wAT8RB3Jkd0C&amp;printsec=frontcover&amp;as_brr=3#PPA115,M1" title="Web情報アーキテクチャ: 最適なサイト ... - Google ブック検索">グローバルナビゲーション</a></td>
<td>全体構造の把握や最上位階層にあるリソースへの移動</td>
<td></td>
</tr>
<tr>
<td><a href="http://books.google.co.jp/books?id=wAT8RB3Jkd0C&amp;printsec=frontcover&amp;as_brr=3#PPA116,M1" title="Web情報アーキテクチャ: 最適なサイト ... - Google ブック検索">ローカルナビゲーション</a></td>
<td>現在地の把握や同階層・下階層にあるリソースへの移動</td>
<td>
<ul>
<li>ローカルナビゲーション<span class="weaken">（横の構造を明示）</span></li>
<li>パンくずリスト<span class="weaken">（縦の構造を明示）</span></li>
</ul>
</td>
</tr>
<tr>
<td>コンテキストナビゲーション</td>
<td>文書に関係するリソースを把握したり、移動したりする</td>
<td>
<ul>
<li>関連情報<span class="weaken">（参考にした情報、類似した情報、読解上の前提となる情報）</span>へのリンク</li>
<li>ページ分割リンク</li>
<li>ランキング<span class="weaken">（当該カテゴリにおける記事のアクセスランキングなど）</span></li>
</ul>
</td>
</tr>
<tr>
<td>リモートナビゲーション</td>
<td>全ページに共通してアクセス可能にしておくべき情報</td>
<td>
<ul>
<li>著作権表記</li>
<li>作者への連絡先<span class="weaken">（メールアドレス・電話番号）</span>または連絡フォーム</li>
</ul>
</td>
</tr>
<tr>
<td rowspan="2">補足型ナビゲーション</td>
<td>上述したナビゲーションを補足し、目的のリソースを見つける手助けをする</td>
<td>
<ul>
<li>サイト内検索</li>
<li>サイトマップ</li>
<li>ページガイド</li>
<li>索引</li>
</ul>
</td>
</tr>
<tr>
<td colspan="2">
サイトマップや索引は単独のページとして設置されるイメージがあり、その場合はナビゲーションではなく情報構造そのものを提示することが役割であるため、コンテンツそのものになりますが、<a href="http://www.apple.com/jp/mac/#directorynav" title="アップル - Mac">アップルのページ下部にあるナビゲーション</a>のように詳細なローカルナビゲーションのような小さなサイトマップを記述する方法もあり、これはナビゲーションの一種だと言えるでしょう。
</td>
</tr>
</tbody>
</table>
<div class="aside">
余談。ところで、ウェブ上のコンテンツとナビゲーションをくっきり分けるのは難しいかもしれません。</p>
<p>例えばナビゲーションとは何なのでしょうか。ソシオメディアによると、ナビゲーションとは<q cite="https://www.sociomedia.co.jp/201" title="ソシオメディア | ナビゲーション">ウェブサイトのような複雑で膨大な情報空間において、ユーザーが目的へ辿り着けるように手助けする機能</q>だそうです。言い換えると、サイトの構造を可視化し全体像や現在地を示すことで、居場所を把握してもらったり目的地を見つけてうまく移動してもらうためにあるといえるでしょう。</p>
<p>つまり、ナビゲーションはコンテンツを発見する手段であり、コンテンツはナビゲーションがなくとも同様に理解できる、またはページそのものの役割が実行できうるものでなければなりません。とすれば、ナビゲーションはページの読解や役割の実行において直接は関係しないものと言えそうです<sup><a href="http://note.openvista.jp/2009/flexible-web/#footnote_2_1122" id="identifier_2_1122" class="footnote-link footnote-identifier-link" title="この定義だと、ブログパーツやら広告やらはどちらにも属さないのだけど、とりあえずそれはここでは触れないでおく">3</a></sup> 。</p>
<p>しかし、ECサイトにおける「買い物かごに入れる」リンクは、商品ページの重要な役割として購入があると考えればコンテンツの一部とも言えますし、購入という目的地に移動するために必要なものと考えればナビゲーションとも言えるでしょう。</p></div>
<div class="links">
<h4 id="t42179b">参考文献</h4>
<ul>
<li><a href="http://books.google.co.jp/books?id=wAT8RB3Jkd0C&amp;printsec=frontcover&amp;as_brr=3#PPA108,M1" title="Web情報アーキテクチャ: 最適なサイト ... - Google ブック検索">『Web情報アーキテクチャ』第7章</a></li>
<li><a href="http://marketing.mitsue.co.jp/archives/000110.html" title="3Sマッチング型Webの作り方　3.骨格と表層 | 実践！Webマーケティング：Blog | ミツエーリンクス">3Sマッチング型Webの作り方　3.骨格と表層 &#8211; 実践！Webマーケティング：Blog &#8211; ミツエーリンクス</a></li>
</ul>
</div>
<h3 id="t2c8281">モックアップを作る</h3>
<p>言葉でいろいろ言っていても伝わらないと思うので、試しにモックアップを作ってみました。なお、このプロトタイプはあくまでも表示の一例であって、実際にはこれと異なった他の表示方法も考えられます（例えばページ分割リンクや関連文書をブラウザ側にではなくコンテンツ直下に表示するなど）のであしからず。</p>
<h4 id="t5c023d">モックアップ例：Apple</h4>
<p>今回は<a href="http://www.apple.com/jp/iwork/keynote/what-is-keynote.html" title="アップル - iWork - Keynote - 魅力的なプレゼンテーションを簡単に作成。">AppleのKeyNoteの紹介ページ</a>を土台に作ってみました。Appleは割とナビゲーションや構造がしっかり出来ているページですが…</p>
<p>サイト構造をファイラーのように表示してみた例。ページの目次も下部に表示。</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup1.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup1-300x168.png" alt="Appleサイトの新ブラウザでの表示モックアップ1" title="Appleサイトの新ブラウザでの表示モックアップ1" /></a></p>
<p>サイト構造をデスクトップアプリケーションのメニューバーのような感じに表示してみました。ただ、両者は機能が全く違うので、これも単純に移植するわけにはいきませんが。</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup3.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup3-300x168.png" alt="Appleサイトの新ブラウザでの表示モックアップ3" title="Appleサイトの新ブラウザでの表示モックアップ3" /></a></p>
<p>ノートPCのページを見たいということで、Appleサイト内を「ノート」で検索。</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup2.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup2-300x168.png" alt="Appleサイトの新ブラウザでの表示モックアップ2" title="Appleサイトの新ブラウザでの表示モックアップ2" /></a></p>
<p>構造がわかるのであれば、パンくずリストとして表示することも出来るでしょう（現実的にはグローバルナビゲーションなどと両方表示する必要があるでしょう）</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup4.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup4-300x168.png" alt="Appleサイトの新ブラウザでの表示モックアップ4" title="Appleサイトの新ブラウザでの表示モックアップ4" /></a></p>
<p>分離の恩恵を最も受けるのは、画面領域が限られるモバイル機器かもしれません。ただ、どのように表現するかは工夫が必要ですね。</p>
<p>グローバルナビゲーションは初期状態で展開されているべきと言うことであえて分離していません。ただ、初期状態では小さすぎて構造の把握や移動が難しいので、どうにかしたいは思っています。サイト内検索は検索バーに統合、ウェブ検索と適宜切り替えることができます。</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup_iphone1.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup_iphone1-200x300.png" alt="Appleサイトの新iPhoneブラウザでの表示モックアップ1" title="Appleサイトの新iPhoneブラウザでの表示モックアップ1" /></a></p>
<p>下の目次ボタンか、二本指で左方向にスワイプ<span class="weaken">（右から左へ指を滑らせる）</span>することで、ページの構造を見ることが出来ます（目次をポップアップさせても良いかも）</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup_iphone2.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup_iphone2-200x300.png" alt="Appleサイトの新iPhoneブラウザでの表示モックアップ2" title="Appleサイトの新iPhoneブラウザでの表示モックアップ2" /></a></p>
<p>視覚化してみましたが、ちょっと微妙かな…</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup_iphone3.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup_iphone3-200x300.png" alt="Appleサイトの新iPhoneブラウザでの表示モックアップ3" title="Appleサイトの新iPhoneブラウザでの表示モックアップ3" /></a></p>
<h4 id="tebb9eb">モックアップ例：Liner Note</h4>
<p>おまけで<a href="http://note.openvista.jp/2008/future-of-web-accessibility/" title="Webアクセシビリティの未来が見えない">当サイト中の記事</a>をでも作ってみました。</p>
<p>記事の一覧は時系列、タグ別、あいうえお順、被ブックマーク数順、被コメント順でそれぞれ表示可能です。スペース的に記事を一覧するというより、前後リンク（コンテキストナビゲーション）の拡張という意味合いで設けました。</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup5.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup5-300x168.png" alt="このサイトの新ブラウザでの表示モックアップ1" title="このサイトの新ブラウザでの表示モックアップ1" /></a></p>
<p>サイト内を「サイドバー デザイン」で検索した例</p>
<p><a href="http://note.openvista.jp/download/2009/01/mockup6.png" rel="lightbox"><img src="http://note.openvista.jp/download/2009/01/mockup6-300x168.png" alt="このサイトの新ブラウザでの表示モックアップ2" title="このサイトの新ブラウザでの表示モックアップ2" /></a></p>
<p>モックとしては作りませんでしたが、その他のUA…例えばプリンターなら印刷用CSSをわざわざ作らなくとも、本文領域だけを印刷することが出来るでしょうし、音声ブラウザはナビゲーションをより効果的に利用することが出来るなどといった効果があるでしょう。</p>
<h3 id="t32694f">まとめ</h3>
<p>繰り返しになりますが、要するにブラウザにサイトナビゲーションを担わせることで、ウェブサイトはハイパーテキストアプリケーションとしての柔軟性・相互運用性を向上できるんじゃないかということが言いたかったのでした。分離まで受け入れられるかは別として<span class="weaken">（例えばHTML5のように）</span>個々の情報をグローバルスタンダードな意味で明確化して、ブラウザがそれに応じてユーザに適切に提示するくらいの方向性はそろそろ見えてきてほしいと思うところです<span class="weaken">（上記のナビゲーションは部分的にrel/rev属性で表現可能なわけで、そこから何か始まらないかな）</span>。</p>
<h3 id="tfcc8be">その他参考にした記事</h3>
<ul class="links">
<li><a href="http://jintrick.net/document/2007/0924/webdesign.html" title="ウェブデザインとは何か（Jintrick Archives）">ウェブデザインとは何か（Jintrick Archives）</a></li>
<li><a href="http://jintrick.net/agenda/2008/10/post-429.html" title="サイトのナビゲーションとしてサイドバーを採用すべきでない理由 (agenda)">サイトのナビゲーションとしてサイドバーを採用すべきでない理由 (agenda)</a></li>
<li><a href="http://my-chunqiu.cocolog-nifty.com/blog/2007/02/link__be31.html" title="我的春秋: link 要素をナビゲーションに利用することの注意点（改訂）">我的春秋: link 要素をナビゲーションに利用することの注意点（改訂）</a></li>
<li><a href="http://www.takamagahara.info/www/linkelement" title="link要素覚書">link要素覚書</a></li>
<li><a href="http://note.openvista.jp/2008/future-of-web-accessibility/" title="Webアクセシビリティの未来が見えない">Webアクセシビリティの未来が見えない</a>（関連記事）</li>
</ul>
<ol class="footnotes"><li id="footnote_0_1122" class="footnote"><a href="http://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88#World_Wide_Web" title="ハイパーテキスト - Wikipedia">Webはハイパーテキストのアプリケーション＝応用、実装例</a>としてのWebという点をど忘れしていたのでしょう‥</li><li id="footnote_1_1122" class="footnote">このような考え方を<a href="http://www.w3.org/TR/di-princ/" title="Device Independence Principles">Device Independence</a><span class="weaken">（機器に依存しない）</span>といいます（<a href="http://www.kanzaki.com/book/html/updates.html#dip" title="XML関連規格の情報 -- 『ユニバーサルHTML/XHTML』フォローアップ">神崎さんによる参考情報</a>）</li><li id="footnote_2_1122" class="footnote">この定義だと、ブログパーツやら広告やらはどちらにも属さないのだけど、とりあえずそれはここでは触れないでおく</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=1122&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2009/flexible-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>このサイト上で使っているWordPress用テーマ &#8220;cielo&#8221; を公開するよ</title>
		<link>http://note.openvista.jp/2008/wordpress-theme-cielo/</link>
		<comments>http://note.openvista.jp/2008/wordpress-theme-cielo/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 18:28:18 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブサービス論]]></category>
		<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ウェブログツール]]></category>
		<category><![CDATA[ツールの制作]]></category>
		<category><![CDATA[ビジネス]]></category>
		<category><![CDATA[プログラミング技術絡み]]></category>
		<category><![CDATA[情報の設計]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=626</guid>
		<description><![CDATA[このサイト上で使用しているブログツール「WordPress」用の1カラムのテーマ "cielo" を公開します]]></description>
			<content:encoded><![CDATA[<p>前々からこのサイトのテーマの配布準備作業を進めていましたが、ようやく形になったので一般公開します。ちなみに &#8220;cielo&#8221; とはイタリア語で空という意味です。</p>
<dl>
<dt>デモサイト</dt>
<dd>
<p><a href="http://tech.openvista.jp/demo/wordpress/"><img src="http://note.openvista.jp/download/2008/09/screenshot.png" alt="スクリーンショット" title="スクリーンショット" /></a></p>
</dd>
</dl>
<dl class="download">
<dt>ダウンロード</dt>
<dd><a href="http://tech.openvista.jp/demo/wordpress/wp-content/themes/cielo.zip">cieloテーマ</a>(約1.2MB)</dd>
<dt>最終更新日</dt>
<dd>2011年9月13日 08時05分 </dd>
<dt>動作環境</dt>
<dd>PHP5.2.0以上、WordPress 2.5以上</dd>
<dt>ライセンス</dt>
<dd><a href="#copyright">ライセンスが設定されているリソース</a>はそのライセンスに従ってください。その他は<a rel="license" href="http://tech.openvista.jp/demo/wordpress/wp-content/themes/cielo/COPYRIGHT.txt">修正BSDライセンス</a>とします</dd>
</dl>
<div class="toc">
<ol>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#ta6a9ed">使い方</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t39b886">特徴</a>
<ol>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t0db1e1">快適に読むための環境</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t0ad310">各種ウェブサービスとの連携</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t0d2dcc">ウェブアプリケーションを簡単に使える内蔵機能</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#tc9af8c">モバイルにも対応</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t69462c">その他にも</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#tdd43ee">サポートしないもの</a></li>
</ol>
</li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#tf3fb28">導入を推奨するプラグイン</a>
<ol>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t8cb654">依存しているプラグイン</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#tfe6807">入れたら便利なプラグイン</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#td00e26">スパム防止に役立つプラグイン</a></li>
</ol>
</li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t2be41b">仕様・技術情報</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#ta2bb6a">謝辞 &amp; 著作権表記</a></li>
<li><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/#t5edd4e">更新履歴</a></li>
</ol>
</div>
<h3 id="ta6a9ed">使い方</h3>
<ol>
<li>ファイルをダウンロードしたら解凍してください</li>
<li>中に入っている<var>/module/config.php</var>ファイルがテーマの設定ファイルですので、指示に従って設定してください</li>
<li>サーバの<var>/wp-content/themes/</var>フォルダに(2)をアップロードしてください</li>
<li>サーバの<var>/wp-content/themes/cielo/cache/</var>フォルダを書き込み可能な状態<span class="weaken">(パーミッションを0777&lt;rwxrwxrwx&gt;)</span>にしてください</li>
<li><a href="#required-plugin">必須プラグイン一式</a>をダウンロードし、解凍します</li>
<li>サーバの<var>/wp-content/plugins/</var>フォルダに(4)をアップロードしてください</li>
<li>管理画面からプラグインを有効化します</li>
<li>管理画面からテーマを有効化します</li>
<li>記事一覧ページなど特殊なページを作成します。投稿 → ページ から以下のページを作成してください。中身はテンプレートから自動的に読み込まれます
<ul>
<li>ポストスラグ名:<em>webmemo</em>のページを作成。タイトルはご自由に、中身は空でOK</li>
<li>ポストスラグ名:<em>archives</em>のページを作成。タイトルはご自由に、中身は空でOK</li>
<li>ポストスラグ名:<em>all</em>のページを作成。タイトルはご自由に、中身は空でOK</li>
<li>ポストスラグ名:<em>readmore</em>のページを作成。タイトルはご自由に、中身は空でOK</li>
</ul>
</li>
</ol>
<h3 id="t39b886">特徴</h3>
<h4 id="t0db1e1">快適に読むための環境</h4>
<p><img src="http://note.openvista.jp/download/2008/09/cielo-webdesign.png" alt="ウェブデザイン" title="ウェブデザイン" /></p>
<p>ブログは読者あってこそ。できるだけ多くの人に快適にブログを見てもらえるよう、多すぎず、少なすぎず必要な機能を配置しました</p>
<dl>
<dt>1カラム</dt>
<dd><a href="http://note.openvista.jp/2007/side-bar-skeptics/">本文のレイアウトが崩れにくく、本文を一番読んでもらえる1カラム</a>を採用しました</dd>
<dt>本文検索機能</dt>
<dd>並び替え機能、<a href="http://note.openvista.jp/2008/autopagerize-without-greasemonkey/">検索結果の自動継ぎ足し</a>をサポート</dd>
<dt>次の記事へ</dt>
<dd>関連記事、人気の記事(自動取得&amp;手動設定)で次の記事へ読者を案内します</dd>
</dl>
<h4 id="t0ad310">各種ウェブサービスとの連携</h4>
<p><img src="http://note.openvista.jp/download/2008/09/cielo-webmemo.png" alt="ウェブメモ" title="ウェブメモ" /></p>
<p>ブログサイトを運営する上で欠かせないネット上のサービスも簡単に利用できます。</p>
<dl>
<dt>Google Analytics</dt>
<dd>Googleのアクセス解析サービスも設定画面から認証キーを入力すれば利用できます</dd>
<dt>はてなブックマーク</dt>
<dd>エントリーページにはてなブックマークへのリンクを自動的に表示します</dd>
<dd>コメント欄には、はてなブックマークのコメントがシームレスに表示されるよう組み込みました</dd>
<dt>ウェブメモ機能</dt>
<dd>twitter, tumblr, はてなブックマーク上での最新の更新をウェブメモコーナーとして表示できます。表示した各記事には、はてなスターをつけることができます<span class="weaken">(はてなスターのトークンの発行が必要です)</span></dd>
</dl>
<h4 id="t0d2dcc">ウェブアプリケーションを簡単に使える内蔵機能</h4>
<p><img src="http://note.openvista.jp/download/2008/09/cielo-built-in-function.png" alt="内蔵機能" title="内蔵機能" /></p>
<p>便利なウェブアプリケーションが記事中で簡単に呼び出せます</p>
<dl>
<dt>Googleマップを1行で</dt>
<dd>住所を指定するだけでその周辺の2D地図や風景を表示できます(Googleマップ APIの発行が必要です)</dd>
<dt>動画の貼り付けも1行で</dt>
<dd>動画共有サイト(Youtube, Googleビデオ)上の動画や自作動画をコードを考えることなく簡単に公開できます</dd>
</dl>
<h4 id="tc9af8c">モバイルにも対応</h4>
<p><img src="http://note.openvista.jp/download/2008/09/cielo-formobile.png" alt="モバイル向けの表示" title="モバイル向けの表示" /></p>
<p>もちろん、携帯電話やiPhoneなどのモバイル機器にも対応します</p>
<dl>
<dt>携帯電話にもプラグイン使用で対応</dt>
<dd>餅は餅屋…ということで動きの速い携帯電話向けの最適化は<a href="http://wppluginsj.sourceforge.jp/ktai_style/">Ktai Style</a>を使うことで対応することにしました</dd>
<dt>iPhone / iPod touchに標準対応</dt>
<dd>ビジュアルデザインはiPhoneのSafariでも読みやすくなるよう最適化しています</dd>
<dd>呼び出した動画や地図は、iPhone / iPod touch内蔵アプリでも再生できるように工夫しています</dd>
</dl>
<h4 id="t69462c">その他にも</h4>
<dl>
<dt>XHTML1.1 + CSSで書いています</dt>
<dd>Web標準に準拠した、できるだけシンプルな文書構造を心がけました。現在使われているほとんどのウェブブラウザに対応しています。</dd>
<dt>SEOにも配慮</dt>
<dd>metaタグの自動生成、XHTMLでの構造化、わかりやすいページタイトルとテーマ側で出来ることはやっておきました。</dd>
<dt>間違ってると思ったらすぐ編集</dt>
<dd>ログインしている間は記事画面からワンクリックで編集画面に移動できます。</dd>
<dt>エフェクトでおめかし</dt>
<dd><a href="http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/ArekorePopup.html">あれこれポップアップ</a><span class="weaken">(リンク先・引用元のタイトルなどをちょっとリッチにポップアップするスクリプト)</span>や<a href="http://leandrovieira.com/projects/jquery/lightbox/">jQuery lightbox プラグイン</a><span class="weaken">(写真のポップアップをエフェクトを付けて表示するスクリプト)</span>を標準で導入しています</dd>
<dt>ページ毎のCSSデザインも簡単に</dt>
<dd><a href="http://ideasilo.wordpress.com/2006/08/17/sandbox-theme/">Sandbox テーマ</a>は主要な要素に現在の状態を示すクラス名をつける機能がありますが、cieloはこの機能を取り込んでいます</dd>
<dt>ダウンロードは高速に</dt>
<dd>一部のファイルをGZIPという形式で圧縮しており、サーバとブラウザが対応していれば落とすファイルサイズが小さくなり、高速にページが表示できるようになります(<a href="http://tech.openvista.jp/demo/wordpress/2008/faq/#t674e6e">方法</a>)</dd>
<dt>続き物の記事はまとめよう</dt>
<dd>記事は独立したものだけではなく、何回かに分けて書いた続き物の記事もあるでしょう。cieloテーマではそうした記事を半自動的にまとめあげ、シリーズのRSSフィードを発行することも出来ます(<a href="http://tech.openvista.jp/demo/wordpress/2008/faq/#t5b9ec7">方法</a>)</dd>
</dl>
<h4 id="tdd43ee">サポートしないもの</h4>
<p>このテーマは次の機能をサポートしません</p>
<ul>
<li>可変1カラムデザイン以外の表示方法</li>
<li>コメント欄でのアバターの表示</li>
<li>UTF-8以外の文字コードでの運用</li>
</ul>
<h3 id="tf3fb28">導入を推奨するプラグイン<a id="required-plugin"></a></h3>
<h4 id="t8cb654">依存しているプラグイン</h4>
<p>推奨というより、このプラグインを入れていないと動かないので必ず入れておいてください</p>
<dl class="download">
<dt>ダウンロード</dt>
<dd><a href="http://note.openvista.jp/download/2008/09/wp-plugins-required.zip">必須プラグイン一式をダウンロード</a></dd>
<dt>ライセンス</dt>
<dd><a rel="license" href="http://ja.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a></dd>
</dl>
<dl>
<dt><a href="http://bono.s201.xrea.com/2006/03/112-runphp/">runPHP</a></dt>
<dd>記事中でPHPコードを使うプラグインです。内蔵の動画共有サイトのコード呼び出し機能などを使ったり、記事一覧ページ中で記述しているPHPコードを実行するのに必要です。<q>「ビジュアルリッチエディタ」「XHTML 構文の自動修正」とは同時使用できない</q>ようですが、同種のプラグインは多くあるようなのでそちらを使っていただいても構いません。</dd>
<dt><a href="http://wordpress.org/extend/plugins/similar-posts/">Similar Posts</a></dt>
<dd>関連記事を表示させるためのプラグイン</dd>
<dt><a href="http://wordpress.org/extend/plugins/post-plugin-library/">Post-Plugin Library</a></dt>
<dd>上記プラグインを利用するために必要なプラグイン。これを利用したプラグインとして、上記意外にも人気記事を表示する<a href="http://wordpress.org/extend/plugins/popular-posts-plugin/">Popular Posts</a>などがあるので、余裕があれば試してみては。</dd>
</dl>
<h4 id="tfe6807">入れたら便利なプラグイン<a id="optional-plugin"></a></h4>
<p>入れなくても良いけど、実害はあまりないし便利なので入れておくことをオススメするプラグインです。</p>
<dl>
<dt><a href="http://elvery.net/drzax/more-things/wordpress-footnotes-plugin/">WP-Footnotes</a></dt>
<dd>本文中に<code>&#x28;&#x28;脚注の内容&#x29;&#x29;</code>と書くだけで脚注を生成してくれるプラグインです、ちょっとした余談で話の腰を折らずにすみます</dd>
<dt><a href="http://scott.yang.id.au/code/toc-generator/">Table of Contents Generator</a></dt>
<dd>本文中に<code>&lt;!--TOC--%gt;</code>と書くだけで見出しを拾って、目次を生成してくれるプラグインです、長めの記事を書くときは読者のことを考えてできるだけ使った方がよいでしょう</dd>
<dt><a href="http://note.openvista.jp/2007/amazon-linkage-plugin/">Amazon Linkage</a></dt>
<dd>本文中に<code>&lt;amazon&gt;ASIN&lt;/amazon&gt;</code>と書くだけで<span class="weaken">(ワンパターンですいません)</span>、ジャケット画像付きでAmazonへのリンクを貼れるプラグインです。</dd>
<dt><a href="http://wppluginsj.sourceforge.jp/ktai_style/">Ktai Style</a></dt>
<dd>携帯電話のアクセス時にコンテンツを読みやすいように最適化してくれるプラグインです。</dd>
</dl>
<h4 id="td00e26">スパム防止に役立つプラグイン</h4>
<p>入れておくと、スパム対策にてきめんの効果を発揮するプラグインです</p>
<dl>
<dt><a href="http://wp.somy.jp/spam-block-jp/">SOMY SpamBlock JP スパム対策プラグイン</a></dt>
<dd>コメントやトラックバックの内容にひらがなやカタカナが指定回数以上ない場合、該当のコメント等をスパム扱いするか、あるいは削除してくれるプラグインです。このプラグインを使って以来、半年に一回スパムが来るか来ないかという程度になりました。<ins><a href="http://note.openvista.jp/2008/wordpress-theme-cielo/comment-page-1/#comment-4853">セキュリティ上の懸念が残る</a>とご指摘を頂きました（今すぐに危険なわけではないようですが）。利用にあたっては、</ins></dd>
<dt><a href="http://sw-guide.de/wordpress/plugins/simple-trackback-validation/">Simple Trackback Validation</a></dt>
<dd>トラックバックが指定した条件に沿っていない場合、スパム扱いするか削除できるプラグインです。<a href="http://note.openvista.jp/profile/#trackback-policy">トラックバックポリシー</a>にも書いてありますが、記事のURLを含まないトラックバックは拒否するようにしています。</dd>
</dl>
<h3 id="t2be41b">仕様・技術情報</h3>
<p><a href="http://tech.openvista.jp/demo/wordpress/">デモサイト</a>にて技術情報を公開しています。</p>
<ul>
<li><a href="http://tech.openvista.jp/demo/wordpress/2008/html-expression/">cieloテーマで使えるHTMLコードの一覧</a></li>
<li><a href="http://tech.openvista.jp/demo/wordpress/2008/built-in-function/">cieloテーマ内蔵機能について</a></li>
<li><a href="http://tech.openvista.jp/demo/wordpress/2008/xhtml/">cieloテーマのXHTML構造について</a></li>
<li><a href="http://tech.openvista.jp/demo/wordpress/2008/faq/">cieloテーマのその他よくある質問</a></li>
</ul>
<h3 id="ta2bb6a">謝辞 &amp; 著作権表記<a id="copyright"></a></h3>
<p>このテーマは以下のリソースが無ければできていません。オープンなライセンスでいいものづくりをしてくれた皆さんに感謝。We&#8217;re standing on the shoulders of Giants!<span class="weaken">(お名前の敬称は略しています)</span></p>
<dl class="links">
<dt>Javascriptライブラリ</dt>
<dd><a href="http://jquery.com/">jQuery</a> by John Resig and the jQuery Team(GPL &amp; MIT License)</dd>
<dd><a href="http://leandrovieira.com/projects/jquery/lightbox/">jQuery lightbox plugin</a>(クリエイティブコモンズ 2.5 ブラジル 表示・改変禁止)</dd>
<dd><a href="http://webfx.eae.net/">WebFX</a> by Erik Arvidsson &amp; Emil A Eklund(Apache Software License 2.0)</dd>
<dd><a href="http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/ArekorePopup.html">あれこれポップアップ</a> by ありみかさとみ(BSD License)</dd>
<dd><a href="http://www.twinhelix.com/css/iepngfix/">IE PNG Fix</a> by Angus Turnbull(GNU LGPL)</dd>
<dd><a href="http://www.xs4all.nl/~peterned/csshover.html">Whatever:hover</a> by Peter Nederiof(GNU LGPL)</dd>
<dt>アイコン</dt>
<dd><a href="http://www.famfamfam.com/lab/icons/silk/" title="famfamfam.com: Silk Icons">famfamfam.com: Silk Icons</a> by Mark James(クリエイティブコモンズ 2.5 表示)</dd>
<dd><a href="http://mayosoft.deviantart.com/art/AeroVista-for-Mac-28788188">AeroVista for Mac</a> by Mayosoft(クリエイティブコモンズ 3.0 表示・非営利・改変禁止)</dd>
<dd><a href="http://www.iconarchive.com/category/folder/aqua-blend-icons-by-laurent-baumann.html">Aqua Blend Icons</a> by Laurent Baumann(クリエイティブコモンズ 3.0 表示・非営利・継承)</dd>
<dd><a href="http://susumu.seph.ws/?page_id=11">McDo DESIGN &#8211; Icons</a> by Susumu Yoshida(クリエイティブコモンズ 2.5 日本 表示・改変禁止)</dd>
<dt>Flashプレイヤー</dt>
<dd><a href="http://www.jeroenwijering.com/?item=JW_FLV_Player">JW FLV Media Player</a> by Jeroen Wijering(クリエイティブコモンズ 3.0 表示・非営利・継承)</dd>
<dt>WordPressテーマ</dt>
<dd><a href="http://www.plaintxt.org/themes/sandbox/">Sandbox</a> by Scott Allan Wallick(GNU GPL)</dd>
</dl>
<p>ライセンスとかあまり関係ないけどこちらの方々にも感謝。</p>
<ul class="links">
<li>株式会社はてな<span class="weaken">(はてなブックマークAPIの提供元)</span></li>
<li>WordPress開発者の皆さん</li>
</ul>
<h3 id="t5edd4e">更新履歴</h3>
<div class="update">
<dl>
<dt>最終更新日</dt>
<dd>2011年9月13日 08時05分 </dd>
<dt>2008-10-28</dt>
<dd>検索結果の処理を修正</dd>
<dd>ボックスシャドウの生成順序を変更して、体感速度を向上させた</dd>
<dt>2008-10-26</dt>
<dd>一部ページで編集リンクが正常に機能していなかった問題を解消しました</dd>
<dd>脚注の表示方法を変更しました</dd>
<dt>2008-10-19</dt>
<dd>記事一覧ページの表示方法を変更しました</dd>
<dd>WordPress標準の回り込みの記述をサポートしました</dd>
<dd>ソーシャルブックマークのキャッシュを扱いを変更して、読み込み失敗を減らしました</dd>
<dd>関連URLの表示を変更しました</dd>
<dd>その他いくつかの細かい問題を解消しました</dd>
<dt>2008-10-11</dt>
<dd><a href="http://note.openvista.jp/2008/online-pdf-reader/">オンラインPDFリーダ</a>のリリースにあわせて、PDFと思われるリンクをそちらに向けて書き換えるようにしました</dd>
</dl>
<input type="button" value="全ての更新履歴を表示する" onclick="hideShow('more_updates', this);" onkeypress="hideShow('more_updates', this);" />
<dl id="more_updates" style="display:none;">
<dt>2008-09-23</dt>
<dd>mp4動画も再生できるのにshowFLVメソッド名はどうかと思うので、showMovieメソッドに変更</dd>
<dd>自作動画がフルスクリーン表示できなかった問題を解消</dd>
<dt>2008-09-22</dt>
<dd>サイト外関連記事が少ないときの表示上の問題を解消</dd>
<dt>2008-09-21</dt>
<dd>ウェブメモでのはてなブックマークデータはキャッシュしないようにした</dd>
<dt>2008-09-20</dt>
<dd>付随サービスのURL変更に伴う更新</dd>
<dd>検索結果や時期別・カテゴリ別・タグ別など場面に合わせたフィードを追加しました</dd>
<dt>2008-09-19</dt>
<dd>iPhone向けにYoutube動画を提供する際、YoutubeアプリではなくSafari内蔵動画プレイヤーで見てもらうことにした<span class="weaken">(Youtubeアプリは縦画面での閲覧が出来ないなど使い勝手に問題があるため)</span></dd>
<dd>著者別記事一覧が正常に表示されない問題を解消</dd>
<dd>地図が表示されない問題を解消</dd>
<dd>重複コードを削除</dd>
<dt>2008-09-18</dt>
<dd>IE6/7以外のブラウザ向けのスタイルを更新</dd>
<dd>ウェブメモにおける表示の問題を解消</dd>
<dd>トップページに表示した記事の続きを非同期で読み込めるようにした</dd>
<dd>必須プラグインのインストールやキャッシュフォルダのパーミッションなど動作要件のチェックを厳しく行うようにした</dd>
<dt>2008-09-17</dt>
<dd>関連記事表示の位置を変更した</dd>
<dd>記事一覧ページの表示内容を変更した</dd>
<dd>はてなブックマークのデータをキャッシュし、はてなのサーバにあんまり話しかけすぎないようにした</dd>
<dd>依存しているプラグインを1つ減らした<span class="weaken">(正確には3つ減らして2つ増やした)</span></dd>
<dd>PEARパッケージを使わないようにした</dd>
<dd>その他細々とした修正</dd>
<dt>2008-09-16</dt>
<dd>記事中でカテゴリおよびタグを両方表示できるようにした</dd>
<dd>カテゴリおよびタグ一覧がうまく表示されなかった問題を修正</dd>
<dd>記事の一覧表示時、うまく表示されなかった問題を修正</dd>
<dt>2008-09-15</dt>
<dd>PEARファイルに依存せず、自前のファイルで処理を行うように修正</dd>
<dt>2008-09-14</dt>
<dd>初回リリース</dd>
</dl>
</div>
<p><amazon>4839929548</amazon></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=626&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/wordpress-theme-cielo/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>スタイルシートを誰でも楽に操れるようになるような未来</title>
		<link>http://note.openvista.jp/2008/css-in-the-future/</link>
		<comments>http://note.openvista.jp/2008/css-in-the-future/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 05:42:35 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ウェブ標準技術絡み]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=563</guid>
		<description><![CDATA[CSSはその仕様自体の進化による表現力の向上よりも、ソフトウェアによる管理・記述性の向上に未来を期待してみたいです]]></description>
			<content:encoded><![CDATA[<p class="right-box"><img src="http://note.openvista.jp/download/2008/08/css.png" alt="CSSを書いているエディタ" title="CSSを書いているエディタ" /></p>
<p><a href="http://www.yasuhisa.com/could/article/css-variables/" title="CSS Variables と CSS の未来 : could">CSS Variables と CSS の未来 : could</a></p>
<p>「CSSの未来」がどうあったらよいかと言って浮かぶのは、CSSそれ自体の進化ではなく、CSSをどう管理するかという部分の進化ですね。</p>
<blockquote cite="http://www.yasuhisa.com/could/article/css-variables/" title="CSS Variables と CSS の未来 : could"><p>
ブラウザにおける CSS の解釈の違いを理解するのも CSS を学習する上で大変な部分ではありますが、CSS の基礎を学ぶのも今は何とも難しいなという気がします。先に紹介したセレクタもそうですし、属性も様々。もちろん、ひとつのプログラミング言語を覚えるのに比べたら簡単でしょうけど、初心者が中級者への道筋が険しいものになっているような気がします。</p>
<p class="citation"><a href="http://www.yasuhisa.com/could/article/css-variables/" title="CSS Variables と CSS の未来 : could"><cite>CSS Variables と CSS の未来 : could</cite></a></p>
</blockquote>
<p>表現力の向上やシンプルな記述の支援という観点から、CSS3セレクタやCSS Variablesなどの仕様自体の進化は確かに喜ばしいことですが、一方で上記のような危惧を考えると入門者でも（そして熟練者でも）楽に記述・管理ができていくようになるのが望ましいかと思います。そして、これは仕様それ自体ではなく、それを扱うツールが担う領域です。</p>
<p>例えば、以下のような機能は考えられないでしょうか。</p>
<ul>
<li>実現したい表示方法を自然文で入力すると、それを実現するプロパティを支持してくれる機能</li>
<li>HTMLのプレゼンテーション要素・属性を入力すると、同様の記述がどういったCSS記述で可能なのか教えてくれる機能</li>
<li>ある書き方や要素の組み合わせがあった場合に特定のブラウザで意図に反した結果<sup><a href="http://note.openvista.jp/2008/css-in-the-future/#footnote_0_563" id="identifier_0_563" class="footnote-link footnote-identifier-link" title="有名どころではInternet Explorer 6 の 擬似要素名称の直後に空白類文字を置かないと擬似要素が認識されないバグ">1</a></sup> になることを告知する機能</li>
<li>CSSのコードを分類（フォルダ分け）できる機能<span class="weaken">（フレームワーク、一般、ヘッダ、本文、フッタなど）</span></li>
<li>現在使っているプロパティがどのブラウザで有効か示してくれる機能</li>
<li>CSSテンプレートサイトからレイアウトや見出し・引用などの表示の仕方などテンプレートとなっているお決まりのCSSコードの組み合わせをダウンロードし、ソフトウェア上から1クリックで適用する機能</li>
<li>色彩の組み合わせなど、アクセシビリティの標準仕様と照合して、問題のある記述を告知する機能</li>
<li>同様の指定がある場合にCSS Variablesを使って自動整形する機能</li>
</ul>
<p>もっとも、CSSの管理に長けたソフトウェアをあまり知らないので、「それ○○でできるよ」ということがあるなら教えていただければなと。<a href="http://www.macrabbit.com/cssedit/" title="MacRabbit - CSSEdit">MacRabbitのCSSEdit</a>というソフトウェアは便利そうですね。ここで挙げた機能も一部実装されているようです。</p>
<ol class="footnotes"><li id="footnote_0_563" class="footnote">有名どころではInternet Explorer 6 の <a href="http://cssbug.at.infoseek.co.jp/detail/winie/b055.html" title="Internet Explorer (Windows) CSSバグリスト">擬似要素名称の直後に空白類文字を置かないと擬似要素が認識されないバグ</a></li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=563&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/css-in-the-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>誰がではなく、利用者の問題を解決することが第一</title>
		<link>http://note.openvista.jp/2008/mediation-for-user-satisfaction/</link>
		<comments>http://note.openvista.jp/2008/mediation-for-user-satisfaction/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 17:10:58 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブはこうあってほしい論]]></category>
		<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ビジネス]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=499</guid>
		<description><![CDATA[自分達だけではお客さんの問題を解決できないなら、積極的に他の人に解決してもらうことも考えるべきじゃないかなという話]]></description>
			<content:encoded><![CDATA[<p>まず、ユーザは日々なんらかの問題を抱えていて、それをある時はウェブ上で解決しようとしています。それは例えば、</p>
<ol>
<li>辞書サービスで知らない単語を調べる<span class="weaken">（問題：単語の意味が不明）</span></li>
<li>オンライン書店で気になっている本を買う<span class="weaken">（問題：本を読むために手に入れたい）</span></li>
<li>鉄道会社のサイトで目的地まで鉄道やバスが通っているか路線図を見て調べる<span class="weaken">（問題：目的地まで電車・バスを使って移動したい）</span></li>
</ol>
<p>などといったことだったりするでしょう。そして、サービス提供する者（ここではサイト運営者）としてここで一番大切なことは、そうしたユーザの要求に<em>簡単にお手上げしてはいけない</em>ということです。なぜなら、それがユーザにとって自分のサイトが役立たずだったと宣言するようなことだからです。</p>
<p>ですから、ユーザ要求を自分達の持つリソースで解決できないのであれば、同業者へ橋渡ししてあげることも積極的に考慮すべきでしょう。先の例で言えば、</p>
<ol>
<li>「該当の単語は見つかりませんでした、キーワードを変えてください」と表示するかわりに、他の辞書サービスにディープリンクする</li>
<li>「該当の本は現在品切れ中です、しばらくお待ちください」と表示するかわりに、他のオンライン書店や図書館蔵書検索ページへディープリンクする</li>
<li>自分の鉄道だけでなく、他者の鉄道路線も併せて表示する</li>
</ol>
<p>という配慮が必要だと思います。</p>
<p><a href="http://note.openvista.jp/download/2008/07/search-result-example.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/07/search-result-example-200x187.png" alt="今回の提案を考慮したgoo辞書での検索結果の一例" title="今回の提案を考慮したgoo辞書での検索結果の一例" width="200" height="187" /></a></p>
<p>利用者は何も、その辞書サービスを使いに来たわけでも、そのオンライン書店を使いに来たわけでも、○○バスに乗りたいわけでもなく、<em>単にその問題を解決したかった</em>だけです。あくまで「誰が」解決するべきではなく、「何を」解決するべきなのかを意識しないといけないのではないかなと。ですから、ただ第三者の便利なサービスを待つのではなく、まず自分たちがその要求、その期待に応えようとすることが大事だと思います。</p>
<p class="right-box"><img src="http://note.openvista.jp/download/2008/07/amazon-seller.png" alt="Amazonの販売画面" title="Amazonの販売画面" width="236" height="325" /></p>
<p>もちろん、他者に橋渡しする以前として自分たちのリソースをフルに活用する、活用できるようなサービスを展開するということは前提です。例えばAmazonは、新品だけでなく中古商品（マーケットプレイス）も併記することで、万一の在庫切れの際もできるだけユーザの期待を裏切らないようなサービス展開をしています。で、それでも解決できないようであればということを言っているわけです。</p>
<p>さてさて、などと言うと「行為それ自体としての正しさとビジネス上の正しさは違う」、つまり他社へ水を送るような事をやっていては市場経済で生き残れないよと批判されるかもしれませんが、まず誰に利益が行くかということよりもユーザの期待に応えて満足度を高めることを考えるべきだと思います。</p>
<p>サービス運営者が持つ資源が有限である以上、それで解決できる要求が限られてしまうのは致し方ないことですから<span class="weaken">（繰り返して言いますが）</span>その資源でできるだけ多くの要求に応えられるようにデザインした上で、それでも無理だった場合に他者に解決してもらうことも一緒に考えないといけないでしょう。つまり、誰に利益が行くかではなく、<em>お客さんの問題解決という期待に応えられるかどうかの方が重要</em>なわけです。</p>
<p>市場競争ではどうしても縄張り主義的に自分が出来ないことは知りませんよと言ってしまいがちですが、そこでお互いの渡り口を用意しておくことが各サービスの満足度、ひいてはその業界の満足度の向上につながるのではと思っています。</p>
<p>とはいえ、業界内で圧倒的なスケールメリットを持つ先行者がいて、かつ自分たちが何かに特化しているわけでもなく、その先行者と違っている特長があるわけでもない場合<sup><a href="http://note.openvista.jp/2008/mediation-for-user-satisfaction/#footnote_0_499" id="identifier_0_499" class="footnote-link footnote-identifier-link" title="例えばビッダーズが検索結果にマッチする出品がない時にヤフーオークションの検索結果を表示したらそう思ってしまいます">1</a></sup> は、最終的にそちらに依存している状況でしかないわけですから、そもそもそのままではサービスが長続きしないんじゃないかという意味から、この戦略を執るのは難しいと思います。その時はどうスケールを拡大すべきかとか、どう差別化すべきかとかをまず考えた方が良いでしょう。</p>
<p>さて、長い前振りみたいですが、これをふまえて試しにこのサイト内検索に結果が得られない場合に、同検索語でGoogle検索した結果を併記してみることにしました。これで解決できないこともあるでしょうけど、やらないよりかはだいぶマシかなと。もちろん、サイト内検索自体の精度も何とかしないといけませんけどね。</p>
<p>ところで前に提案した<a href="http://note.openvista.jp/2008/what-is-next-generation-opac/#t734c51" title="次世代OPACってなんだろう：Making OPAC 2.0 (4)">図書館と他書店・図書館・ウェブサービスとの連携案</a>なんかもこの文脈で言っていたことですね。ちなみにこちらのプロジェクトは今も継続中です。</p>
<ol class="footnotes"><li id="footnote_0_499" class="footnote">例えばビッダーズが検索結果にマッチする出品がない時にヤフーオークションの検索結果を表示したらそう思ってしまいます</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=499&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/mediation-for-user-satisfaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>そろそろブラウザの実装レベルに応じたスタイリング分けをしよう</title>
		<link>http://note.openvista.jp/2008/phased-styling/</link>
		<comments>http://note.openvista.jp/2008/phased-styling/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 18:57:32 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ウェブ標準技術絡み]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=475</guid>
		<description><![CDATA[シンプルなマークアップを元に各ブラウザの実装レベルに応じて、様々なスタイリングをしていく方が楽だし、いろんな閲覧者が幸せになれるんじゃないかなと思った次第]]></description>
			<content:encoded><![CDATA[<p><a href="http://lowreal.net/blog/2007/08/29/" title="Aug 29 2007 :: / nulog, NULL::something : out of the washer">全てのブラウザで同じに見える必要はない</a>というのは前から何度か言われていることですが、もう少し具体的な文脈に落として考えてみようかな。</p>
<p>例えば、引用文を引用文ぽくスタイリングしたいとする、こんな感じに。</p>
<p><img src="http://note.openvista.jp/download/2008/06/blockquote.png" alt="引用のイメージ例" title="引用のイメージ例" width="392" height="231" /></p>
<p>で、とりあえずGoogle先生で調べてから頭を回してみるわけですが、</p>
<ul>
<li><a rel="nofollow" href="http://notes.natbat.net/2006/11/21/inineimagequotes/" title="Natalie Downe » Blog Archive » Inline image quotes">Natalie Downe » Blog Archive » Inline image quotes</a></li>
<li><a rel="nofollow" href="http://www.designwalker.com/2007/01/blockquote.html" title="CSSで引用をデザインする。 - DesignWalker">CSSで引用をデザインする。 &#8211; DesignWalker</a></li>
<li><a rel="nofollow" href="http://creazy.net/2007/09/blockquote_css.html" title="第12回：引用（blockquote）をCSSと画像でそれらしく見せる方法 ::: creazy photograph">第12回：引用（blockquote）をCSSと画像でそれらしく見せる方法 ::: creazy photograph</a></li>
<li><a rel="nofollow" href="http://weblibrary.s224.xrea.com/weblog/css/cat15/blockquotecss.html" title="イメージ無しのblockquoteで引用を表示するCSSサンプル - WEBデザイン　BLOG">イメージ無しのblockquoteで引用を表示するCSSサンプル &#8211; WEBデザイン BLOG</a></li>
</ul>
<p>たいていは、幅固定だったり、blockquoteタグの中で使えるタグの種類や数が限られていたり、不自然な空要素があったりするわけです。要するにIE6などの後方互換性対策ですよね。こういうのは引用だけではなく、いろんなCSSスタイリングの方法論で見られます。</p>
<p>で、これはストリクタの戯言と言うのではなくて、なんだかスタイリングのために変な制限をかけたり、不自然なマークアップをしたりするのが、どうも機械の都合に併せて人間が動いているように思えて釈然としない気持ちになるのですね。</p>
<p>ちなみに私ならこう書きます。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>CSSソースコード</em></div><pre class="source-code"><code><span class="codes-identifier">blockquote</span><span class="codes-brackets">{</span>
<span class="codes-code">  </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">70</span><span class="codes-string">%</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">background:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> url(&quot;blockquote_mark_end.png&quot;) </span><span class="codes-string">right</span><span class="codes-code"> </span><span class="codes-string">bottom</span><span class="codes-code"> </span><span class="codes-string">no-repeat</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">15</span><span class="codes-string">px</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">margin:</span><span class="codes-code"> </span><span class="codes-number">15</span><span class="codes-string">px</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">blockquote</span><span class="codes-code"> &gt; </span><span class="codes-identifier">*</span><span class="codes-special">:first-child</span><span class="codes-brackets">{</span>
<span class="codes-code">  </span><span class="codes-reserved">background:</span><span class="codes-code"> </span><span class="codes-string">transparent</span><span class="codes-code"> url(&quot;blockquote_mark_start.png&quot;) </span><span class="codes-string">left</span><span class="codes-code"> </span><span class="codes-string">top</span><span class="codes-code"> </span><span class="codes-string">no-repeat</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">blockquote</span><span class="codes-code"> </span><span class="codes-identifier">p.citation</span><span class="codes-brackets">{</span>
<span class="codes-code">  </span><span class="codes-reserved">text-align:</span><span class="codes-code"> </span><span class="codes-string">right</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span></code></pre></div>
<p>これで以下のすっきりとしたコードでも、きちんとスタイリングできます<span class="weaken">（引用符のサイズが大きいため、今回は p.citation に背景画像はつけませんでした）</span></p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>HTMLソースコード</em></div><pre class="source-code"><code><span class="codes-brackets">&lt;</span><span class="codes-reserved">blockquote</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;</span><span class="codes-reserved">dl</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;</span><span class="codes-reserved">dt</span><span class="codes-brackets">&gt;</span><span class="codes-code">引用タイトル</span><span class="codes-brackets">&lt;/</span><span class="codes-reserved">dt</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;</span><span class="codes-reserved">dd</span><span class="codes-brackets">&gt;&lt;</span><span class="codes-reserved">p</span><span class="codes-brackets">&gt;</span><span class="codes-code">あのイーハトーヴォのすきとおった風、</span><span class="codes-brackets">&lt;</span><span class="codes-reserved">br</span><span class="codes-code"> </span><span class="codes-brackets">/&gt;</span>
<span class="codes-code">夏でも底に冷たさをもつ青いそら、</span><span class="codes-brackets">&lt;</span><span class="codes-reserved">br</span><span class="codes-code"> </span><span class="codes-brackets">/&gt;</span>
<span class="codes-code">うつくしい森で飾られたモリーオ市、</span><span class="codes-brackets">&lt;</span><span class="codes-reserved">br</span><span class="codes-code"> </span><span class="codes-brackets">/&gt;</span>
<span class="codes-code">郊外のぎらぎらひかる草の波。 </span><span class="codes-brackets">&lt;/</span><span class="codes-reserved">p</span><span class="codes-brackets">&gt;&lt;/</span><span class="codes-reserved">dd</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;/</span><span class="codes-reserved">dl</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;</span><span class="codes-reserved">p</span><span class="codes-code"> </span><span class="codes-var">class</span><span class="codes-code">=</span><span class="codes-quotes">&quot;</span><span class="codes-string">citation</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">&gt;&lt;</span><span class="codes-reserved">cite</span><span class="codes-brackets">&gt;</span><span class="codes-code">宮沢賢治氏の小説より</span><span class="codes-brackets">&lt;/</span><span class="codes-reserved">cite</span><span class="codes-brackets">&gt;&lt;/</span><span class="codes-reserved">p</span><span class="codes-brackets">&gt;</span>
<span class="codes-brackets">&lt;/</span><span class="codes-reserved">blockquote</span><span class="codes-brackets">&gt;</span></code></pre></div>
<blockquote>
<dl>
<dt>引用タイトル</dt>
<dd>
<p>あのイーハトーヴォのすきとおった風、<br />
夏でも底に冷たさをもつ青いそら、<br />
うつくしい森で飾られたモリーオ市、<br />
郊外のぎらぎらひかる草の波。 </p>
</dd>
</dl>
<p class="citation"><cite>宮沢賢治氏の小説より</cite></p>
</blockquote>
<p>しかし、WinIE6はfirst-child擬似要素に対応していませんので、以下のように補正CSSを追加します。これでWinIE6は点線で囲まれた感じで引用を表現することになります。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>CSSソースコード</em></div><pre class="source-code"><code><span class="codes-identifier">blockquote</span><span class="codes-brackets">{</span>
<span class="codes-code">  </span><span class="codes-reserved">background:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> </span><span class="codes-string">none</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">dotted</span><span class="codes-code"> </span><span class="codes-var">gray</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span></code></pre></div>
<p>このように必ずしも全てのブラウザに同じスタイリングを提供する必要はないだろうし、むしろCSSの実装レベルに応じて<span class="weaken">（実装レベルが低いものはそれなりに、高いものはそれを活かして）</span>積極的に見せ方を変えていってもよいのではないでしょうか。</p>
<p>既にこのサイトはWinIE6の実装レベルやバグも考慮して<span class="weaken">（文章の読解に影響を与えない程度で）</span>、スタイリングをWinIE6とそれ以外で区別するようにしてきました。</p>
<p>空要素を意識して作ったり、妙な制限に縛られたりするよりも、<em>実装レベルに応じたスタイリング</em>をする方が後方互換性に必要以上に引きづられることもないですし、何より楽だと思うのですがどうですかね。</p>
<blockquote cite="http://www.kanzaki.com/docs/htminfo.html" title="ごく簡単なHTMLの説明">
<p>You can write a document as simple as you like.<br />In many ways, the simpler the better.</p>
<p class="citation"><a href="http://www.kanzaki.com/docs/htminfo.html" title="ごく簡単なHTMLの説明"><cite>Tim Berners-Lee</cite></a></p>
</blockquote>
<p><ins datetime="2008-06-08T17:14:48+09:00" class="block"></p>
<h3 id="t05d14c"><a href="http://tech.openvista.jp/bookmark/comment/http://note.openvista.jp/2008/phased-styling/" title="そろそろブラウザの実装レベルに応じたスタイリング分けをしよう：はてなブックマークビューワ">はてなブックマークでの反応</a>に対するお答え</h3>
<blockquote cite="http://b.hatena.ne.jp/imo758/20080608#bookmark-8877682" title="id:imo758さんのブックマーク">
<p>ブラウザに応じてとか基本的に邪魔にしか思えないからなあ。ま、どっちみち一部の受け手は発信側のページのソースをザクザクに切り刻んでスクラップにしてブラウジングするけどね。</p>
<p class="citation"><a href="http://b.hatena.ne.jp/imo758/20080608#bookmark-8877682"><cite>id:imo758さんのブックマーク</cite></a></p>
</blockquote>
<p><q>邪魔にしか思えない</q>というのはどうしてですかね。やはり違うブラウザで見たときに違う見た目になって、そのたびに考えないといけないからでしょうか。であるならば、ちょくちょくブラウザを変えて同じサイトをみることってほとんど無いですし、大きく操作に影響するほどでなければよいと思っているのですが、どうでしょう。</p>
<blockquote cite="http://b.hatena.ne.jp/vantguarde/20080608#bookmark-8877682" title="id:vantguardeさんのブックマーク">
<p>blockquoteの中にタイトルとか.citationとか、メタ情報を入れるのはinvalidな気がするんだ。dlで整形してるのもアウトだと思う。</p>
<p class="citation"><a href="http://b.hatena.ne.jp/vantguarde/20080608#bookmark-8877682"><cite>id:vantguardeさんのブックマーク</cite></a></p>
</blockquote>
<p>本筋とは別の話ではあるんですがコメント、議論参照先はこのへん。</p>
<ul class="links">
<li><a href="http://st.vis.ne.jp/cd/extra/www/cite_blockquote.htm" title="『blockquote要素の中に出典を示すcite要素を包含すべきか』に関する議論リンク集 @ CD">『blockquote要素の中に出典を示すcite要素を包含すべきか』に関する議論リンク集 @ CD</a>
<ul>
<li><a href="http://www.remus.dti.ne.jp/~a-satomi/nikki/2001/04c.html#d24n01" title="ねこめしにっき（2001年4月下旬）">ねこめしにっき（2001年4月下旬）</a></li>
<li><a href="http://www.kanzaki.com/docs/html/htminfo14.html#S13.1" title="強調,引用,グループ化,画像などの要素 -- ごく簡単なHTMLの説明">強調,引用,グループ化,画像などの要素 &#8212; ごく簡単なHTMLの説明</a></li>
</ul>
</li>
<li><a href="http://www.akatsukinishisu.net/wiki.cgi?%B0%FA%CD%D1%B8%B5%A4%CE%C9%BD%BC%A8%A4%C8%C9%BD%B5%AD%A4%CE%B2%FE%CA%D1%A4%CB%B4%D8%A4%B9%A4%EB%B5%C4%CF%C0" title="引用元の表示と表記の改変に関する議論 - 徒委記">引用元の表示と表記の改変に関する議論 &#8211; 徒委記</a></li>
</ul>
<p>blockquote内は引用内容のみ入れるべきで、メタ情報は入れるべきではないと言うことですかね。私はこれについては議論はあって賛否両論あるけれども、少なくともXHTML仕様的には<q>invalid</q>ではないと思っていたんですが。どっちかというと言語文法的に<q>invalid</q>ということですかね。それならわかります<span class="weaken">（引用タイトルを混ぜたのは確かにまずかったと思います）</span></p>
<p>UAが対応してくれるのなら、できればblockquote要素のcite属性およびtitle属性のみですませるのが一番良いのですが、それは現状できませんので<span class="weaken">（かといって、javascriptを動員するのは大げさな気がしますし）</span>。</p>
<blockquote cite="http://b.hatena.ne.jp/rusica/20080608#bookmark-8877682" title="id:rusicaさんのブックマーク">
<p>リテラシの低いお客さんはそれだと納得してくれません。/ 分からない人はどんな説明しても分からないからなぁ / ブラウザによって見た目変えるのはいいけど、個人的にはその辺どうすんの？とか思った。</p>
<p class="citation"><a href="http://b.hatena.ne.jp/rusica/20080608#bookmark-8877682"><cite>id:rusicaさんのブックマーク</cite></a></p>
</blockquote>
<p>仕事だったら、jQueryとかのjavascriptライブラリを使ってでも、無理矢理同じ見た目にすると思います。ただ、仕事以外ならあんまり取りたくない面倒くさい手なので、今回は修正CSS使って対処しとこうよという風に書いたのです。</p>
<blockquote cite="http://b.hatena.ne.jp/ageha0/20080608#bookmark-8877682" title="id:ageha0さんのブックマーク">
<p>プロの人はたいへんだ。</p>
<p class="citation"><a href="http://b.hatena.ne.jp/ageha0/20080608#bookmark-8877682"><cite>id:ageha0さんのブックマーク</cite></a></p>
</blockquote>
<p>いちいち修正CSS書いたりするんだったら、ちょっとぐらい変なマークアップするよ的な意見<span class="weaken">（だと読み取ったんですが）</span>も想定してました。僕はちょっと修正CSSを書いた方が変なマークアップ繰り返すより楽かなと思ったんですよね。まぁ、提案であって押しつける気はないんでまた機会があったら考えてみてください。</p>
<p class="information">言及されました、<a href="http://creazy.net/2008/06/how_to_deal_with_cross_browser_problems.html" title="クロスブラウザ対応は運営者が楽な方法で、なるべく多くの環境に適応できるといいですね ::: creazy photograph">クロスブラウザ対応は運営者が楽な方法で、なるべく多くの環境に適応できるといいですね ::: creazy photograph</a>という記事もあわせてどうぞ。</p>
<p></ins></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=475&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/phased-styling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>幅固定か可変かではなく、読者環境に合わせて見やすいデザインを提供しよう</title>
		<link>http://note.openvista.jp/2008/optimized-layout/</link>
		<comments>http://note.openvista.jp/2008/optimized-layout/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 18:41:39 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[アクセシビリティ]]></category>
		<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ユーザビリティ]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=409</guid>
		<description><![CDATA[ウェブデザインでは固定か可変かなどというレイアウト上の議論があるようですが、常にユーザの環境に合わせて最適なレイアウト/デザインを提供するのがベストではないでしょうか]]></description>
			<content:encoded><![CDATA[<p>ウェブデザインにおけるページのレイアウトで、コンテンツ部分の幅をピクセル単位で固定するかあるいは相対値（<code>%</code>等）で可変にするかで議論があるようです。最近は、閲覧者のフォントサイズも考慮に入れて、文字数（<code>em</code>等）で可変にするという<dfn title="弾力的な">エラスティック</dfn>・レイアウトというのがあるようです。まとめてみると、以下のように整理できそうです。</p>
<table>
<thead>
<tr>
<th>レイアウト名</th>
<th>固定レイアウト<br />(Fixed Layout)</th>
<th>可変レイアウト<br />(Liquid/Fluid/Flexible Layout)</th>
<th>弾力的レイアウト<br />(Elastic Layout)</th>
</tr>
</thead>
<tbody>
<tr>
<th>定義</th>
<td>コンテンツの横幅がピクセル値で固定されたレイアウト</td>
<td>コンテンツの横幅が%値で決められ、読者のブラウザ幅によってコンテンツ幅が変化するレイアウト</td>
<td>コンテンツの横幅が文字サイズ（em）で決められ、読者の文字サイズ設定によってコンテンツ幅が変化するレイアウト</td>
</tr>
<tr>
<th>サンプル画像</th>
<td><a href="http://note.openvista.jp/download/2008/04/fixed.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/fixed-thumbnail.png" alt="フィクスト・レイアウト" width="130" height="195" /></a></td>
<td><a href="http://note.openvista.jp/download/2008/04/liquid.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/liquid-thumbnail.png" alt="リキッド・レイアウト" width="130" height="181" /></a></td>
<td><a href="http://note.openvista.jp/download/2008/04/elastic.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/elastic-thumbnail.png" alt="エラスティック・レイアウト" width="130" height="195" /></a></td>
</tr>
<tr>
<th>サンプルCSSコード</th>
<td>
<pre class="command">
#container{
width: 800px;
}
</pre>
</td>
<td>
<pre class="command">
#container{
width: 80%;
}
</pre>
</td>
<td>
<pre class="command">
#container{
width: 50em;
min-width: 45em;
max-width: 60em;
}
</pre>
</td>
</tr>
<tr>
<th class="ok">メリット</th>
<td>横幅が閲覧者のブラウザ幅に依存しないので、大幅にデザインが崩れることがない</td>
<td>横幅が閲覧者のブラウザ幅に柔軟に変化するので、固定レイアウトに比べるとより多くの環境で読みやすくなる</td>
<td>
<ul>
<li>固定・可変レイアウトでの文字サイズで問題を解消</li>
<li>横幅が閲覧者の文字サイズに従って全体のレイアウトが変化するため、全体としての統一感が増す</li>
</ul>
</td>
</tr>
<tr>
<th class="ng">デメリット</th>
<td>
<ul>
<li>閲覧者のブラウザ幅が想定したものより狭い/広いと読みやすさを損なう</li>
<li>閲覧者のフォントサイズ環境が想定したものより小さい/大きいと1行の文字数が多すぎ/少なすぎる結果となり読みやすさを損なう</li>
</ul>
</td>
<td>
<ul>
<li>閲覧者のブラウザ幅が広いと1行の文字数が多くなりすぎてしまい、圧迫感が生まれて読みづらくなる</li>
<li>閲覧者のフォントサイズ環境が想定したものより小さい/大きいと1行の文字数が多すぎ/少なすぎる結果となり読みやすさを損なう</li>
</ul>
</td>
<td>
<ul>
<li>閲覧者の文字サイズが大きいと、コンテンツ幅がブラウザ幅を超えてしまい、水平スクロールバーが出るので、極端に読みづらいレイアウトになってしまう</li>
<li>画像サイズが固定値なので、全体のサイズに対して画像が小さすぎたり、大きすぎたりする</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>要するに、どれも<em>一長一短</em>なわけです。ちなみにエラスティックレイアウトの前者の問題については<a href="http://alastairc.ac/2007/01/elastic-layout-wrong-term/" title="Elastic layout - wrong term? « AlastairC">Elastic layout &#8211; wrong term? &gt; AlastairC</a>で解決法が示されていますし、2xupさんは<a href="http://2xup.org/log/2006/12/20-0212" title="一行あたりの文字数を制限する elastic layout （エラステックレイアウト）">可変レイアウトにエラスティックレイアウトの手法を織り交ぜ</a>て、両者のいいとこ取りをしているようです。</p>
<h3 id="t7449b1">過去の私案</h3>
<p>で、私はどうしたか。基本は可変レイアウトベースですが、以下のような工夫を加えています。</p>
<ol>
<li>最小・最大文字数を設定することで閲覧者のブラウザ幅や文字サイズによって極端に読みづらくなるケースを回避した</li>
<li>横幅に応じて自動的に段組をくむようにして、閲覧者のブラウザスペースを有効活用するようにした（現在は中止しています）</li>
<li>ユーザが表示部分を微調整できるように、<a href="http://note.openvista.jp/185/" title="Liner Note - スライダーで動的に1行の文字数と文字サイズを変更・保存するスクリプト：ウェブログのIA研究(2)">スライダーで動的に1行の文字数と文字サイズを変更できる</a>ようにした</li>
</ol>
<p>これが当時の解決策でした。でも、本当にこれでいいのかなとは思っていたのですよね。</p>
<p>先日、読者の方とチャットした時に指摘してもらったんですが、まず2点目については幅に応じて段組するというのは<em>読みやすいとは限らない</em>ということです。例えばブラウザ幅が広いと2段組、3段組になったりするわけですが、これは現在のウェブページが上から下への一方的な視線移動をするように設計されている中で、上下移動を何回も繰り返すことととなってしまい、手間が増えるのではないかと言うことです。</p>
<p>一方で、段組をせずに最大文字数を設定しておくと、ブラウザ幅が広い場合に余白が大きく出てしまって、画面に大きく無駄な領域が出来てしまいます。もちろん空の領域がないほどいいわけではありませんが、なにか有効活用できないかなとは思いますよね。</p>
<p>そして3点目については、まず私が懸念していたこととして「初めてこれを見た人はこれが何か理解できるだろうか」ということと「果たしてユーザはこれを使っているのか」ということがありました。この辺はユーザテストもしていないので、かなり不安を持っていたところです（ウェブデザインの基本はPDCAサイクルによる改善ですから）。加えて、読者さんには「カスタマイズパネルが邪魔である」という指摘もいただきました。</p>
<p>しかし、これら以前のそもそもの問題として「ユーザによる微調整が必要なのか」という問題もあるのです。つまり、そもそもこういった作業は、<a href="http://note.openvista.jp/184/" title="Liner Note - ちょっとしたアイデア(9)：サイト運営者がやる事とブラウザ側に任せる事の区別">ブラウザ側がやるべきことであって、サイト側がやることではない</a>と。なので、私は将来的にはこうした微調整バーは<em>撤廃</em>しようと考えています。</p>
<h3 id="tce2f9c">考え中の私案</h3>
<p>読者さんとのやりとりの中で考えた結果、現在よりもよりよいデザインをということで考えているのは、閲覧者のブラウザ環境（横幅や文字サイズ）を取得して、自動的にその環境に沿って全ての人にベストとはいかないけど<sup><a href="http://note.openvista.jp/2008/optimized-layout/#footnote_0_409" id="identifier_0_409" class="footnote-link footnote-identifier-link" title="弱視の方などアクセシビリティ上、配慮すべき方もいらっしゃると思うので">1</a></sup> なるべく多くの人にベストである環境を提供するレイアウトです。一言で言うと最適化レイアウト（Optimized Layout）でしょうか。</p>
<p>幸いなことに、Javascriptを使用すれば<a href="http://tomizawa-web.hp.infoseek.co.jp/property/clientWidth.htm" title="clientWidth">横幅</a>も、<a href="http://alistapart.com/articles/fontresizing" title="A List Apart: Articles: Text-Resize Detection">文字サイズ</a>も取得できるようです<sup><a href="http://note.openvista.jp/2008/optimized-layout/#footnote_1_409" id="identifier_1_409" class="footnote-link footnote-identifier-link" title="必然的にJavascriptに依存することになりますが、当然ながらJavascriptを利用しなくても一定の環境をサポートできるようにしておかないといけませんね">2</a></sup> 。</p>
<p>具体的には可変レイアウトをベースにし、最小・最大文字数を設定することで一定の環境に対応しつつ、そのような技術で閲覧者環境を取得して、自動調整を進めていくことでデザインの柔軟性を高めていこうと思っています。もっとケースに分解すると以下のような感じです。</p>
<dl>
<dt>閲覧者のブラウザ幅が狭い場合（600px程度）</dt>
<dd>文字サイズをやや小さめに設定することで、1行の読みやすい文字数を確保する<span class="weaken">（もちろん、閲覧者のブラウザで文字サイズが切り替えられるようにしておく）</span></dd>
<dt>閲覧者のブラウザ幅が通常程度の場合（900px程度）</dt>
<dd>特に自動調整無し</dd>
<dt>閲覧者のブラウザ幅が広い場合（1200px程度）</dt>
<dd>
<ul>
<li>文字サイズを大きめに設定することで、1行の読みやすい文字数を確保する</li>
<li><a href="http://note.openvista.jp/268/" title="Liner Note - サイドバーにはどんな情報を載せるべきか（前）：ウェブログのIA研究(5)">サイドバー</a>の領域をやや広めに取る</li>
</ul>
</dd>
<dt>閲覧者のブラウザ幅が広すぎる場合（2000px程度）</dt>
<dd>
<ul>
<li>文字サイズを大きめに設定することで、1行の読みやすい文字数を確保する。</li>
<li><a href="http://note.openvista.jp/268/" title="Liner Note - サイドバーにはどんな情報を載せるべきか（前）：ウェブログのIA研究(5)">サイドバー</a>の領域をやや広めに取る</li>
<li>視線の上下移動を伴わない範囲で段組を組む</li>
</ul>
</dd>
</dl>
<p>最初に手間をかけるのは少し大変かもしれませんが、一度WordPressのテーマなどのようにテンプレートにしてしまえば、そのテーマの利用者は手間をかけることなく利用者に読みやすい環境を提供できるので、問題無いと思います。</p>
<p class="aside">ちなみに<a href="http://builder.japan.zdnet.com/sp/css-firefox-safari/story/0,3800083423,20371722,00.htm?ref=rss" title="Firefox 3が対応するwidthプロパティの新しい値 - builder by ZDNet Japan">Firefox 3ではwidthプロパティが追加される</a>ようで、より柔軟なレイアウトが可能になりそうです。</p>
<p>これからは今の最適幅は何ピクセルかなどという話ではなく、どんな解像度でも快適にご覧頂けますといったような<em>解像度非依存デザイン</em>の考え方を基本・前提としてウェブデザインを進めていきたいと思います。</p>
<h3 id="t2a45f0">調査の時に見つけたページ</h3>
<ul>
<li><a href="http://www.yasuhisa.com/could/entries/000367.php" title="COULD：固定か可変かそれが問題だ">COULD：固定か可変かそれが問題だ</a></li>
<li><a href="http://labs.unoh.net/2007/04/elastic-layout.html" title="ウノウラボ Unoh Labs: エラスティック・レイアウトのご紹介">ウノウラボ Unoh Labs: エラスティック・レイアウトのご紹介</a></li>
</ul>
<ol class="footnotes"><li id="footnote_0_409" class="footnote">弱視の方などアクセシビリティ上、配慮すべき方もいらっしゃると思うので</li><li id="footnote_1_409" class="footnote">必然的にJavascriptに依存することになりますが、当然ながらJavascriptを利用しなくても一定の環境をサポートできるようにしておかないといけませんね</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=409&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/optimized-layout/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>サイドバーにはどんな情報を載せるべきか：ウェブログのIA研究(7)</title>
		<link>http://note.openvista.jp/2008/meaning-of-sidebar-1/</link>
		<comments>http://note.openvista.jp/2008/meaning-of-sidebar-1/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 15:06:36 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ユーザビリティ]]></category>
		<category><![CDATA[情報の設計]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=401</guid>
		<description><![CDATA[サイドバーの役割を再検討し、サイドバーにどういった情報をどこに入れれば閲覧者が最もハッピーかを考えてみました。]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#tdb00a9">サイドバーの役割ってなんだ？</a></li>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#tb9068d">具体的に何を載せるのか</a>
<ol>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#t830fa8">注釈や附記など本文の補足となる文章</a></li>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#te0a293">イメージ画像など本文を読解するための助けになるもの</a></li>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#tf5a801">参考となるページへのミニリンク集</a></li>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#tafefaa">参考文献へのリンク</a></li>
<li><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#t3b8b17">本文全体の目次など全体を俯瞰できるツール</a></li>
</ol>
</li>
</ol>
</div>
<p><a href="http://note.openvista.jp/124/" title="Liner Note - サイドバーいらない論">サイドバーいらない論</a>に始まって、<a href="http://note.openvista.jp/200/" title="Liner Note - 続・リキッドカラムデザイン :実践1カラムテクニックス(4)">リキッドカラムデザイン</a><sup><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#footnote_0_401" id="identifier_0_401" class="footnote-link footnote-identifier-link" title="閲覧者のブラウザ幅に応じて自動的、あるいは閲覧者自身の手動操作によって最適な段組数に変形するデザインのことだと自分は定義してます">1</a></sup> なんかを話してお休みしていたブログデザインの話ですが、ヤスヒサさんの<a href="http://www.yasuhisa.com/could/article/what-is-sidebar/" title="サイドバーの行方 : could">サイドバーの行方</a>という記事をみて、また少しずつ考えていました。</p>
<p>えーと、本筋を話す前にちょっとおさらいしておきましょう。まず、<a href="http://note.openvista.jp/124/" title="Liner Note - サイドバーいらない論">サイドバーいらない論</a>では、サイドバーは一般的に<q>過去ログや他のカテゴリなどのリンクをたどることによって、その人の考えを知るきっかけができたり、コメントを追うことができる</q>風に使われているんじゃないかと指摘しました。しかし、その役割は必ずしもサイドバーに担わせるべき類のものではなく、そうすることによって却って読者の本文に対する注意力を削いでしまっているのじゃないかとも言いました。その上でマルチカラム（段組）ではなく、1カラムもメリットあるよという話をしました。</p>
<p>しかし、よくよく考えてみるとこの展開も1カラムのメリットだけを挙げて、マルチカラムのメリットを話せていない点で考察が甘いよなという感じもしていました。実際、サイドバーも役立つ局面は十分あるはずです。その点、サイドバーに載せるべき・載せたい情報を吟味しているヤスヒサさんの記事は面白いなと思ったのです。</p>
<h3 id="tdb00a9">サイドバーの役割ってなんだ？</h3>
<p>さて、サイドバーにおける最も効果的な情報の配置が上記のように現在一般的に使われている用途でないのならば、いったいどういった情報をどこに配置したらよいのでしょうか。</p>
<p>そのためには、そもそもサイドバーの役割とはいったい何なのかを考える必要があるでしょう。人によって諸処あると思うんですが、今のところ私は、その役割は<em>ユーザに本文をよりよく理解してもらうための助けになること</em>だと考えています。なぜかというと本文の印象を強くするためには、本文とは別の位置＝サイドバーに本文の理解を助けるコンテンツを並べる必要があるからです。</p>
<p>もうちょっと詳しく書いておきましょう。</p>
<p>まず理由の前提として、1カラムだとどうしても全体的にメリハリのない<em>単調なデザイン</em>になりがちというのがあります。また、<a href="http://website-usability.info/2006/11/entry_061120.html" title="アイトラッキング調査で見えるユーザー行動｜ウェブユーザビリティ向上を支援するWebsite Usability Info">ウェブ上の文章は基本的に<em>斜め読みされる</em>もの</a>です。ですから、本文と注釈・補足あるいは参考リンクを一緒に載せても、どうしても本文の要旨的な部分以外は印象が薄くなってしまうのではないでしょうか。ですから、そうした情報をサイドバー部分に配置し、意図的に本文とは異なるようにメリハリをつけていくことで、<em>ページのメインコンテンツである本文の読解の助け</em>になることができるのです。</p>
<h3 id="tb9068d">具体的に何を載せるのか</h3>
<p>えーと、文章でいろいろ書いてばかりいても始まりません。少し具体的な話をしましょう。</p>
<p>まず1点目、本文の読解を助けるものですが、例えば以下のようなものをサイドバーに添えてみると良いんじゃないでしょうか。</p>
<h4 id="t830fa8">注釈や附記など本文の補足となる文章</h4>
<p><a href="http://note.openvista.jp/download/2008/04/sidebar1.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/sidebar1-300x122.png" alt="本文の補足となる文章" title="本文の補足となる文章" width="300" height="122" /></a></p>
<p>本文の補足や附記など本文の補足となるものです。余談や雑談なども本文と一緒にするとメリハリが無くなりますので、適宜分離した方がよいと思います。</p>
<p>この手のコンテンツを文末脚注でまとめるとページ内移動が発生し、視点移動の関係上本文を見失ってしまう可能性がありますが、サイドバーはその点本文と並列関係にあるので、その問題は解消されるのではないでしょうか。<a href="http://swa.gr.jp/fare/tokansai.html" title="首都圏から関西へ">SWAのWebページ</a>さんなんかは本文と附記がきれいに分離されていて、読み物として非常に良質なデザインになっています。</p>
<h4 id="te0a293">イメージ画像など本文を読解するための助けになるもの</h4>
<p><a href="http://note.openvista.jp/download/2008/04/sidebar2.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/sidebar2-300x107.png" alt="イメージ画像" title="イメージ画像" width="300" height="107" /></a></p>
<p>短文なら良いですが長文でテキストのみとなると、全体として文字の羅列といった印象が出てしまい、テキスト字体の上手下手とは関係ないところで、ユーザを取り逃してしまう可能性があります。ですので、例えば<a href="http://c-kom.homeip.net/review/blog/archives/2005/08/post_217.html" title="デジモノに埋もれる日々: 読者を意識した情報発信のメリット - 情報発信者の予習効果">デジモノに埋もれる日々さんのコラム</a>のように見出しを敢えて画像化して要点を強調してみたり、あるいは文章に関連する画像を掲載してみると読者が読む支えになると思います。</p>
<p>ただ、本文と密接な関係のある画像（本文の根拠となる資料図・概念図など）はあくまで本文に位置づけられるものなので、アクセントとして使うのか、それとも本文の一要素として使うのかを考えて、明確に区別すべきだと思います。</p>
<h4 id="tf5a801">参考となるページへのミニリンク集</h4>
<p><a href="http://note.openvista.jp/download/2008/04/sidebar3.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/sidebar3-300x89.png" alt="ミニリンク集" title="ミニリンク集" width="300" height="89" /></a></p>
<p>例えばAの話をしたいけど、そのためにはBを前提として理解していないといけないというケースを考えましょう。ここで、Bの話をしてしまうと、構成上AとBどちらの話がしたかったのかわかりづらくなる場合があります。なので、とりあえずわからない人はリンク先で勉強してねというリンクを張っておくというケースがあるかと思います。</p>
<p>これをサイドバーに持ってくることで、読者はそれが前提となっていること、（理解できていない場合）それらを読めばいいことを一目で判断できるようになります。これは上記の「注釈や附記など本文の補足となる文章」を広義に考えたものに含めて良いかもしれません。</p>
<h4 id="tafefaa">参考文献へのリンク</h4>
<p><a href="http://note.openvista.jp/download/2008/04/sidebar4.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/sidebar4-300x113.png" alt="オンライン書店へのリンク" title="オンライン書店へのリンク" width="300" height="113" /></a></p>
<p>例えば、書籍からの引用や書籍の要約がある場合、書影付きのオンライン書店へのリンクがあれば、視覚的に他者の意見の援用をしているのだと判断しやすいでしょう。</p>
<h4 id="t3b8b17">本文全体の目次など全体を俯瞰できるツール</h4>
<p><a href="http://note.openvista.jp/download/2008/04/sidebar5.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/04/sidebar5-300x106.png" alt="全体を俯瞰するツール" title="全体を俯瞰するツール" width="300" height="106" /></a></p>
<p>長文になると、全体の構成が複雑なものになり、読者としては「今何を読んでいて、この人は何を言おうとしているのか」が曖昧になりがちです。</p>
<p>そうした所に陥らないために、目次をサイドバーに貼り付ける形で提供する<sup><a href="http://note.openvista.jp/2008/meaning-of-sidebar-1/#footnote_1_401" id="identifier_1_401" class="footnote-link footnote-identifier-link" title="CSSでいうとposition: fixed">2</a></sup> ことで、全体の見通しが良くなりますし、リンクを張っておけば各見出しにスクロールを何度もすることなくたどり着くことが出来ます。</p>
<p><a href="http://www.kanzaki.com/docs/htminfo.html" title="ごく簡単なHTMLの説明">Kanzaki.com</a>さんでは、各中見出しに目次表示ボタンをつけていますが、サイドバーでの表示も向いているかと思います。</p>
<p>あとは<a href="http://labs.cybozu.co.jp/blog/akky/archives/2006/10/blog_comments_for_paragraph.html" title="秋元@サイボウズラボ・プログラマー・ブログ: ブログのコメントを文章の一部分につけられるAjaxシステム">サイドバーでコメントとか</a>、あるいはサイドバーを丸々Wikiにしてみるとかも実験としては面白いかなとは思うんですが（＝コメント欄で吸収できない読者のフィードバックを掲載する）</p>
<ol class="footnotes"><li id="footnote_0_401" class="footnote">閲覧者のブラウザ幅に応じて自動的、あるいは閲覧者自身の手動操作によって最適な段組数に変形するデザインのことだと自分は定義してます</li><li id="footnote_1_401" class="footnote">CSSでいうと<code>position: fixed</code></li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=401&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/meaning-of-sidebar-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ウェブユーザビリティについて考え始めたい人にオススメのウェブページ集</title>
		<link>http://note.openvista.jp/2008/links-for-web-usability/</link>
		<comments>http://note.openvista.jp/2008/links-for-web-usability/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 13:29:56 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ユーザビリティ]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/257/</guid>
		<description><![CDATA[ユーザビリティについて興味はあるけど、よくわからないという人向けのウェブページを紹介してみます]]></description>
			<content:encoded><![CDATA[<p><a href="http://note.openvista.jp/256/" title="Liner Note - ウェブユーザビリティについて考えたい人にオススメの5冊">先ほどのエントリ</a>では本を中心に挙げましたが、もちろんウェブにも優秀なリソースはたくさんあります。全体的に入門的記事を多く入れましたので、興味のある方はぜひリンク先をご覧になってください<span class="weaken">（それぞれ内容がかぶっている箇所もたくさんありますが）</span></p>
<dl>
<dt><img src="http://favicon.aruko.net/m/e/http://rikunabi-next.yahoo.co.jp/" width="16" height="16" alt="" /> <a href="http://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=000839" title="感性満足を開発する「ユーザビリティ・エンジニア」／Ｔｅｃｈ総研">感性満足を開発する「ユーザビリティ・エンジニア」 / Tech総研</a></dt>
<dd>ユーザビリティ・エンジニアが注目職種として取り上げられています。</dd>
<dt><img src="http://note.openvista.jp/wp-includes/images/pdf.png" width="16" height="16" alt="PDF" /> <a href="http://www.nri.co.jp/opinion/g_souhatsu/pdf/gs20060203.pdf">野村総合研究所：Webシステムにおけるユーザ中心設計手法への取り組み</a>（PDF注意）</dt>
<dd>NRI 上級コンサルタントによるレポート。内容はやや硬いですが、系統的にとりあえず一通りを知りたいという人はまず読んでみるといいかと思います。</dd>
<dt><a href="http://internet.watch.impress.co.jp/cda/u_ken/2007/06/05/15926.html" title="実践！Webユーザビリティ研究室： 実践編：その1「窓の杜」">実践！Webユーザビリティ研究室</a></dt>
<dd>Webユーザビリティを丁寧かつ懇切に解説してくれている連載記事です。ユーザテストの方法論などを手軽に知ることが出来ます。</dd>
<dt><img src="http://note.openvista.jp/wp-includes/images/pdf.png" width="16" height="16" alt="PDF" /> <a href="http://sbj.hak.hokkyodai.ac.jp/SICS/soturon/2006/kishi_summary.pdf.html">北海道教育大学 卒業論文：Web ユーザビリティ その解釈の歴史と評価方法</a>（PDF注意）</dt>
<dd>実質4ページしかないので、ちょっと概観するにしても軽すぎるかもしれませんが、多すぎて読めない！という人はこちらで。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://ja.wikipedia.org/" width="16" height="16" alt="" /> <a href="http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3" title="ユーザビリティ - Wikipedia">ユーザビリティ &#8211; Wikipedia</a></dt>
<dd>そもそもユーザビリティって何だ？って思っていて、ちょっと詳しく知っておきたいと思っている人へ。ニールセン博士の考えておられるユーザビリティ、あるいはISO 9241-11やISO 13407で捉えているユーザビリティ概念の違いがよくわかります。<a href="http://www.hitachi.co.jp/Div/jkk/jichitai/interview/person/person006/001.html" title="第1回 : 文部科学省メディア教育開発センター 黒須正明教授「ユーザビリティ向上の必要性」 : HITACHI">日立にある黒須教授のコラム</a>も併読するといいんじゃないでしょうか。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.mitsue.co.jp/" width="16" height="16" alt="" /> <a href="http://marketing.mitsue.co.jp/" title="実践！Webマーケティング：Blog | メソッド | ミツエーリンクス">実践！Webマーケティング：Blog | メソッド | ミツエーリンクス</a></dt>
<dd>ウェブユーザビリティを追求することは、ユーザを知ることなくしては成立しませんから、ウェブマーケティングはユーザビリティの追求に不可欠です。このサイトの特集ではマーケティングを含めた幅広いカテゴリの記事を掲載しています。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://gitanez.seesaa.net/" width="16" height="16" alt="" /> <a href="http://gitanez.seesaa.net/" title="DESIGN IT! w/LOVE">DESIGN IT! w/LOVE</a>さんのエントリ</dt>
<dd>参考になるエントリーはいろいろありますが、ここではユーザ中心設計手法の考え方とその具体的手法を示した実践的なエントリーをピックアップしておきます。</dd>
<dd>
<ul>
<li><a href="http://gitanez.seesaa.net/article/48131795.html" title="人間中心のデザイン（Human Centered Design）：人間の性質にあわせるデザインのアプローチ：DESIGN IT! w/LOVE">人間中心のデザイン（Human Centered Design）：人間の性質にあわせるデザインのアプローチ</a></li>
<li><a href="http://gitanez.seesaa.net/article/31263151.html" title="ISO13407：人間中心設計：DESIGN IT! w/LOVE">ISO13407：人間中心設計</a></li>
<li><a href="http://gitanez.seesaa.net/article/49500823.html" title="人間中心設計（Human Centered Design＝HCD）で使う主な手法：DESIGN IT! w/LOVE">人間中心設計（Human Centered Design＝HCD）で使う主な手法</a>
<ol>
<li>コンテキスト調査
<ul>
<li><a href="http://gitanez.seesaa.net/article/49314807.html" title="コンテキスチュアル・インクワイアリー（文脈的質問）がむずかしい対象：DESIGN IT! w/LOVE">コンテキスチュアル・インクワイアリー（文脈的質問）がむずかしい対象</a></li>
<li><a href="http://gitanez.seesaa.net/article/28702084.html" title="ユーザビリティ・エンジニアリングにおける師匠と弟子：DESIGN IT! w/LOVE">ユーザビリティ・エンジニアリングにおける師匠と弟子</a></li>
</ul>
</li>
<li>ペルソナ/シナリオ法
<ul>
<li><a href="http://gitanez.seesaa.net/article/36464072.html" title="ペルソナ：誰のために何をデザインするかを明示する手法：DESIGN IT! w/LOVE">ペルソナ：誰のために何をデザインするかを明示する手法</a></li>
<li><a href="http://gitanez.seesaa.net/article/51859848.html" title="ペルソナ／シナリオ法をいかにデザインに活用するか：DESIGN IT! w/LOVE">ペルソナ／シナリオ法をいかにデザインに活用するか</a></li>
<li><a href="http://gitanez.seesaa.net/article/51836326.html" title="物語風のシナリオを描くことでユーザーの利用状況を明確にする：DESIGN IT! w/LOVE">物語風のシナリオを描くことでユーザーの利用状況を明確にする</a></li>
</ul>
</li>
<li>プロトタイピング
<ul>
<li><a href="http://gitanez.seesaa.net/article/46857591.html" title="プロトタイピングとしてのワークショップ：DESIGN IT! w/LOVE">プロトタイピングとしてのワークショップ</a></li>
</ul>
</li>
<li><a href="http://gitanez.seesaa.net/article/49889449.html" title="ユーザビリティのルールは前提にすぎない：DESIGN IT! w/LOVE">デザイン・ルールを用いる際の注意</a></li>
<li>ユーザテスト
<ul>
<li><a href="http://gitanez.seesaa.net/article/47748017.html" title="ユーザーテストはこうやります：DESIGN IT! w/LOVE">ユーザーテストはこうやります</a></li>
<li><a href="http://gitanez.seesaa.net/article/45247442.html" title="ユーザーテストをやることがユーザビリティだと思ったら大間違い：DESIGN IT! w/LOVE">ユーザーテストをやることがユーザビリティだと思ったら大間違い</a></li>
</ul>
</li>
</ol>
</li>
</ul>
</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://gc.sfc.keio.ac.jp/" width="16" height="16" alt="" /> <a href="http://gc.sfc.keio.ac.jp/class/2006_22267/slides/04/" title="人間環境整合論 第4回 人間と調和した環境設計の方法">慶應義塾SFC GC：人間環境整合論 第4回 人間と調和した環境設計の方法</a></dt>
<dd>慶應SFCが無料で公開している講義の一篇です。講義担当者はエルゴノミクス（人間工学）について研究されている方のようです。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://apple.com/jp/" width="16" height="16" alt="" /> <a href="http://potting.syuriken.jp/potting_conv/XHIG_J/XHIGIntro/chapter_1.html" title="アップル ヒューマンインタフェースガイドライン">アップル ヒューマンインタフェースガイドライン</a></dt>
<dd>アップル社が自社のOS上で動作するソフトウェアをデザインするにあたって守って欲しいことを記した開発者向けガイドライン。Mac OS Xオンリーな部分もありますが、大部分はウェブデザインの話などとも読み替えられる点が多いです。ちなみに上記リンクは有志による日本語訳で<a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html" title="Apple Human Interface Guidelines: Introduction to Apple Human Interface Guidelines">原文</a>はアップル社のサイトからダウンロードできます<span class="weaken">（ちなみにOS 10.4 Tiger発売後に章の追加や内容のアップデートが加えられています）</span></dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.usability.gr.jp/" width="16" height="16" alt="" /> <a href="http://www.usability.gr.jp/alertbox/index.html" title="Jakob Nielsen博士のAlertbox">Jakob Nielsen博士のAlertbox</a></dt>
<dd>ユーザビリティ業界の重鎮、ニールセン博士のコラム。ちなみに、<a href="http://www.amazon.jp/o/ASIN/4903065065/ref=nosim/openvista-22" title="Amazon.co.jp： ヤコブ・ニールセンのAlertbox -そのデザイン、間違ってます- (RD Books): Jakob Nielsen,舩井 淳,奥泉 直子,川崎 幹人: 本">本になってます</a>。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.usability.gr.jp/" width="16" height="16" alt="" /> <a href="http://www.usability.gr.jp/lecture/index.html" title="黒須教授のUser Engineering Lecture">黒須教授のUser Engineering Lecture</a></dt>
<dd>こちらも日本では重鎮の黒須博士のコラム。黒須先生は<a href="http://tech.openvista.jp/amazon/index.php?keyword=%E9%BB%92%E9%A0%88+%E6%AD%A3%E6%98%8E&amp;p=1" title="黒須 正明： Amazon.co.jp 非公式アイテム検索">ユーザビリティ関連の多くの著書を書かれています</a>。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://web-tan.forum.impressrd.jp/" width="16" height="16" alt="" /> <a href="http://web-tan.forum.impressrd.jp/tags/95" title="タグ「ユーザビリティ」が付けられた記事一覧 | Web担当者Forum">Web担当者Forum：ユーザビリティ関連の記事</a></dt>
<dd>複数の会社のWeb担当者が書いておられるので、SEO・ペルソナ・ウェブマーケティングなど様々な話題を拾うのに便利だと思います。</dd>
</dl>
<p style="margin-top: 30px;"><a href="http://note.openvista.jp/256/" title="Liner Note - ウェブユーザビリティについて考えたい人にオススメの5冊">先のエントリ</a>で挙げたビービットもいろいろ情報を出しているようですので、まとめて載せておきます。</p>
<dl>
<dt><img src="http://favicon.aruko.net/m/e/http://www.bebit.co.jp/" width="16" height="16" alt="" /> <a href="http://www.bebit.co.jp/column/index.html" title="ユーザビリティコラム ［ビービット]ユーザビリティに特化したウェブコンサルティング">ユーザビリティコラム：ビービット</a></dt>
<dd>ユーザビリティを考えるにあたって参考になる考え方を様々な視点から考察しています。分量もコンパクトで読みやすいです。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.bebit.co.jp/" width="16" height="16" alt="" /> <a href="http://www.bebit.co.jp/memo/index.html" title="ユーザビリティ実践メモ">ユーザビリティ実践メモ：ビービット</a></dt>
<dd>こちらは上記に比べ個別具体的な話で、より実践にフォーカスをおいています。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.president-vision.com/" width="16" height="16" alt="" /> <a href="http://www.president-vision.com/index.php?state=backnumber&amp;action=view&amp;id=570" title="プレジデントビジョン　株式会社ビービット　代表取締役　遠藤　直紀　氏　『 確実に社会に大きな変化がきている 』　インタビュー">プレジデントビジョン インタビュー：株式会社ビービット 代表取締役　遠藤直紀氏『 確実に社会に大きな変化がきている 』</a></dt>
<dd><a href="http://note.openvista.jp/256/" title="Liner Note - ウェブユーザビリティについて考えたい人にオススメの5冊">先ほどのエントリ</a>で挙げたビービット社の社長のインタビュー、なぜユーザビリティが必要とされているのか、どのようにして確保してけばいいのかみたいなことをとりあえず知りたい人は読むといいでしょう。まぁ、インタビューですから個人的な話も入ってきますけど面白いですしいいでしょう。</dd>
<dt><img src="http://favicon.aruko.net/m/e/http://www.uc-web2.com/" width="16" height="16" alt="" /> <a href="http://www.uc-web2.com/interview/cat40/" title="UNIVERSAL INTERVIEW～フューチャリスティックなITパーソン～: ネット・コンサルティング アーカイブ">UNIVERSAL INTERVIEW～フューチャリスティックなITパーソン～</a></dt>
<dd>上記会社の人のインタビュー on PodCast。長さは上下合わせて43分ほどなんで、通勤・通学の往復で聴ける量です。若干、インタビュアーの無茶振りが入ってる感じも。</dd>
</dl>
<p>とりあえず以上です。これも載せておくといいよってのがあったら、こちらのWikiに追加してみてください。</p>
<p class="wiki"><object data="http://tech.openvista.jp/miniwiki/?20080301" type="text/html" width="100%" height="350"><a href="http://tech.openvista.jp/miniwiki/?20080301">Wiki画面を表示</a></object></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=359&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/links-for-web-usability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ウェブユーザビリティについて考え始めたい人にオススメの5冊</title>
		<link>http://note.openvista.jp/2008/5-books-for-web-usability/</link>
		<comments>http://note.openvista.jp/2008/5-books-for-web-usability/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 11:45:59 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ユーザビリティ]]></category>
		<category><![CDATA[書籍・製品レビュー]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/256/</guid>
		<description><![CDATA[ユーザビリティについて興味はあるけど、学ぶためにはどんな本がいいんでしょという方向けに5冊の本をお薦めします]]></description>
			<content:encoded><![CDATA[<p>ここ3ヶ月ほど就活がらみでウェブユーザビリティに関する本を読んだので、とりあえずその中でオススメできる5冊を挙げておきます。ユーザビリティやUIの話に関しては、海外の方が情報があるのだけど、まだ読めてないので和書だけで。</p>
<p>周りが落ち着いたら、この辺で書いてあることをまとめて書いておこうと思います<sup><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#footnote_0_358" id="identifier_0_358" class="footnote-link footnote-identifier-link" title="もちろん、それをしてくれている先達はいらっしゃるのですが">1</a></sup> 。</p>
<p>ちなみに、私も内容を完璧に理解できているわけではありませんので誤解しているところがあるかもしれません。フィードバックは歓迎しますので、間違いがあればレスポンス頂けるとうれしいです。</p>
<div class="toc">
<ol>
<li><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#t591e9d">ユーザビリティエンジニアリング</a></li>
<li><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#t2ec3b7">ユーザ中心ウェブサイト戦略</a></li>
<li><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#ta89b16">発想する会社! </a></li>
<li><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#t1084a6">「法則」本 2冊</a></li>
<li><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#t13ce29">あとがき</a></li>
</ol>
</div>
<h3 id="t591e9d">ユーザビリティエンジニアリング</h3>
<p><amazon>978-4274201448</amazon></p>
<p>一冊目はこちら。ユーザビリティについて基礎から学びたいという人には、この本が一番オススメです。ウェブユーザビリティに関する概説書といっていいでしょう。</p>
<p>そもそも「ユーザビリティとは何なのか」から始まり、そのユーザビリティを確保するための「ユーザ中心設計手法」の紹介へと向かい、そしてその方法について「調査・評価および実践」までを200ページ弱でコンパクトに、しかしきっちりと解説してくれています。ユーザビリティに関するありがちな誤解もこれを読めば解消できるでしょう。</p>
<p>内容も平易でとっつきやすく、ゆっくり読んでも3日ほどで読めるんじゃないでしょうか。まず、ユーザビリティについて一遍の知識を手に入れたいのでしたら、これから読むといいでしょう。</p>
<p><a href="http://allnight.cocolog-nifty.com/usability/2005/10/post_edfc.html" title="人机交互論: ユーザビリティ本の無料サンプル版">著者のサイトでは、この本の5章のうちの1章がお試しとして無料配布</a>されていて、なんとも良心的です。</p>
<h3 id="t2ec3b7">ユーザ中心ウェブサイト戦略</h3>
<p><amazon>978-4797333527</amazon></p>
<p>ウェブユーザビリティに関してのコンサルティングおよび制作業務を行っている<a href="http://www.bebit.co.jp/" title="ビービット ユーザビリティに特化したウェブコンサルティング">ビービット</a>社の中の人が書いた本。</p>
<p>一言で言うと緻密。日本でもユーザビリティを軸にコンサルティングを行っている会社は数少ないですが、それだけあってさすがに中身が濃く、タイトルの示すとおり戦略にまで昇華されているという印象です。</p>
<p>最初の本を読んで、もっと○○について詳しく知りたいとか、どのようにして業務に取り入れていけばいいのかということを知りたい人にお勧めです<span class="weaken">（逆に手間暇かけずユーザビリティを「改良」できないかなという程度であれば、本書はちょっと詳しすぎるので他の本の方がよいかもしれません）</span></p>
<p>ちなみに本書は理論編と実践編の2部構成になっていますが、もしある程度の知識があおりでしたら実践編から読んでいってもいいと思います。</p>
<h3 id="ta89b16">発想する会社! </h3>
<p><amazon>978-4152084262</amazon></p>
<p>アメリカでプロダクト・デザインを手がけているIDEOという会社が、どのようにイノベーティブな製品を生み出すのかまとめた本。</p>
<p>上記2冊は「どうデザインしていくか」という方法論や考え方が主に書かれていますが、こちらは「どのようにしてすばらしいデザインができる環境を作っているのか」という環境つまり組織・集団のマネージメントの話をメインにして書かれています。</p>
<p>ですので、ウェブユーザビリティそのものとは少しずれてしまうかもしれませんが、デザインという作業を含めたプロセス全体を考える際には読んでおいて損はないです。それに、3章の「イノベーションは見ることから始まる」で触れられているヒューマン・ファクターという手法はユーザ中心設計手法とかなり重なってくるものです。</p>
<h3 id="t1084a6">「法則」本 2冊</h3>
<p><amazon>978-4844324232</amazon></p>
<p><amazon>978-4798112565</amazon></p>
<p>挙げておいてなんですが、上記3冊は考え方としては確かに非常に参考になるのだけど、中小規模のウェブページを趣味で作っている方からすると「ハードルが高いな」と思われるかもしれません。</p>
<p><a href="http://www.kinotrope.tv/research/use3.html" title="ユーザビリティテストとは">ユーザビリティテスト</a>は協力者がいないとできませんし、<a href="http://gitanez.seesaa.net/article/43523518.html" title="ユーザー行動シナリオは最初のデザイン：DESIGN IT! w/LOVE">ユーザの行動シナリオ</a>を作るというのも考え方としては役に立っても、実際やってみるのはノウハウや経験が必要で難しいです<span class="weaken">（だからこそ上記のような本や会社があるわけですが）</span></p>
<p>ですから、とりあえずここはおさえておこうよという点をピックアップした上記の法則シリーズ(?)<sup><a href="http://note.openvista.jp/2008/5-books-for-web-usability/#footnote_1_358" id="identifier_1_358" class="footnote-link footnote-identifier-link" title="といっても出版社は違うので、法則つながりは偶然なのですが">2</a></sup> 2冊をオススメしておきます。</p>
<p>絵も多彩に用いられていて読みやすいですし、法則単位で短く分かれていてサラッと読ませる感じになっているので、そこまでリソースは割けないけどという方はこれらを読んでみるといいでしょう。</p>
<p>ところで、ユニバーサルデザインの概念はユーザビリティとは異なるもの（どちらかというとアクセシビリティに近い）なのですが、この分野に興味をもつきっかけとしてはよいかなと思って挙げてみました。</p>
<h3 id="t13ce29">あとがき</h3>
<p><a href="http://www.amazon.jp/o/ASIN/4274065669/ref=nosim/openvista-22" title="Amazon.co.jp： ペーパープロトタイピング 最適なユーザインタフェースを効率よくデザインする: Carolyn Snyder,黒須 正明: 本">ペーパープロトタイピング本</a>や<a href="http://www.amazon.jp/o/ASIN/4839922349/ref=nosim/openvista-22" title="Amazon.co.jp： Webサイト設計のためのペルソナ手法の教科書 ~ペルソナ活用によるユーザ中心ウェブサイト実践構築ガイド~ (DESIGN IT!BOOKS): Ziv Yaar,Steve Mulder,佐藤 伸哉,奥泉 直子: 本">ペルソナ本</a>も結構オススメなんですが、ちょっと各論に入ってるかなという感じもあるし、初～中級者向けなら上記がいいかなと思って、今回は外しました。</p>
<p>ところで、日本では世にあふれている「ユーザビリティ本」はいわゆるヒューリスティック、つまりプロによる一般論をまとめたものが多いという印象があります。</p>
<p>しかし、高齢化・ユーザインタフェースの進化などの環境の変化（とその速度）を考慮すると、そうした本はお手軽ではあるけれど、陳腐化しやすい点も多いのではないかと思います<span class="weaken">（そうした本が全て陳腐であると極論を言っているわけではありません）</span></p>
<p>こうしたユーザ中心設計手法やその考え方を身につけていくことで、みなさんが自分自身でウェブユーザビリティを考える一助になればなと思います<span class="weaken">（ちょっと偉そう）</span></p>
<ol class="footnotes"><li id="footnote_0_358" class="footnote">もちろん、それをしてくれている先達はいらっしゃるのですが</li><li id="footnote_1_358" class="footnote">といっても出版社は違うので、法則つながりは偶然なのですが</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=358&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/5-books-for-web-usability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP汎用スクレイピングライブラリを作ってみた</title>
		<link>http://note.openvista.jp/2008/php-scraing-library/</link>
		<comments>http://note.openvista.jp/2008/php-scraing-library/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 08:50:55 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ツールの制作]]></category>
		<category><![CDATA[プログラミング技術絡み]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/251/</guid>
		<description><![CDATA[ページから必要な部分だけをXPath式で抽出するPHP製汎用スクレイピングライブラリを作った]]></description>
			<content:encoded><![CDATA[<p>いままでスクレイピングを使ったサービス（<a href="http://note.openvista.jp/249/" title="Liner Note - iPod touch専用 料理レシピ検索サービスを作った">レシピ検索</a>、<a href="http://note.openvista.jp/241/" title="Liner Note - 書籍在庫一括検索サービス ver 0.2ーMaking OPAC 2.0 (2)">書籍在庫一括検索</a>）を作ってきましたが、そこで使ったものを簡単に再利用できるように、PHP5で使える汎用スクレイピングライブラリを作ってみました。</p>
<p>スクレイピング結果の表示はHTMLとXMLとRSS 2.0に対応しています。動作させるにはPEAR::HTTP Clientが必要です。</p>
<dl>
<dt>表示サンプル</dt>
<dd><a href="http://tech.openvista.jp/scraping/PHP.html" title="PHP - Google 検索">PHPをGoogleで検索した結果</a>（HTML）</dd>
<dd><a href="http://tech.openvista.jp/scraping/PHP.xml" title="PHP - Google 検索">PHPをGoogleで検索した結果</a>（XML）</dd>
<dd><a href="http://tech.openvista.jp/scraping/PHP.rss" title="PHP - Google 検索">PHPをGoogleで検索した結果</a>（RSS 2.0）</dd>
</dl>
<p>サンプルではGoogleの検索結果のタイトルと説明を拾って表示する処理をしています。コントローラー部分はこんな感じ。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>PHPソースコード</em></div><pre class="source-code"><code><span class="codes-inlinetags">&lt;?php</span>
<span class="codes-reserved">require_once</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">HTTP/Client.php</span><span class="codes-quotes">&quot;</span><span class="codes-code">;</span>
<span class="codes-reserved">require_once</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">scraper.Class.php</span><span class="codes-quotes">&quot;</span><span class="codes-code">;</span>
<span class="codes-code"> </span>
<span class="codes-comment">// インスタンスを生成</span>
<span class="codes-var">$scraper</span><span class="codes-code"> = </span><span class="codes-reserved">new</span><span class="codes-code"> </span><span class="codes-identifier">WebScraper</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">http://www.google.co.jp/search?q=</span><span class="codes-quotes">&quot;</span><span class="codes-code">, </span><span class="codes-quotes">&quot;</span><span class="codes-string">UTF-8</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code"> </span>
<span class="codes-comment">// キーワードが入力されている場合はゲット</span>
<span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-code">!</span><span class="codes-reserved">empty</span><span class="codes-brackets">(</span><span class="codes-var">$_GET</span><span class="codes-brackets">[</span><span class="codes-quotes">&quot;</span><span class="codes-string">q</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">])){</span>
<span class="codes-code">  </span>
<span class="codes-code">  </span><span class="codes-comment">// XMLに変換して格納</span>
<span class="codes-code">  </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">retrieve</span><span class="codes-brackets">()</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-comment">// 要素を抽出して、変数に代入</span>
<span class="codes-code">  </span><span class="codes-var">$titles</span><span class="codes-code"> = </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">pickUpElement</span><span class="codes-brackets">(</span><span class="codes-quotes">'</span><span class="codes-string">//a[@class=&quot;l&quot;]</span><span class="codes-quotes">'</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-var">$links</span><span class="codes-code">  = </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">pickUpElement</span><span class="codes-brackets">(</span><span class="codes-quotes">'</span><span class="codes-string">//a[@class=&quot;l&quot;]/@href</span><span class="codes-quotes">'</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-var">$descs</span><span class="codes-code">  = </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">pickUpElement</span><span class="codes-brackets">(</span><span class="codes-quotes">'</span><span class="codes-string">//div[@class=&quot;std&quot;]</span><span class="codes-quotes">'</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-var">$count</span><span class="codes-code">  = </span><span class="codes-identifier">count</span><span class="codes-brackets">(</span><span class="codes-var">$titles</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-comment">// キーワードをUTF-8に戻す</span>
<span class="codes-code">  </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">keyword</span><span class="codes-code"> = </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">convertKeyword</span><span class="codes-brackets">()</span><span class="codes-code">;</span>
<span class="codes-code">  </span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-reserved">switch</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-var">$_GET</span><span class="codes-brackets">[</span><span class="codes-quotes">&quot;</span><span class="codes-string">type</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]){</span>
<span class="codes-code">  </span><span class="codes-reserved">case</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">html</span><span class="codes-quotes">&quot;</span><span class="codes-code">: </span><span class="codes-reserved">require</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">template.html.php</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">; </span><span class="codes-reserved">break</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">case</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">xml</span><span class="codes-quotes">&quot;</span><span class="codes-code"> : </span><span class="codes-reserved">require</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">template.xml.php</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;  </span><span class="codes-reserved">break</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">case</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">rss</span><span class="codes-quotes">&quot;</span><span class="codes-code"> : </span><span class="codes-reserved">require</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">template.rss.php</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;  </span><span class="codes-reserved">break</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-reserved">default</span><span class="codes-code">    : </span><span class="codes-reserved">require</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">template.html.php</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">; </span><span class="codes-reserved">break</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-inlinetags">?&gt;</span></code></pre></div>
<p>スクレイピングするURLは動的なもの（検索語などクエリが混ざっているもの）と静的なものに分かれると思います。このライブラリでは、動的なURLの場合にフォームから検索できるようにするため、これらを別々に処理しています。</p>
<pre class="command">
// インスタンスを生成
$scraper = new WebScraper("http://www.google.co.jp/search?q=", "UTF-8");
</pre>
<p>今回はGoogleに検索語を投げる処理なので、動的なURLにあたります。もし、静的なURLであれば、インスタンスを生成する際の3番目の引数に<code>true</code>を指定してください。</p>
<p>インスタンスを生成する際に、検索語を投げるURL（もしくは静的なURL）とその文字エンコーディングを指定します。</p>
<pre class="command">
// XMLに変換して格納（その際に不必要なタグを除去）
$scraper->retrieve("<\/?b>");
</pre>
<p>指定されたURLをゲットしてSimpleXML Objectに変換します。</p>
<p><ins datetime="2008-03-12T17:26:49+09:00" class="block"><br />
以下の手順は、バージョンアップにより不要になりました。<br />
</ins></p>
<p><del datetime="2008-03-12T17:26:49+09:00" class="block"><br />
その際、タグがネストしているとうまくいかない場合があるので、不必要な要素を消去します。</p>
<p>たとえば、<code>&lt;a href="http://example.com"&gt;あれこれ&lt;em&gt;に加えて&lt;/em&gt;どれこれ&lt;/a&gt;</code>というコードだとa要素の中身を指定しても、<samp>あれこれどれこれ</samp>という風に、em要素の中身がすっ飛んでしまうため、em要素を消しておく必要があります。</p>
<p>よって、ここでHTMLから消去する要素を正規表現で指定しておきます。<br />
</del></p>
<pre class="command">
// 要素を抽出して、変数に代入
$titles = $scraper->pickUpElement('//a[@class="l"]');
$links  = $scraper->pickUpElement('//a[@class="l"]/@href');
$descs  = $scraper->pickUpElement('//div[@class="std"]');
$count  = count($titles);
</pre>
<p>さきほど、ゲットしたXMLからゲットしたい部分を抽出して変数に格納します。抽出する部分はXPath式で指定してください。ゲットに成功していれば、文字列が配列で格納されます（CSSはわかるけど、XPathシラネって人は<a href="http://piro.sakura.ne.jp/latest/blosxom/mozilla/xul/2007-09-13_selector-to-xpath.htm" title="Latest topics &gt; CSS3セレクタとXPathでの表現の対応表 - outsider reflex">Latest topics &gt; CSS3セレクタとXPathでの表現の対応表 &#8211; outsider reflex</a>を参照してみてください）。</p>
<p>格納された文字列は、ビュー部分でたとえば以下のように出力します（例はHTML）</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>PHPソースコード</em></div><pre class="source-code"><code><span class="codes-inlinetags">&lt;?php</span>
<span class="codes-code">  </span>
<span class="codes-code">  </span><span class="codes-comment">// 設定に失敗していたら離脱</span>
<span class="codes-code">  </span><span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">isError</span><span class="codes-brackets">()</span><span class="codes-code"> != </span><span class="codes-reserved">false</span><span class="codes-brackets">){</span>
<span class="codes-code">    </span>
<span class="codes-code">    </span><span class="codes-var">$scraper</span><span class="codes-code">-&gt;</span><span class="codes-identifier">isError</span><span class="codes-brackets">()</span><span class="codes-code">;</span>
<span class="codes-code">    </span>
<span class="codes-code">  </span><span class="codes-brackets">}</span><span class="codes-code"> </span><span class="codes-reserved">else</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span>
<span class="codes-code">    </span><span class="codes-reserved">for</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-var">$i</span><span class="codes-code">=</span><span class="codes-number">0</span><span class="codes-code">; </span><span class="codes-var">$i</span><span class="codes-code">&lt;</span><span class="codes-var">$count</span><span class="codes-code">; </span><span class="codes-var">$i</span><span class="codes-code">++</span><span class="codes-brackets">){</span>
<span class="codes-code">      </span><span class="codes-var">$msg</span><span class="codes-code"> .= </span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;dt&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">.</span><span class="codes-var">$titles</span><span class="codes-brackets">[</span><span class="codes-var">$i</span><span class="codes-brackets">]</span><span class="codes-code">.</span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;/dt&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">;</span>
<span class="codes-code">      </span><span class="codes-var">$msg</span><span class="codes-code"> .= </span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;dd&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">.</span><span class="codes-var">$descs</span><span class="codes-brackets">[</span><span class="codes-var">$i</span><span class="codes-brackets">]</span><span class="codes-code">.</span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;/dd&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-brackets">}</span>
<span class="codes-code">    </span>
<span class="codes-code">    </span><span class="codes-reserved">echo</span><span class="codes-code"> </span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;dl&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">. </span><span class="codes-var">$msg</span><span class="codes-code"> .</span><span class="codes-quotes">&quot;</span><span class="codes-string">&lt;/dl&gt;</span><span class="codes-quotes">&quot;</span><span class="codes-code">;</span>
<span class="codes-code">    </span>
<span class="codes-code">  </span><span class="codes-brackets">}</span>
<span class="codes-inlinetags">?&gt;</span></code></pre></div>
<p>PHPフレームワーク（rhacoとか）にはスクレイピングライブラリがくっついているし、マイナーだけど<a href="http://www.gac.jp/article/index.php?stats=question&amp;category=11&amp;id=9181&amp;command=msg" title="GAC なぜなにGAC-&gt;PHP">SNOOPYというスクレイピングライブラリ</a>もありますから、車輪の再発明には違いないんですけどね。perlやrubyみたいにもうちょっとこの手のライブラリが充実していってほしいもんです。</p>
<h3 id="t63271b">ダウンロード</h3>
<dl class="download">
<dt>ダウンロード</dt>
<dd><a href="http://tech.openvista.jp/scraping/scraping.zip">汎用スクレイピングライブラリ</a></dd>
<dt>ライセンス</dt>
<dd><a href="http://ja.wikipedia.org/wiki/BSD%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9" rel="copyright">修正BSDライセンス</a></dd>
<dd>HTMLParser.Class.php, xhtml1-transitional_dtd.inc.php, XMLフォルダ以下のファイルについてはGNU LGPLライセンス</dd>
</dl>
<h3 id="t2b61fc">更新履歴</h3>
<div class="update">
<dl>
<dt>v0.2.3 (20080322)</dt>
<dd>検索ワードが変わってしまう問題を解消</dd>
<dd>フォームページの記述ミスによりうまく検索できなくなっていた問題を解消</dd>
<dd>（ライブラリそのものとはあまり関係ないですが）Google側の仕様変更により、再度検索説明が拾えなくなっていた問題を解消</dd>
<dt>v0.2.2 (20080312)</dt>
<dd>要素がうまく拾えない問題を解決しました（Thanks! Phizeさん）</dd>
<dd>これに伴い、特定のタグを消去する作業が不要になりました</dd>
<dt>v0.2.1 (20080217)</dt>
<dd>トップ画面がうまく表示されない問題を修正しました</dd>
<dd>文字エンコーディングの処理を改善しました</dd>
<dd>XMLやRSSにおいてパースエラーが発生する可能性がある問題を修正しました</dd>
<dd><a href="http://www.rcdtokyo.com/ucb/contents/i000799.php" title="HTMLを整形式のXML文書に修正するPHPクラス : Under Construction, Baby">HTMLを整形式のXML文書に修正するPHPクラス</a>は併用した場合、処理に失敗するケースもあったので、いったん使用しないようにしました</dd>
<dt>v0.2 (20080214)</dt>
<dd>RSS 2.0での出力を加えました</dd>
<dd><a href="http://www.rcdtokyo.com/ucb/contents/i000799.php" title="HTMLを整形式のXML文書に修正するPHPクラス : Under Construction, Baby">HTMLを整形式のXML文書に修正するPHPクラス</a>での処理を挟みこむようにした</dd>
<dt>v0.1</dt>
<dd>初リリース</dd>
</div>
<h3 id="t129f04">既知の問題点</h3>
<dl>
<dt>POSTで取得するリソースを取得できない</dt>
<dd>実装自体は簡単ですが、どう実装するかという話です。あんまりオプションを増やしたくないので</dd>
<dt>認証がかかったりソースを取得できない</dt>
<dd>これも上記に同じ。このニーズも大きいと思います。</dd>
</dl>
<h3 id="t7c0384">参考にしたURL</h3>
<ul>
<li><a href="http://goungoun.dip.jp/app/fswiki/wiki.cgi/devnotebook?page=PHP5%A1%A2%CC%A4%C0%B0%B7%C1HTML%A4%F2SimpleXML%A4%D8%CA%D1%B4%B9" title="PHP5、未整形HTMLをSimpleXMLへ変換 - goungoun技術系雑記帳">PHP5、未整形HTMLをSimpleXMLへ変換 &#8211; goungoun技術系雑記帳</a></li>
</ul>
<p><ins datetime="2008-03-12T17:31:35+09:00" class="block"><br />
Phizeさんが<a href="http://dxd8.com/archives/85/" title="PHPでのスクレイピングに役立つライブラリ - (DxD)∞">このスクリプトも含めてPHPのスクレイピングに役立つライブラリをまとめてくださって</a>います。このスクリプトでできないこともありますので、参考にしてください。<br />
</ins></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=348&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/php-scraing-library/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

