Jintrick.netagenda2002年11月アーカイブ → 2002年11月05日

bookmarkletsとリンク

ブラウザの「お気に入り」から発射するJavaScriptを、海外ではbookmarkletsと呼んでいます。letは「小さい」を意味する接尾辞と思われ、類似語に「booklet」(ブックレット)等があります。

そういえば、うちの Phoenix には、そふぃあさんとこの「IE/Win ウェブページのCSSを無効にする方法」の「リンクバーにボタンを作る」方式で、cssをoffするボタンを作ってあるんですが、あれもbookmarkletというやつだったのだなぁ。

朝顔日記(02年11月05日) より

一応、海外のbookmarklets専門サイトを巡ってみて、類似品を探し、見つからなかったので作ったのですが、2002-10-のscottandrew.comの記事 (英語)で紹介されていました。Favelets (英語)の"Toggle CSS style sheets"というアンカーのhref属性に仕込まれています。返却値が無ければトラバーサルも起らないので、何も返さない関数を定義するのではなくてvoid演算子を使う手もあったということを知りました。コード量の縮小に役立ちそうですよこれ。でも、windowオブジェクトのメンバを定義せずに済むのが利点っぽいのに、この方はcs=!document.styleSheets[0].disabled;なんていうのを作ってしまっていて謎ですが。でも有り難く頂きました(謎)。

ところで、bookmarkletsという呼び方には抵抗があります。これは、javascript:スキームを利用したアンカーを右クリックさせて「お気に入りに追加(Add to bookmark)」すれば使えることからそう呼ばれている節がありまして、bookmarklets専門サイトは殆どこの手法で提供しています。終点リソースが何だか良く分からないので、リンクの概念を理解するのに有害だと思っています。

不思議リンク

爺の繰言みたいですが。

リソースの参照を意図せずに、ユーザーの何らかの行為のみを意図している「リンク」は、駄目です。これが根本的な原因で、実に様々な害が発生しているからです。

リンクとは何かを知っている限りにおいて、javascript:スキームを幾ら使おうと問題は起りませんが、そうでない場合、リンクは、「クリックさせて何かを起こさせるもの」であると勘違いされます。「ここをクリック」とか「記号を使った段落アンカー(title属性不使用)」は、リンクを勘違いしている例です。他にも、もうウンザリするくらい例はあります。耳の痛い人も多いかもしれませんが、「ナビゲート」用にリンクを設けるという考え方が、Nielsen博士の否定するところの「全セクションへのリンク」を生みました。しかし、参照目的でリンクを設けている限り、この問題は起きにくかった筈です。少なくとも非コマーシャルなサイトには必要ないものですから。Googleは一部の非参照型リンクを嫌い始めているみたいですね。自然な流れだと思います。

fontタグもjavascript:スキームに似ています。HTMLが何の為の言語であるかを知っている限りにおいて、つまりきちんとした意味付けを行った上で利用する限りにおいて、fontタグは無害です。しかし、それを知らない場合、HTMLはプレゼンテーション言語であると勘違いする可能性が高くなります。まず、勘違いするでしょう。だからfontタグは駄目なものなのだと思っています。

参照するという行為は、ある文書あるいは文章のstatementの為に有意義だからこそ行われます。そしてそのような意図に基づいたリンクは、ユーザーの行為と独立していますから、User Agentは色々な形でそれを表現できますし、何よりもアクセシビリティだの何だのを一々考える必要がありません。

などと言いつつ、私もmailto:スキームの使い方が間違っていたりと、まだ観念でしか理解していないのです。尤も、はっきりと理解した時点でこのサイトの更新は終了するのですが。


webmaster@jintrick.net
公開: 2002年11月05日
カテゴリ: Javascript ,(ハイパー)リンク