<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja">
<title>ROSS / 雑多な考察</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/" />
<modified>2007-01-26T17:45:28Z</modified>
<tagline></tagline>
<id>tag:ross.archiva.jp,2007:/other/1</id>
<generator url="http://www.movabletype.org/" version="3.2-ja-2">Movable Type</generator>
<copyright>Copyright (c) 2006, Sig.</copyright>
<entry>
<title>サイト移転します</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/09/post_57.html" />
<modified>2007-01-26T17:45:28Z</modified>
<issued>2006-09-08T14:54:26Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.206</id>
<created>2006-09-08T14:54:26Z</created>
<summary type="text/plain">どもSig.です。お久しぶり。 前振りから妙～に時間掛かりましたが、ようやく動く...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>

<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>どもSig.です。お久しぶり。<br />
前振りから妙～に時間掛かりましたが、ようやく動くようになってきたので、当サイト『ROSS』は新サイト『<a href="http://archiva.jp/">Archiva</a>』に移転します。サイト移転に当たっての方針は、以下の通り。</p>
<ul>
<li>『ROSS』のファイルおよびデータは、まるまる残します。</li>
<li>『ROSS』からピックアップした記事を『Archiva』に再掲載。</li>
<li>『ROSS』のコメント、トラックバック、掲示板、メールフォームは凍結。</li>
<li>『槍士登録所』に関しては、利用者の更新がある限りは、現状維持。</li>
<li>ドメイン（http://rospear.info/)の有効期限があるのでURLは変更する。</li>
<li>『ROSS』の新URLは「http://ross.archiva.jp/」となる予定。</li>
</ul>
<p>新サイトは「とりあえず動く」という段階で、まだまだディテールが甘いです。記事もまだ移行してませんが、動かしながら改善していく方向で。それでは、新サイトでお会いしましょう！</p>
<p>&raquo; <a href="http://archiva.jp/">Archiva | A note of notions. On web, tech, and myth.</a></p>]]>

</content>
</entry>
<entry>
<title>tableソートJS</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/08/tablejs.html" />
<modified>2006-08-30T06:38:16Z</modified>
<issued>2006-08-14T17:04:07Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.205</id>
<created>2006-08-14T17:04:07Z</created>
<summary type="text/plain">仕事にて、tableをソートするJavascriptを作ることになったわけですが...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Javascript</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>仕事にて、tableをソートするJavascriptを作ることになったわけですが... たまたま拾ったサンプルがバリバリのDOMだったおかげで、「Javascriptにおけるオブジェクト指向」がちょっとずつ解ってきました。それはともかく。</p>
<p>おっかなびっくり組んでみると、なんだかんだで、とりあえず動きはするんですが... どうにもappendChild()でノードが追加されるというよりは置換されてるっぽい理屈に確信が持てません。「そういうプロパティなんだ」と言われれば、それまでなんですが。</p>
<p>ソースは以下</p>
]]>
<![CDATA[<dl>
<dt>HTML</dt>
<dd>
<pre><code>&lt;table border="1" width="580" cellspacing="0" &gt;
  &lt;tbody&gt;
    &lt;tr&gt;
    &lt;th onClick="sortRow(this,0);"&gt;グループ名&lt;/th&gt;
    &lt;th onClick="sortRow(this,1);"&gt;今日&lt;/th&gt;
    &lt;th onClick="sortRow(this,2);"&gt;昨日&lt;/th&gt;
    &lt;th onClick="sortRow(this,3);"&gt;今週&lt;/th&gt;
    &lt;th onClick="sortRow(this,4);"&gt;先週&lt;/th&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td&gt;100&lt;/td&gt;
    &lt;td&gt;200&lt;/td&gt;
    &lt;td&gt;300&lt;/td&gt;
    &lt;td&gt;400&lt;/td&gt;
    &lt;td&gt;500&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td&gt;200&lt;/td&gt;
    &lt;td&gt;300&lt;/td&gt;
    &lt;td&gt;400&lt;/td&gt;
    &lt;td&gt;500&lt;/td&gt;
    &lt;td&gt;600&lt;/td&gt;
    &lt;/tr&gt;
    ...
  &lt;/tbody&gt;
&lt;/table&gt;</code></pre>
</dd>

<dt>Script</dt>
<dd>
<pre><code>var last_sort;

function sortRow(th,idx) {

    // tbodyを特定する
    var sec = th.parentNode.parentNode;

    // trを特定する
    var rows = sec.rows;
    var N = rows.length - 1;

    // 配列xを宣言
    var x = new Array;

    // 一時領域を定義
    var marker = document.createElement('tbody');

    // tdの値を配列xに格納。行番号を揃えた変数を用意する
    for(var i=0; i&lt;N; ++i) {
        x[i] = Object(rows[i+1].cells[idx].firstChild.nodeValue);
        x[i].row = rows[i+1];
    }

    // 配列xをソート
    x.sort();

    // 配列を逆順にする
    if(last_sort == idx) {
        x.reverse();
        idx = -idx;
    }

    // secをmarkerにする
    sec.parentNode.replaceChild(marker,sec);

    // secにtrを追加する
    for(var i=0; i&lt;N; ++i) {
        sec.appendChild(x[i].row);
    }

    // markerをsecにする
    marker.parentNode.replaceChild(sec,marker);

    // ソート情報を保存
    last_sort = idx;

}</code></pre>
</dd>

</dl>

<h3>今後の課題</h3>
<ul>
<li>table内をtbodyで満たしている（thead使いたい）</li>
<li>ソートが甘い（ソート関数ちゃんと作らないと？）</li>
<li>クリックポイントの体裁（thの上でカーソル変えるとか）</li>
<li>th[0]だと連続で2回までしかソート変更できない</li>
</ul>

<p>要するにサンプルコピったは良いけど、イマイチ改造できないと。なんとなく手ごたえはあるんだけど、あと一歩のところで脳がJSモードに入ってないなぁ（汗</p>
<p>cf. Mata's Homepage, <a href="http://w1.nirai.ne.jp/m-mata/diary/jssort20040409.html"><cite>JavaScript テーブルソート</cite></a></p>
]]>
</content>
</entry>
<entry>
<title>構造物に遠近感をつける描画法</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/08/post_56.html" />
<modified>2006-12-14T02:00:32Z</modified>
<issued>2006-08-08T16:46:54Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.204</id>
<created>2006-08-08T16:46:54Z</created>
<summary type="text/plain">※この記事は追記・編集して新サイトへ移行されています。 簡単なので、ちょっとやっ...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Design</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p style="border: 2px dotted #f00; padding: 5px 10px;"><ins>※この記事は追記・編集して<a href="http://archiva.jp/web/design/20060809013000.html">新サイトへ移行</a>されています。</ins></p>
<p>簡単なので、ちょっとやってみたら、なんかメチャメチャ面白かった。<br />
平面の空間設定をコントロールする遠近法には、大きく二種類ある。</p>
<ul>
<li>構造物に遠近感を持たせる描画方法としての「透視法」</li>
<li>配色や輪郭の描写で遠近を区別する「空気遠近法」</li>
</ul>
<p>今回やったのは、「透視法」。中でもごく単純な「二点透視法」にチャレンジしてみました。手順は以下。</p>
]]>
<![CDATA[<ol>
<li>水平線を引く</li>
<li>水平線の上に、消失点Aを定める</li>
<li>消失点Aから、最低2本の補助線を引く</li>
<li>反対の方向に新しい消失点Bを作る</li>
<li>消失点Bから補助線を引き、先の補助線と結合させる</li>
<li>補助線同士のの接続ポイントに垂線を引く</li>
<li>補助線に沿って辺を描く</li>
</ol>
<p>消失点を2つ定義するから、二点透視法。6.で引いた垂線が、構造物の一番手前の角になります。こんな感じ。</p>
<p><a href="http://archiva.jp/img/web/design/2006-0809_1.gif"><img src="http://archiva.jp/img/web/design/2006-0809_1.gif" width="300" alt="手前だけじゃなく、奥の骨組みも消失点から求めることができる" /></a></p>
<p>色つけてみた。</p>
<p><a href="http://archiva.jp/img/web/design/2006-0809_2.gif"><img src="http://archiva.jp/img/web/design/2006-0809_2.gif" width="300" alt="面がはっきりすると、立体感が増す" /></a></p>
<p>補助線を移動させれば、角度や距離感を変えることができます。上から見下ろすようにもできるし、消失点をもっと増やせば、もっと複雑な構造を描画できます。「屋根が三角」とか。</p>
<p>建築物のイラストとかで良く使う手法だけど、Webでも普通に使えます。たとえばメイン画像のグラデーションや、中身の構成を決めるときに意識しておけば、全体のバランスやユーザの視線をコントロールできますね。</p>]]>
</content>
</entry>
<entry>
<title>長～いURLによるカラム落ち、に対処する</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/08/url.html" />
<modified>2006-12-12T09:27:46Z</modified>
<issued>2006-08-07T16:51:01Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.203</id>
<created>2006-08-07T16:51:01Z</created>
<summary type="text/plain">※この記事は追記・編集して新サイトへ移行されています。 長いURL(半角英数字）...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>HTML/CSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p style="border: 2px dotted #f00; padding: 5px 10px;"><ins>※この記事は追記・編集して<a href="http://archiva.jp/web/html-css/20060808013000.html">新サイトへ移行</a>されています。</ins></p>
<p>長いURL(半角英数字）を強制改行させるには、CSSで「<code>word-break: break-all;</code>」を指定すれば良い。これはIEの独自拡張で、IE5.0から対応しています。</p>
<p>通常のボックス要素の場合だと、Opera/firefoxではボックスを突き破りはしても、ボックスを拡張したりはしない。</p>
<p><a href="http://archiva.jp/img/web/html-css/2006-0808_1.gif"><img src="http://archiva.jp/img/web/html-css/2006-0808_1.gif" width="300" alt="" /></a></p>
<p>幅が指定されたボックス要素を拡張してしまうのはIEのバグなので、通常は「word-break: break-all;」で大きな問題は無いです。（レイアウトが崩れない、て意味ね）</p>
<p>ただし、table要素に詰まっていると、ややこしくなります。table要素は特殊なブロック要素で、中身が溢れると問答無用でセル自体を伸縮してしまいます。↓みたく。</p>
<p><a href="http://archiva.jp/img/web/html-css/2006-0808_2.gif"><img src="http://archiva.jp/img/web/html-css/2006-0808_2.gif" width="300" alt="" /></a></p>
<p>解決する方法は幾つかあるが、クロスブラウザとなると難しい。</p>

]]>
<![CDATA[<dl>
<dt>「<code>word-break: break-all;</code>」を使用する</dt>
<dd>IEでしか効果がない</dd>

<dt>&lt;wbr /&gt;タグを使用する</dt>
<dd>
  <p>&lt;nobr&gt;タグの中で、行がボックスから溢れたときの改行ポイントを指定するタグです。</p>
  <ul>
  <li>Firefoxで&lt;nobr /&gt;を入れると、&lt;wbr /&gt;では改行しなくなる</li>
  <li>Operaでは効果なし</li>
  </ul>
  <p>そもそも手動改行するのと、ほとんど変わらない。システムが入った動的な環境だと、状況的に使用できない場合が多いだろう。個人サイトで、手間を無視するならアリ。</p>
</dd>

<dt>各ブラウザの独自拡張タグを使用する</dt>
<dd>
  <pre><code>pre {
  white-space: -moz-pre-wrap; /* Mozilla */
  white-space: -pre-wrap;     /* Opera 4-6 */
  white-space: -o-pre-wrap;   /* Opera 7 */
  white-space: pre-wrap;      /* CSS3 */
  word-wrap: break-word;      /* IE 5.5+ */
}</code></pre>
  <p>&lt;pre&gt;タグ用として有名な手法らしいが、少なくともこの場合はOpera9、Firefox1.5.0.6、IE6でことごとく効果なし。</p>
  <p>ま～それも当然で、この指定は本来、行末では改行しない&lt;pre&gt;要素を行末で自動的に折り返す為の指定。半角スペースすら挟まない英数字を強制改行するような指定ではないから。</p>
  <p>cf. Tero Karvinen, <a href="http://myy.helia.fi/~karte/pre-wrap-css3-mozilla-opera-ie.html"><cite>Making preformated &lt;pre&gt; text wrap in CSS3, Mozilla, Opera and IE</cite></a></p>
</dd>

<dt>「<code>url_breaker</code>」を使用する</dt>
<dd>
  <p>Firefoxでのスタンダードな対処法らしい。構文解析して&lt;wbr&gt;タグを埋め込む<strong>拡張機能</strong>です。<br />
    Firefox専用なので、論外。
  </p>
  <p>cf. 小粋空間, <a href="http://www.koikikukan.com/archives/2005/08/04-235647.php"><cite>Firefox・Netscapeで連続した半角文字を折り返す</cite></a></p>
</dd>

<dt>「<code>overflow:hidden;</code>」あるいは「<code>auto;</code>」</dt>
<dd>
  <p>td/thに直接指定しても反映されない。td/th内のブロック要素（div/p等であらかじめ囲っておく）か、長いURLを囲んだ&lt;a&gt;なり&lt;span&gt;なりを「display:block;」にして使用する必要がある。</p>
  <p>※見映えは悪くなるが、無難ではある。</p>
</dd>

<dt>「半角英数字は○○文字以上連続で入力できません」</dt>
<dd>
  <p>入力時にCGIでエラーを出す。CMSツールのNucleusなんかはそうらしい。</p>
  <p>要するにCGIなりJSなりでASCII文字列を監視して、文字数によってはどうにかする手法。最後の手段？</p>
</dd>
</dl>
<h3>結論っぽいもの</h3>
<p>とりあえず、うちのサイトで使う分には&lt;pre&gt;タグ＋独自拡張タグで十分。何故なら、書くのも作るのも弄るのも俺だから。&lt;td&gt;の中に。そんな常識外な文字列は入れません。</p>
<p>仕事で使う分には、幾つか複合することになるだろうな～ ...ケース・バイ・ケースで。とりあえず<code>word-break: break-all;</code>と、&lt;wbr /&gt;タグを使えたら使って、最後に<code>overflow:hidden;</code>に頼る！ これでとりあえず一部のユーザによる表示崩れは防げる。</p>]]>
</content>
</entry>
<entry>
<title>サイト設立３周年</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/08/post_53.html" />
<modified>2006-08-05T12:45:56Z</modified>
<issued>2006-07-31T18:28:03Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.202</id>
<created>2006-07-31T18:28:03Z</created>
<summary type="text/plain">本日付で、当サイトは設立３周年を迎えました。思えばいろいろあったもんです。   ...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>

<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>本日付で、当サイトは設立３周年を迎えました。思えばいろいろあったもんです。</p>
<table border="1">
  <thead>
    <tr>
    <th>西暦</th>
    <th>肩書き</th>
    <th>状況</th>
    </tr>
  </thead>
  <tbody>
    <tr>
    <th>2003</th>
    <td>大学3年</td>
    <td style="text-align: left !important;">Sig's Archives設立。<br />ちょっと前の奨学金面接で「HTMLの勉強しようと思ってます」と言ってた記憶はある。そしてできたのが、このサイト。ちなみに無職。RO暦1年↑。</td>
    </tr>
    <tr>
    <th>2004</th>
    <td>大学4年</td>
    <td style="text-align: left !important;">年明けくらいから急にアクセス数伸びてきて、8月ごろには何かの間違いで参照数<strong>7,000/day</strong>を突破したりもした。急成長で、更新するのが一番楽しかった時期。<br />2月ごろから幾度かWeb系バイトに応募するも、採用なし。奨学金生活を送る。</td>
    </tr>
    <tr>
    <th>2005</th>
    <td>Web職2ヶ月</td>
    <td style="text-align: left !important;">まともな就職活動はせず、ひたすら勉強しながら月1ペースでWeb系面接。別サイトのリニューアルを繰り返し、その流れでこのサイトも4月に『ROSS』と改名。大学卒業から少し遅れ、5月末にコーダとして今の会社に入社。<br />以後、充実したリアルを送るも、サイト更新頻度は縮小する。</td>
    </tr>
    <tr>
    <th>2006</th>
    <td>Web職1年</td>
    <td style="text-align: left !important;">年末に社員に昇格。面接担当、後輩の指導、幾つかのプロジェクトを経験し、最近ようやく会社の利益に（微妙に）貢献できるようになってきました。ちなみに昇給したようです。<br />サイトの方はなんとか週2ペースの更新を維持しつつ、水面下でリニューアル作業を進行中。</td>
    </tr>
  </tbody>
</table>
<p>とゆ～ことで、新サイトを紹介。<br />
新しいサイトは、『<a href="http://archiva.jp/"><strong>Archiva</strong></a>』といいます。といっても、まだ<strong>静的1枚</strong>しか用意できてませんっ　...ホントは３周年に間に合わせるつもりだったのだけど... ま、まぁ機能テストはさんざしたので、正式な公開ももうすぐですよっ！ たぶん。おそらく。きっと。</p>]]>

</content>
</entry>
<entry>
<title>onclickで画像を入れ替える （改訂版）</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/onclick_1.html" />
<modified>2006-07-25T16:51:54Z</modified>
<issued>2006-07-25T16:39:37Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.201</id>
<created>2006-07-25T16:39:37Z</created>
<summary type="text/plain">以前つくったスクリプトを改造してみた。1つ前の記事の応用です。 ...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Javascript</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p><a href="/other/archives/2006/02/onclick.html">以前つくったスクリプト</a>を改造してみた。<a href="/other/archives/2006/07/onclickjs.html">1つ前の記事</a>の応用です。</p>
]]>
<![CDATA[
<script language="JavaScript" type="text/javascript">
window.onload = getSrc;

function getSrc()
{
  var x = document.getElementsByTagName('a');
  for (var i=0;i<x.length;i++)
  {
    if (x[i].getAttribute('className') == 'changeImg' || x[i].getAttribute('class') == 'changeImg')
    {
      x[i].onclick = function () {
      return changeImg(this.href)
      }
    }
  }
}

function changeImg(imgSrc) {
  document.getElementById('photo').src = imgSrc;
  return false;
}
</script>
 
 
<div style="text-align: center;">
  <p><img src="/other/archives/img/sample_no1.gif" alt="" id="photo" width="210"  /></p>
  <p>
    <a href="/other/archives/img/sample_no1.gif"  class="changeImg"><img src="/other/archives/img/sample_no1.gif" alt="1" width="60" /></a>
    <a href="/other/archives/img/sample_no2.gif"  class="changeImg"><img src="/other/archives/img/sample_no2.gif" alt="2" width="60" /></a>
    <a href="/other/archives/img/sample_no3.gif"  class="changeImg"><img src="/other/archives/img/sample_no3.gif" alt="3" width="60" /></a>
  </p>
</div>


<dl>
<dt>HTML</dt>
<dd>
<pre><code>  &lt;p&gt;&lt;img src="/other/archives/img/sample_no1.gif" alt="" id="photo" width="210"  /&gt;&lt;/p&gt;
  &lt;p&gt;
    &lt;a href="/other/archives/img/sample_no1.gif"  class="changeImg"&gt;&lt;img src="/other/archives/img/sample_no1.gif" alt="1" width="60" /&gt;&lt;/a&gt;
    &lt;a href="/other/archives/img/sample_no2.gif"  class="changeImg"&gt;&lt;img src="/other/archives/img/sample_no2.gif" alt="2" width="60" /&gt;&lt;/a&gt;
    &lt;a href="/other/archives/img/sample_no3.gif"  class="changeImg"&gt;&lt;img src="/other/archives/img/sample_no3.gif" alt="3" width="60" /&gt;&lt;/a&gt;
  &lt;/p&gt;</code></pre>
</dd>

<dt>Javascript</dt>
<dd><pre><code>window.onload = getSrc;

function getSrc()
{
  var x = document.getElementsByTagName('a');
  for (var i=0;i&lt;x.length;i++)
  {
    if (x[i].getAttribute('className') == 'changeImg' || x[i].getAttribute('class') == 'changeImg')
    {
      x[i].onclick = function () {
      return changeImg(this.href)
      }
    }
  }
}

function changeImg(imgSrc) {
  document.getElementById('photo').src = imgSrc;
  return false;
}
</code></pre></dd>
</dl>]]>
</content>
</entry>
<entry>
<title>Onclickを用いないポップアップJS</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/onclickjs.html" />
<modified>2006-07-26T01:11:36Z</modified>
<issued>2006-07-25T16:07:49Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.200</id>
<created>2006-07-25T16:07:49Z</created>
<summary type="text/plain"><![CDATA[単純なモノほど、奥が深い。一般的にポップアップ・ウィンドウは、 &lt;a hr...]]></summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Javascript</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>単純なモノほど、奥が深い。一般的にポップアップ・ウィンドウは、</p>
<pre><code>&lt;a href="#" <strong>onclick</strong>="winOpen('./popup.html')"&gt;</code></pre>
<p>...みたいな感じで起動するんですが、ふと思いたってonclickの代わりに<strong>classでポップアップさせる</strong>よう改造してみました。これでどうなるかって言うと、</p>
<script type="text/javascript"><!--
window.onload=autoPOP;

function autoPOP()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')
		{
			x[i].onclick = function () {
			return winOpen(this.href)
			}
			x[i].title += '(Popup)';
		}
	}
};

function winOpen(url) {
	window.open(
		url,
		'popup',
		'width=520,height=340,scrollbars=0,resizable=1'
	);

	return false;
};
// -->
</script>
<pre><code>&lt;a href="./popup.html" <strong>class</strong>="popup"&gt;</code></pre>
<p>...みたいな感じで、まんま普通のHTMLになります ...とりあえず、<a href="http://google.com/" class="popup">こんな感じ</a>。</p>]]>
<![CDATA[<h3>サンプル</h3>
<dl>
<dt>HTML</dt>
<dd>
<pre><code>&lt;a href="aaa.com" class="popup"&gt;ポップアップ&lt;/a&gt;</code></pre>
</dd>
<dt>Javacript</dt>
<dd>
<pre><code>window.onload=autoPOP;

function autoPOP()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i&lt;x.length;i++)
	{
		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')
		{
			x[i].onclick = function () {
			return winOpen(this.href)
			}
			x[i].title += '(Popup)';
		}
	}
};

function winOpen(url) {
	window.open(
		url,
		'popup',
		'width=520,height=340,scrollbars=0,resizable=1'
	);

	return false;
};</code></pre>
</dd>
</dl>

<h3>感想</h3>
<p>なんとなく作ってみたけど、なんかいろいろ応用が効きそうです。winOpen()だけでも使えるし。getAttribute()でページ内を走査する部分とか、onloadイベントにする部分とか、onclickイベントを付与する部分とか。</p>
<p>これが一番興味深いんだけど... トリガをclassにしたことで、対象へのピンポイントなCSS指定が可能となる。この場合だと、たとえば&lt;a&gt;によるリンクの中でも<strong>ポップアップ・リンクだけに</strong>それと判るアイコンを付けたりとか。</p>]]>
</content>
</entry>
<entry>
<title>ポップアップJS、文法と記述例</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/js.html" />
<modified>2006-07-25T16:07:44Z</modified>
<issued>2006-07-25T15:22:04Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.199</id>
<created>2006-07-25T15:22:04Z</created>
<summary type="text/plain">簡単なものほど忘れやすい。その典型ともいうべき、ポップアップ・ウィンドウを展開す...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Javascript</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>簡単なものほど忘れやすい。その典型ともいうべき、ポップアップ・ウィンドウを展開するJavascript。文法と一般的な記述をサクっと纏めておきます。</p>
<h3>文法</h3>
<pre><code>window.open('url to open','window name','attribute1,attribute2');

window.open(
	'http://www.aaa.com/',
	'popup',
	'width=400,height=200,
	 toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,
	 copyhistory=yes,resizable=yes'
);</code></pre>]]>
<![CDATA[<h3>ブラウザ独自拡張</h3>
<dl>
<dt>screenX=100</dt>
<dd>Netscape 4↑。ウィンドウの位置を左端からピクセルで指定する。</dd>
<dt>screenY=100</dt>
<dd>Netscape 4↑。ウィンドウの位置を上端からピクセルで指定する。</dd>
<dt>left=100</dt>
<dd>IE 4↑。ウィンドウの位置を左端からピクセルで指定する。</dd>
<dt>top=100</dt>
<dd>IE 4↑。ウィンドウの位置を上端からピクセルで指定する。</dd>
<dt>ex.</dt>
<dd>
<pre><code>window.open('jex5.htm','mywindow','width=400,height=200,left=0,top=100,screenX=0,screenY=100')</code></pre>
</dd>
</dl>


<h3>使用例</h3>
<dl>
<dt>HTML</dt>
<dd><pre><code>&lt;a href="popup.html" onclick="return winOpen('popup.html')"&gt;Link to popup&lt;/a&gt;</code></pre>
</dd>
<dt>Javascript</dt>
<dd>
<pre><code>function winOpen(url) {
	window.open(
		url,
		'popup',
		'width=520,height=340, scrollbars=0, resizable=1'
	);

	return false;
}</code></pre>
</dd>
</dl>


<p>参照 : <a href="http://www.quirksmode.org/js/popup.html">QuirksMode, <cite>Popups</cite></a></p>]]>
</content>
</entry>
<entry>
<title>新サイト進捗状況</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/post_55.html" />
<modified>2006-07-23T15:50:48Z</modified>
<issued>2006-07-23T15:18:57Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.198</id>
<created>2006-07-23T15:18:57Z</created>
<summary type="text/plain">「やるよ～」と言いつつ軽く半年は経過している、サイトリニューアル状況について。 ...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>

<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>「やるよ～」と言いつつ軽く半年は経過している、サイトリニューアル状況について。</p>
<ol>
<li><del>基礎設計（方針・使用ツール決定）</del></li>
<li><del>サーバー準備（ドメイン含む）</del></li>
<li><del>動作テスト</del></li>
<li><del>デザイン</del></li>
<li>コーディング</li>
<li>システム調整</li>
<li>記事移行</li>
<li>仮公開</li>
<li>微調整</li>
<li>公開・運営</li>
</ol>
<p>現在、1枚コーディングしてみたとこ。なんとか8月には仮公開まで持っていきたい。</p>
<p>ん～時間かかった～＾＾；<br />
やっぱデザインがネックですわ。既にあるものを追加・編集・改良するのは楽なんだけど、一から作るのってパワー要るね。コーディングは楽なんだけど... 今後はデザインもこなせるようにならなくてわ。</p>]]>

</content>
</entry>
<entry>
<title>結婚式、いってきました</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/post_54.html" />
<modified>2006-07-18T05:00:48Z</modified>
<issued>2006-07-17T16:18:56Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.197</id>
<created>2006-07-17T16:18:56Z</created>
<summary type="text/plain"><![CDATA[昨日&mdash;&mdash;いや、もう一昨日か&mdash;&mdash;先...]]></summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Business</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>昨日&mdash;&mdash;いや、もう一昨日か&mdash;&mdash;先輩の結婚式に行ってきました。成人してから初めての結婚式です。常識とか作法とか、いろいろと勉強になりましたよ。今後のために軽く纏めておきます。あ、先輩！ おめでとうございます。</p>
<ul>
<li>ブラックスーツ（略礼服）</li>
<li>白シャツ（レギュラーカラー）</li>
<li>白タイ（ややカジュアル）</li>
<li>白チーフ（スリーピークで）</li>
<li>タイピン（なんとなく）</li>
<li>革靴（黒。普通のものを、しっかり磨く）</li>
<li>袱紗（慶弔両用の紫）</li>
<li>祝儀袋（350円程度）</li>
<li>祝儀（金弐万円）</li>
</ul>
<p>上記は、当日の服装および持っていったもの。<br />式自体は「気軽に楽しんでもらおう」という意向のもとで、特に格式ばったところもなく、二次会なしで、つつがなく終了しました。したがって特に失敗もなし。素直に料理と進行を楽しみました。良い料理出てたな～＾＾</p>
<p>以下、感想とまとめ、細かい反省点など。</p>]]>
<![CDATA[<dl>
<dt>祝儀</dt>
<dd>包んだのは2万円。新札。銀行で両替。1万円札と5千円札×2。悪くはないのですが、せめて3は包みたかった。常識のラインでは、兄弟や叔父・叔母なら10万円、親族なら5万円、その他は3万円... 貯金は、大切ね＾＾；</dd>
<dt>祝儀袋の表書き</dt>
<dd>ボールペンや万年筆は<strong>不可</strong>、とのことで、がんばって毛筆で書きました ...めっちゃ汚い。それに時間もかかった。どうせ俺はIT系さ～っ ...そして『<a href="http://www.amazon.co.jp/gp/product/4591090892/249-3293947-3479528?v=glance&n=465392">えんぴつで奥の細道</a>』を購入。</dd>
<dt>黒のスーツ</dt>
<dd>悪くなかった。みんな似たような格好だったし、男の服装なんて誰も気にしない。ただ黒スーツが準礼装として通用するのは日本だけ。昼はディレクターズスーツ。夜ならタキシードが世界共通。モーニングや燕尾服は、今どき仮装かと思われる。日本だと無難だけど、ディレクターズスーツなら、胸を張ってどこにでも行ける。そこは頭に入れといたほうが良いかも。</dd>
</dl>

<p>チーフにアイロンは、掛けとくべきだった。そして長財布が欲しくなった。そんな感じ。</p>]]>
</content>
</entry>
<entry>
<title>ニールセン博士のHPガイドライン</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/hp.html" />
<modified>2006-07-12T16:29:13Z</modified>
<issued>2006-07-12T15:46:08Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.194</id>
<created>2006-07-12T15:46:08Z</created>
<summary type="text/plain">Jakob Nielsen（ヤコブ・ニールセン）は、サン・マイクロシステムズ社の...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Usability</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>Jakob Nielsen（ヤコブ・ニールセン）は、サン・マイクロシステムズ社の元エンジニアにして、Nielsen Norman Groupの現共同経営者。ユーザビリティ工学の開拓。とりわけWebにおけるユーザビリティでは世界を代表する専門家であり、Web制作者が「ユーザビリティ」を勉強するとき、必ず目にすることになる著名人です。</p>
<p>彼自信が運営する<a href="http://www.useit.com/">サイト</a>にて'95年から掲載されているコラム『Alertbox』は（デザインはアレだけど）Web制作者のバイブルとして長年読み続けられています。Web標準で言う<a href="http://alistapart.com/">ALA</a>みたいなものかな？</p>
<p>『Alertbox』には<a href="http://www.usability.gr.jp/alertbox/index.html">日本語訳</a>も用意されていますが、それはそれとして、今回取り上げるのは彼の著書『<a href="http://www.amazon.co.jp/gp/product/4844356402/249-3293947-3479528?v=glance&n=465392">ホームページ・ユーザビリティ</a>』（2002年）で纏められたホームページ（サイトのトップページね）におけるガイドライン。この名著を読み返すついでにサクっと抜粋してみました。</p>]]>
<![CDATA[<h3>サイトの目的を伝える</h3>
<ul>
<li>会社名やロゴを適切なサイズで目に付く場所に置くこと</li>
<li>サイトまたは会社が何を行っているかを、明確に示すタグラインを置くこと      </li>
<li>ユーザーに対して、そのサイトがどのような付加価値を提供し、競合会社とどこが違うのかを強調すること</li>
<li>優先順位の高いタスクを強調して、ホームページでの操作の開始点を示すこと</li>
<li>1つのサイトにつき、1つのページだけを明確な公式ページにすること</li>
<li>会社のWebサイト上では、その会社のWebに存在するもの全体を指す場合以外に「website（ウェブサイト）」という言葉を使わないこと</li>
<li>ホームページをサイト内のほかの全てのページと明確に異なるデザインにすること </li>
</ul>


<h3>会社に関する情報を伝える</h3>
<ul>
<li>「About Us（私たちについて。会社情報）」「Investor Relation（株主・投資家向け情報）」「Press Room（プレスリリース）」「Employment（雇用情報）」などの会社情報をひとまとめにし、独立した領域に置くこと</li>
<li>会社の概要をユーザーに知らせる「About Us（私たちについて。会社情報）」と、商品、サービス、経営理念、事業計画、経営陣などの関連情報へのリンクをホームページに含めること</li>
<li>会社に関する報道記事を集めるのであれば、ホームページに「Press Room（プレスリリース）」または「News Room（ニュース）」というリンクを入れること</li>
<li>Webサイトがそれ自体独立した存在でなく、顧客との接触点のひとつになるように、顧客に対して見せる顔を統一すること</li>
<li>連絡先情報を掲載したページへ行くための「Contact Us（お問い合わせ）」というリンクをホームページに含めること</li>
<li>"フィードバック"の手段を提供するなら、そのリンクの目的と、それがどこで読まれるか（カスタマーサービス、ウェブマスターなど）を示すこと</li>
<li>一般公開するWebサイトに会社の内部情報（社員向けのイントラネットで掲載すべき情報）を含めないこと</li>
<li>サイトで何らかの顧客情報を集めたければ、「Privacy Policy（プライバシーポリシー）」のリンクをホームページに含めること</li>
<li>自明である場合以外は、ウェブサイトがどのように利益を得ているかを説明すること </li>
</ul>


<h3>コンテンツの書き方</h3>
<ul>
<li>顧客に照準を合わせた言葉を使い、セクションやカテゴリーの名前は会社にとっての意味ではなく、顧客にとっての意味のあるものにすること</li>
<li>冗長なコンテンツは避けること</li>
<li>人々が理解に苦しむ才気ばしった言葉やマーケティングの<strong>専門用語は使わない</strong>こと</li>
<li>一貫した大文字小文字の表記とそのほかのスタイル規則を使うこと</li>
<li>ページ内の特定のコンテンツが十分自明であれば、その明確に特徴づけられた領域にはラベルを付けないこと</li>
<li>項目が１つだけのカテゴリー、および、項目が１つだけの箇条書きは避けること</li>
<li>分割させたくない語句の単語間に区切りなしスペースを入れて、読みやすさとわかりやすさを確保すること</li>
<li>入力などが必須の場合は「Enter a City or Zip Code（都市名または郵便番号を入力してください）」などの命令形を使うか、または指示に適切な説明を入れておくこと</li>
<li>略語、頭文字、頭字語の省略しない形を示し、以降で出てくるときは省略形を使って記述すること</li>
<li><strong>感嘆符の使用は避ける</strong>こと</li>
<li>大文字ばかりの表現は控えめにするか、またはまったく使わないこと</li>
<li>強調のためにスペースや句読点を不適切に使うのは避けること </li>
</ul>


<h3>実例を挙げてコンテンツを紹介する</h3>
<ul>
<li>サイトのコンテンツを紹介するには、ただ説明するのではなく、実例を使うこと</li>
<li>それぞれの実例には、その項目の詳細を記したページに、直接進むリンクを設定すること</li>
<li>項目がページの一部であるような、一般的なカテゴリーページへ進むべきではない</li>
<li>特定の実例の近くにより広いカテゴリーへのリンクを置くこと</li>
<li>どのリンクが個々の実例に関する情報へ進み、どのリンクがそのカテゴリー全般に関する一般的な情報へ進むかをはっきりさせること </li>
</ul>


<h3>過去のコンテンツにアクセスできるようにする</h3>
<ul>
<li>最近までホームページ上で取り上げられていた特集に簡単にアクセスできるようにすること（過去2週間あるいは1ヶ月分程度）。そして、最近の特集の一覧を作り、アーカイブにも最近の項目を置いておく</li>
</ul>


<h3>リンク</h3>
<ul>
<li>リンクを識別しやすくし、パッと見ただけでわかるようにすること</li>
<li>リンク名として「<strong>Click Here</strong>（ここをクリック）」などの漠然とした指示を<strong>使わない</strong>こと</li>
<li>項目の一覧の後ろに「<strong>More...</strong>（続き）」などの不特定多数を表すリンクを<strong>置かない</strong>こと</li>
<li>訪問前のリンクと訪問済みリンクを色で見分けられるようにすること</li>
<li>ページ上にあるリンクを示すために「Links（リンク）」という語を使わないこと。下線を付け、色を青にすればリンクだということはすぐにわかる</li>
<li>リンクをクリックしても別のWebページに行かない場合（PDFにリンクしている、またはオーディオやビデオのプレーヤー、電子メールプログラム、そのほかのアプリケーションを起動するような場合）は、リンクをクリックすると何が起きるのかを必ずj明確に示すこと </li>
</ul>


<h3>ナビゲーション</h3>
<ul>
<li>主要なナビゲーション領域を特に目立つ場所に置くこと。できればページのメイン領域に隣接させること</li>
<li>ナビゲーション領域内の項目をグループにまとめて、似たような項目が隣り合うようにすること</li>
<li>同じ種類のリンクを提供するために複数のナビゲーション領域を作らないこと</li>
<li>ホームページ上にホームページへ行くためのリンクを作らないこと            </li>
<li>カテゴリーのナビゲーション選択肢に造語を使わないこと。カテゴリーはそれぞれが簡単に区別できなければならない。ユーザーがあなたの作った言葉を理解できなければ、カテゴリーを区別することも不可能だ</li>
<li>サイトにショッピングカート機能がある場合は、そこへのリンクをホームページ内に含めること</li>
<li>ナビゲーションでアイコンを使うのは、それが項目の種類（たとえば、新規項目、販売中の商品、ビデオコンテンツなど）をすぐに判別するために有効な場合に限ること </li>
</ul>


<h3>検索</h3>
<ul>
<li>ホームページ上に検索ページに行くためのリンクを置くのではなく、検索ボックスを置いて、その場で質問を入力できるようにすること</li>
<li>検索ボックスは十分に広くし、ユーザーがそのサイトで標準的な質問を入力した際に語句が確認または編集しやすいようにすること</li>
<li>検索のための領域に見出しはつけないこと。代わりに「Search（検索）」ボタンを検索ボックスの右に置こう</li>
<li>サイトで日常的に高度な検索機能を使うのでない限り、ホームページではシンプルな検索機能を提供し、（もしあれば）高度な検索または検索のヒントへのリンクを添えること</li>
<li>ホームページ上に置いた検索機能では、初期状態でサイト全体が検索されるようにすること</li>
<li>サイトの検索機能を使ってWeb全体を検索できるように<strong>しない</strong>こと </li>
</ul>


<h3>ツールとショートカット</h3>
<ul>
<li>優先順位の高いタスクについてはホームページから直接アクセスできるようにすること</li>
<li>ユーザーがサイトを訪れる目的と関係のないタスクに関わるツールは含めないこと</li>
<li>ブラウザが持つ機能を再現するためのツールは提供しないこと。たとえば、そのページをブラウザの開始時に表示するように設定する、あるいは、ブックマークを設定するなどのツールは不要だ </li>
</ul>


<h3>グラフィックスとアニメーション</h3>
<ul>
<li>グラフィックスはただホームページを装飾するために使うのでなく、実際の内容を見せるために使うこと</li>
<li>グラフィックスや写真の意味がその文脈でわかりにくい場合は、それらにラベルを付けること</li>
<li>写真や図は表示サイズに適合するように編集すること        </li>
<li>ウォーターマークグラフィックス（テキストの下に敷く背景イメージ）の使用は避けること</li>
<li>ホームページ上の特定の項目を注目させるためだけの目的でアニメーションを使わないこと。アニメーションはほかの要素の印象を弱めるため、明確な意図がない限りホームページで使うべきではない</li>
<li>ロゴ、タグライン、見出しなど、ページ内の重要な要素をアニメーションにしないこと</li>
<li>アニメーションのイントロを表示するかどうかを、ユーザーが選べるようにすること。アニメーション表示をデフォルトにしてはならない </li>
</ul>


<h3>グラフィックデザイン</h3>
<ul>
<li>文字ができるだけ読みやすくなるように、テキストと背景色の<strong>コントラストを高くする</strong>こと</li>
<li>800×600ピクセルの画面で横方向にスクロールしないですむようにすること    </li>
<li>最も重要なページ要素は、一般的なウィンドウサイズの"折り畳んだ上の部分"（スクロールしなくても見えている部分）に配置すること</li>
<li>リキッドレイアウトを使い、異なる画面解像度でもホームページのサイズが調整されるようにすること</li>
<li>ロゴは慎重に使うこと </li>
</ul>


<h3>ユーザーインターフェイスの部品</h3>
<ul>
<li>ユーザーインターフェイスの部品を画面上のクリックしてもらいたくない場所に使わないこと</li>
<li>ホームページ上で複数のテキスト入力ボックスを使うのは避けること。特にページ上部はユーザーが検索機能を期待する場所なので避けたほうがいい</li>
<li>ドロップダウンメニューの使用は控えめにすること。特に、中に入れる項目がはっきりしていない場合は使わないほうがいい </li>
</ul>


<h3>ウィンドウタイトル</h3>
<ul>
<li>ウィンドウタイトルの先頭は具体的な方法が含まれた語（通常は会社名）にすること</li>
<li>ウィンドウタイトルに「.com」などの最上位ドメイン名を含めないこと。ただし、それが正式な会社名の一部である場合（Amazon.comなど）は例外とする</li>
<li>ウィンドウタイトルに「homepage」という語を含めないこと。冗長なだけで何の意味もない</li>
<li>ウィンドウタイトルにサイトの簡単な説明を入れること</li>
<li>ウィンドウタイトルはせいぜい7、8語、文字数にして半角64文字よりは短くすること</li>
<li>商用ウェブサイトのホームページは「http://www.会社名.com」という形（または自分の国や商用以外の最上位ドメインに適した形）のURLにすること</li>
<li>米国以外の特定の国に強く結びついた内容を持つウェブサイトの場合は、その国の最上位ドメインを使うこと</li>
<li>可能であれば、サイト名の別の綴り、省略形、よくあるスペルミスについてもドメイン名を登録すること</li>
<li>別の綴りのドメイン名がある場合、どちらかを正式なものにし、そのほかのドメイン名を入力したユーザーはそこへリダイレクトされるようにすること </li>
</ul>


<h3>ニュースとプレスリリース</h3>
<ul>
<li>見出しは簡単明瞭で、しかも説明的なものにし、少ない語句でできる限り多くの情報を与えること</li>
<li>ホームページで特集するニュースやプレスリリースの要約は、新たに記述して編集すること</li>
<li>記事全文へのリンクは要約でなく見出しにつけること</li>
<li>ホームページ上のニュースが1週間以内に発生したものであるなら、頻繁に更新される速報でもない限り、記事の要約に日付と時間を記す必要はない </li>
</ul>


<h3>ポップアップウィンドウと中間ページ</h3>
<ul>
<li>ユーザーがサイトのURLを入力したり、サイトへのリンクをクリックしたときには、"本当の"ホームページに行けるようにすること  </li>
<li>ポップアップウィンドウの使用は避けること</li>
<li>サイトに各言語用のバージョンが多数あり、主に使用する言語が複数ある場合以外は、ユーザーが地理的な位置を選択するために振り分けページ（routing page）を使わないこと </li>
</ul>


<h3>広告</h3>
<ul>
<li>別の会社の広告はページの周辺部分にとどめておくこと</li>
<li>外部広告（別の会社のための広告）は、ホームページの中心的なコンテンツに比べてできるだけ小さく控えめにすること</li>
<li>ページ上部の標準的なバナー領域以外に広告を置くなら、それが広告だとわかるようなラベルを付けて、ユーザーがサイトのコンテンツと混同しないようにすること</li>
<li>サイトで定期的に組んでいる特集を提示する場合、広告の慣例的手法を使うのは避けること </li>
</ul>


<h3>「ようこそ」</h3>
<ul>
<li>サイトに来たユーザーを<strong>うわべだけの言葉で歓迎しない</strong>こと。ホームページ上の大事なスペースを挨拶で埋めてしまう前に、そこにタグラインを入れることを考えよう</li>
</ul>


<h3>技術的な問題の伝達と緊急事態への対応</h3>
<ul>
<li>ウェブサイトが停止したり、サイト上の重要な機能が利用できなくなった場合は、その旨をホームページではっきりと示すこと</li>
<li>緊急事態発生時にウェブサイト上の重要なコンテンツをどう処理するかの計画を立てておくこと </li>
</ul>


<h3>クレジット</h3>
<ul>
<li>検索エンジン、デザイン会社、お気に入りのブラウザの開発ベンダー、それにサイトで使用している製品やテクノロジーに対する謝辞でスペースを無駄にしないこと</li>
<li>ウェブサイトが獲得したアワード（賞）を表示する場合は、適度な制約を設けること </li>
</ul>


<h3>ページの再読み込みと再表示</h3>
<ul>
<li>ホームページを自動的に再表示してユーザーにページの更新を押し付けないこと</li>
<li>再表示を行うときには、ニュース項目など実際に変更されたコンテンツだけを更新すること</li>
</ul>


<h3>カスタマイズ</h3>
<ul>
<li>ホームページ上に特定の既知のユーザー向けにカスタマイズした情報を表示する場合、初めて訪れるユーザーに対しては、同じコンテンツの一般的なバージョンを提供してはならない。代わりに、その領域用に異なるコンテンツを制作すること</li>
<li>ホームページの基本的な外観（色づかいなど）をカスタマイズするための機能をユーザーに提供しないこと </li>
</ul>


<h3>顧客データの収集</h3>
<ul>
<li>ホームページ上に登録のためのリンクをそのまま置かないこと。その代わりに、登録することの利点を説明するか、少なくとも説明へのリンクを提供すべきだ</li>
<li>ユーザーに電子メールアドレスの入力を求める前に、発行物の内容と発行頻度を説明すること </li>
</ul>


<h3>コミュニティの育成</h3>
<ul>
<li>ユーザーコミュニティのためにチャットやそのほかの討論機能を設ける場合、それらへの総括的なリンクは提供しないこと</li>
<li>ビジネスサイトでは"ゲストブック"サインインは提供しないこと </li>
</ul>


<h3>日付と時間</h3>
<ul>
<li>日付と字間は、ニュース項目、ライブチャット、株式情報など、時間が重要である情報についてのみ表示すること</li>
<li>時刻を表示する場合は、コンピュータが自動生成する現在の時間ではなく、コンテンツが最後に<strong>更新された時間</strong>を表示すること</li>
<li>時間を表示するときには使用しているタイムゾーンも含めること</li>
<li>「p.m.」または「P.M.」など、標準的な省略形を使うこと</li>
<li>月は数字でなく名前（または月名の省略形）で書くこと </li>
</ul>


<h3>株式情報と数値の表示</h3>
<ul>
<li>株式情報では値動きの値だけでなく、変動のパーセンテージも載せること</li>
<li>株式銘柄略称が「IBM」などはっきりわかるものでない限り、略さないで書くこと</li>
<li>5桁以上の数値には、言語に合った区切り記号を3桁ごとに挿入すること</li>
<li>数値を表の列に並べて表示する場合は、<strong>小数点を揃える</strong>こと</li>
</ul>

<ins>追記</ins>
<p>数が数だし、リストにしただけなのでお世辞にも見やすくはないけれど。大丈夫っ！ 俺はすっごく勉強になった（違<br />
あ、ちなみに。この本で一番凄いのは有名な米国32サイトの詳細な図付き解説なんで。ちょっと古いけど、今でもじゅうぶん通じるさ。いちおう宣伝しとくよ～。</p>
<p></p>]]>
</content>
</entry>
<entry>
<title>CSSだけで折り畳みメニュー</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/css_2.html" />
<modified>2006-07-11T02:44:15Z</modified>
<issued>2006-07-10T16:33:17Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.193</id>
<created>2006-07-10T16:33:17Z</created>
<summary type="text/plain">短期の案件で作る機会があったので、晒してみます。 もともとテスト用にサクっと作っ...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>HTML/CSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>短期の案件で作る機会があったので、晒してみます。<br />
もともとテスト用にサクっと作ったものなので、細部は粗いです。あしからず。</p>
<ul>
<li>表示確認 : IE 5-6, Opera, Firefox, Safari, Firefox-mac, IE-mac</li>
<li>展開部分の背景に透過PNGを使用（IE5.5以降）</li>
<li>JS部分はか・な・り適当。（無くてもIE意外なら動作するので）</li>
</ul>
<p>作っといてなんですが、折り畳みメニューはユーザビリティ低いです。ちゃんと選択するのは、マウスの扱いに慣れた人でないと意外と難しい。嘘みたいですが本当です。卒論でユーザテストまでやった俺が言うんだから、間違いない（ぉ</p>
<p>はい、前置き終わり。それでも「俺は俺の道を行くぜっ」てな剛毅な方々は、続きをどうぞ。食わず嫌いも良くないしっ</p>]]>
<![CDATA[<h3>HTML</h3>
<p>まぁ、普通サイズ。</p>
<pre><code>&lt;!-- navigation --&gt;
&lt;div id="navigation"&gt;
  &lt;ul&gt;
  &lt;li id="n1"&gt;&lt;a href="./"&gt;HOME&lt;/a&gt;&lt;/li&gt;
  &lt;li id="n2"&gt;&lt;a href="./service/research.html" onmouseover="openMenu('fm1');return false;" <del>onclick="closeMenu('fm1');return false;"</del> onmouseout="closeMenu('fm1');return false;"&gt;サービス概要&lt;/a&gt;
    &lt;ul id="fm1" onmouseover="openMenu('fm1');return false;" onmouseout="closeMenu('fm1');return false;"&gt;
    &lt;li&gt;&lt;a href="./service/research.html"&gt;マーケティングリサーチ&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="./service/promotion.html"&gt;セールスプロモーション&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="./service/sport.html"&gt;スポーツ事業&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="./service/stuff.html"&gt;人材派遣&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="./service/video.html"&gt;映像制作&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="./service/goods.html"&gt;商品販売&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li id="n3"&gt;&lt;a href="./about.html"&gt;会社概要&lt;/a&gt;&lt;/li&gt;
  &lt;li id="n4"&gt;&lt;a href="./policy.html"&gt;プライバシーポリシー&lt;/a&gt;&lt;/li&gt;
  &lt;li id="n5"&gt;&lt;a href="./inquiry.html"&gt;お問い合せ&lt;/a&gt;&lt;/li&gt;
  &lt;li id="n6"&gt;&lt;a href="./sitemap.html"&gt;サイトマップ&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</code></pre>
<p class="note">2006年07月11日、onclickを削除。これでこの部分のリンク有効となる。</p>

<h3>JS</h3>
<p>ちょ～短い。5分で書いたテキトーコード。</p>
<pre><code>function openMenu(a) {
	document.getElementById(a).style.display = 'block';
}
function closeMenu(a) {
	document.getElementById(a).style.display = 'none';
}
</code></pre>

<h3>CSS</h3>
<p>はい、本番。覚悟はOK？</p>
<pre><code>/* navigation
-------------------------------------------------------------- */

#navigation {
	position: relative;
	z-index: 5;
	width: 766px;
	height: 40px;

	background: #fff url(../img/bg_navigation.gif) no-repeat top center;
}
#navigation ul {
	list-style-type: none;
}
#navigation li {
	position: absolute;
	top: 2px;
}
#navigation a {
	display: block;
	width: 123px;
	height: 36px;
	
	background: transparent url() no-repeat top right;
	text-indent: -12300px;
}
* html #navigation a {
	position: absolute; /* for IE-win */
}


/* --- hover --- */

#n1 a { width: 124px; }
#n6 a { width: 125px; }

#n1 { left: 5px;}
#n2 { left: 132px;}
#n3 { left: 258px;}
#n4 { left: 384px;}
#n5 { left: 510px;}
#n6 { left: 636px;}

#n1 a { background-image: url(../img/bg_n1.jpg); }
#n2 a { background-image: url(../img/bg_n2.jpg); }
#n3 a { background-image: url(../img/bg_n3.jpg); }
#n4 a { background-image: url(../img/bg_n4.jpg); }
#n5 a { background-image: url(../img/bg_n5.jpg); }
#n6 a { background-image: url(../img/bg_n6.jpg); }

#navigation a:hover,
.home #n1 a,
.service #n2 a {
	background: none !important;
}


/* --- foldingMenu --- */

#navigation li ul {
	display: none;
	position: absolute;
	top: 36px;
	left: 0px;
	width: 200px;
	
	/* 半透明画像を使用する指定（モダンブラウザ用） */
	background: transparent url(../img/transparent.png) repeat center !important;
	/* 半透明画像を使用する指定（IE用） */
	background: none;
}

#navigation li li {
	position: static;
	border: 1px solid #999;
	border-width: 0 0 1px 1px;
	padding: 0;
	margin: 0;
}
#navigation li ul a {
	position: static;
	width: auto !important;
	width: 200px; /* for IE */
	height: auto;
	border-right: 1px solid #ccc;
	padding: 2px 5px 2px 15px;
	margin: 0;
	
	color: #333;
	text-align: left;
	text-indent: 0;
	text-decoration: none;
	font-weight: bold;

	/* 半透明画像を使用する指定（IE用） ※絶対パスで指定しなければならない */
	background: none;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="http://aaa.com/img/transparent.png", sizingMethod="scale");
}
#navigation li ul a:hover {
	color: #fff;
	background-color: #546a2e !important;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled="false");
}



#navigation li:hover ul,
#navigation li ul:hover {
	display: block; 
}
</code></pre>

<h3>備考</h3>
<p>あ、ちなみに。<br />
元は背景画像を利用したナビゲーションなんで、コピペしただけだと真っ白ですよ～、と。使いたい人は該当部分をカスタムしましょ？ もっとちゃんとしたものが作りたい人は、このへんを参考にすると良いでしょう。</p>
<ul>
<li><a href="http://alvit.de/css-showcase/css-navigation-techniques-showcase.php">CSS Navigation Techniques</a> (<cite>CSS Showcase</cite>)</li>
</ul>]]>
</content>
</entry>
<entry>
<title>昨日の白化現象について</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/post_52.html" />
<modified>2006-07-10T16:32:58Z</modified>
<issued>2006-07-10T16:00:18Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.192</id>
<created>2006-07-10T16:00:18Z</created>
<summary type="text/plain">昨日、このブログが真っっ白になってた件について。 ...いや、ぶっちゃけ俺が悪い...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>Web</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>昨日、このブログが真っっ白になってた件について。 ...いや、ぶっちゃけ俺が悪い。別にCGミスったとかクラックされたとかじゃなくて。XREAの仕様とでも言いますか。</p>
<ol>
<li>XREAに鯖代払うの忘れてた</li>
<li>無料プランに戻った</li>
<li>ディスク使用量が無料プランの許容量を超えちゃった</li>
<li>容量超過で書き込み禁止</li>
<li>ファイル出力系プログラムが動作せず → MT真っ白</li>
</ol>
<p>元ファイルが消えたわけではないので、こうして復帰できてるわけですが。広告表示されて初めて気づいた俺ってば... ＾＾； いや、XREAはご丁寧にも期限が近づくと何回かメールで警告してくれるんですが。光回線への変更でメアド変わってて気付けませんでした。はっはっは（乾</p>
<p>まぁおかげで気付いたんですが、このアカウント。ファイル数<strong>4842</strong>だそうです。おぉ、いつの間にっ。改めて数字にすると感慨深いものがあるね。</p>]]>

</content>
</entry>
<entry>
<title>優れたコードを書く、３つの視点</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/07/post_51.html" />
<modified>2006-07-03T17:27:12Z</modified>
<issued>2006-07-03T16:59:03Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.190</id>
<created>2006-07-03T16:59:03Z</created>
<summary type="text/plain">Webサイトを組む時、いつも3つのことを考えてコードを書くようにしています。「俺...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>HTML/CSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p>Webサイトを組む時、いつも3つのことを考えてコードを書くようにしています。「俺は凄いんだぞ～」とか言いたい訳じゃなくて（ごめん、ホントはちょっと言いたい）、単にそうする必要がある。</p>
<ul>
<li>効率性。サイト全体を作り終えた時にも、シンプルな継承関係が維持できていること。</li>
<li>操作性。システムを組み込む際、手間の掛からない妥当なモジュール構造であること。</li>
<li>拡張性。第三者による更新・修正・拡張を前提とした余裕のあるデザインであること。</li>
</ul>
<p>コーダーであるならば、ブラウザ互換をクリアしていること、Web標準に準拠していること、サンプル画像を再現していることとかは当然として、さらに+αを提供しなければならない ...という話。もちろんスピードも大切です。考えすぎて時間喰ってるようじゃあ、意味がないよね。</p>
<p>HTML(CSS)コーディングはサイト制作の基礎の基礎にあたる部分で、この段階での設計は後の開発スピードにダイレクトに影響します。ぱっと見は同じように見えたとしても、巧く組まれたコードはプロジェクトの進行に確かに貢献しています。それを体験してもらうことが本職コーダーの醍醐味ではないかな、と思ったりするわけです。</p>]]>

</content>
</entry>
<entry>
<title>IE-winでも透過PNGは利用できる</title>
<link rel="alternate" type="text/html" href="http://ross.archiva.jp/other/archives/2006/06/iewinpng.html" />
<modified>2006-12-14T01:51:29Z</modified>
<issued>2006-06-28T16:04:22Z</issued>
<id>tag:ross.archiva.jp,2006:/other/1.189</id>
<created>2006-06-28T16:04:22Z</created>
<summary type="text/plain">※この記事は追記・編集して新サイトへ移行されています。透過PNGってのは透明度を...</summary>
<author>
<name>Sig.</name>
<url>http://rospear.info/</url>
<email>webmaster@rospear.info</email>
</author>
<dc:subject>HTML/CSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://ross.archiva.jp/other/">
<![CDATA[<p style="border: 2px dotted #f00; padding: 5px 10px;"><ins>※この記事は追記・編集して<a href="http://archiva.jp/web/html-css/alpha-channel_on_ie.html">新サイトへ移行</a>されています。</ins></p><p>透過PNGってのは透明度を付加した画像のこと。「完全な透明」か「完全な不透明」かの二択しかなかった透過GIFと違い、もっと詳細に透明度を指定することができます。50%とか25%とか。巧く使えばデザインの自由度が凄く広がるシロモノなんだけど、IE-winはデフォルトでサポートしていません。</p>
<p>今回の纏めは、そのIE-winで透過PNGを使う方法。<br />
といってもCSSにちょちょいとコピペするだけですけどね。以下みたく。</p>
<pre><code>#overlay {
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="./overlay.png", sizingMethod="scale");
}</code></pre>]]>
<![CDATA[<p>これは「<a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/filter/reference/filters/alphaimageloader.asp">AlphaImageLoader Filter</a>」という指定。なんだか仰々しい文字列ですね。元は「要素」と「要素の背景」の間に画像を配置する指定で、Direct Xで実現してます。そして画像にαチャンネル（透過度情報を保存するデータ領域）が設定してある場合は、これが有効になると。</p>
<table border="1">
  <colgroup span="2" align="left"></colgroup>

  <thead>
    <tr>
    <th>Attribute</th>
    <th>Property</th>
    </tr>
  </thead>
  <tbody>
    <tr>
    <td>enabled</td>
    <td>フィルターの有効、無効を指定します。<br />1（true）で有効、0（false）で無効。デフォルト値は1（true）。</td>
    </tr>
    <tr>
    <td>sizingMethod</td>
    <td>画像の貼り付け方を指定します。<br />cropはそのまま。imageは要素を画像の大きさに合わせ、scaleは要素の大きさに合わせて画像を拡大（縮小）します。デフォルト値は<strong>image</strong>。</td>
    </tr>
    <tr>
    <td>src</td>
    <td>画像のURLを指定します。<br />デフォルト値は無し。</td>
    </tr>
  </tbody>
</table>
<p>AlphaImageLoaderに対応しているのは、IE6とIE5.5のみ。モダンブラウザ(Opera. Mozilla, NN, Firefox, Safari, Camino, IE-macなど)はPNGに対応しているから良いとして、IE5.0を対象に入れている場合は効果がないので一考の余地あり。</p>

<h3>備考</h3>
<p>AlphaImageLoaderを使用した要素内にリンクを設ける場合、リンクをクリックできなくなります。&lt;a&gt;領域を絶対配置にして要素の上に被せる必要があるでしょう。</p>

<ins>追記: 2006/07/05</ins>
<p>画像へのパスは、絶対指定で記述する。相対だと巧くいかないことが多いようです。また、&lt;a&gt;領域自体にAlphaImageLoaderを使用したなら、この場合はリンクが有効になるみたいです。</p>]]>
</content>
</entry>

</feed>