Jintrick.netagenda2008年07月アーカイブ → 2008年07月25日

真に自由なリンク

なんか、2年位前に長大なJavaEEチュートリアルの邦訳文書を作ったのだが、その最下部に(なぜか)走り書きしておいたものを発見した。どこに保存していいのか分からないので捨てずに公開しておく。今現在は少し考えに変化があるので引用の形にしておこう。不明な点は注意書きしておいた。

邦訳されたMark Pilgrimのdocumentみたいな妙になれなれしい口調で先日のリンクの話(注:不明)のつづき。HTML junkieに特に分かりやすく書こう。

いいかい、いまだにHTMLに起こっている大きな問題について話すよ。HTMLにおいて、強調語句はstrong要素(またはem要素)だよね。この要素をstrongタグではなくてfontタグで括ったとしよう。するとそれは「強調された語句」ではなくて「装飾された文字」となってしまう。これは「強調」の表現手段の一つとしてある文字装飾を選択した結果だ。この「表現手段」はスタイルシートとして分離するのが最早主流となった現在、とりたてて書く必要もないことだけどね。じゃあ、なんで「表現手段」を分離したんだい? それはまあメンテナンスが楽になるからとか製作者側の都合もあるだろうけど、一言で言うと、色んな閲覧者(ユーザー)がいるから※さ。適切な表現手段は環境によって大なり小なり異なる。でもその表現が何に意味しているのかを示しておきさえすれば、表現手段はユーザーが選択可能になるんだ。実際にはその代理人(User Agentと呼ばれるもの、例えばWWWブラウザ)がほとんど自動で選んでくれるんだけどね。※だから例えば全員がWord文書を読んでいるローカルなコミュニティではこの問題は起きないんだ。

さて、まだ問題について話していなかったね。実はHTMLには欠陥がある。リンクについては、表現手段は少し用意されているけれども、肝心の意味づけを行う手段がほとんど提供されていないんだ。target=_blank で新しいウィンドウでリンク先を表示する、というのは割とよくあるリンクの表現手段だ。でも、なんでその表現を使ったんだい? 参照目的だったとして、それを「ハイパーテキスト」マークアップ言語であるHTMLで意味づけできないのはどうしてだろう。ほとんど単に「リンクである」ということしか表現できない。rel属性、rev属性がリンクの意味づけを行うとしても、ウェブサイト内部の文書間の関係しか示せないような値がほとんどだ。home, prev, next, contents, chapter, section, ... でも、WWWにおいてリンクの魅力ってなんだい? 外部との繋がりこそが、その魅力なんじゃない? だから、誰もrel属性なんか使わない代わりにtarget属性でリンクを表現しようとするのさ。甚だしょぼい表現だけどね。

といっても、rel属性を否定しているわけじゃないよ。そんな「引きこもり属性」であったとしても尚、リンクの意味を表現できることによってユーザーは多くの利益を得る(ことが可能だ)。nextリンクがあれば、リンク先を「pre- fetch」できるなんてのは昔から言われてるよね。contents、つまり目次へのリンクはサイドバーで表示できる選択肢を用意してくれると、W3C の糞長い仕様書を読むのにちょっと助かる。ちょっとひねった使い方かもしれないけど、glossaryリンクをポップアップで表現してくれれば素晴らしいハイパーテキスト文書が作れると思わないか? もうたかがポップアップ表示のために、素人が小汚いクロスブラウザ・スクリプトを書かなくて済むんだ。思うにHTMLというからには、リンクはきちんと要素として表現できるべきなんだよ。それに近いのがXHTML2.0で、href属性をcommon attributeとすることでそれを実現している。例えばcite要素にhref属性をつけてハイパーリンクとすることができるわけだ。このとき、出典という意味のリンクを表現したことになる。要素名がリンクタイプを表現していると考えると面白いね。HTMLというからには、リンクタイプなんて属性値をずらずら並べる愚はやめて、リンクの種類は要素名で表現すべきだと思うね。glossary要素があったっていいじゃないか。

つまらないサイト内部へのリンクで考えたってこれだけの利便がある。他サイトの文書に「何故」リンクしたのかを表現できるなら、それは素晴らしいだろう。リンク(WWWと言ってもいい)に、明示的に意味が与えられるわけだから。それこそ本当のWeb2.0だと思う。今言われているWeb2.0というのは、正しくはWeb Service2.0というべきものだろう。WWWの本質はなんら進化していない。悪いけど、私を含めてお仕着せがましいシーズ指向サービスに参加「させられてる」って図式にしかみえないね。思うにWeb1.0とはリンクの表現がreplace型の画面遷移しか許容されなかった(注:語弊あり)時代、つまり今だ。全てのサイトがメインたることを要求した。だから私の考えるWeb2.0への移行というのはつまらない技術的進歩だけではなく、人々の意識的な変化を含めた改革のことなんだ(注:埋め込み等を含めた多くのリンクの表現を許容するという態度への変革)。まあ無理だね。少なくとも数年で達成できるようなものじゃない。無断リンク禁止なんて言う馬鹿げた連中が消えるのに一体何年かかった? 今の時代、リンクは歓迎されるけど自由なリンクは禁止されているんだ。リンクが本当の意味で自由になるには、大変な時間がかかると思うよ。でもまずHTMLでリンクを意味づけできるようにならなきゃ話にならない。だからまだ変革は始まってすらいないんだ。

年食って想像力が欠落したんだろうなあ。「本当の意味で自由になったリンク」が、具体的にどのようなビジョンをもっていたのか分からなくなってしまった。まあ思い出したら暇を見つけて書く。


webmaster@jintrick.net
公開: 2008年07月25日
カテゴリ: HTML