フレームのあるべき姿

XFramesのワーキングドラフトをさらっと読んだのだが、期待外れだった。ブラウザが独自実装した既存のフレーム機構を、幾らか仕様変更したものに過ぎなかったのだ。
ぱっと見ではタグ名や使い方など大きく変化しているようにも読める。どちらかというならば、テーブルに近づいたとも言えるだろう。現状の、判りにくい仕様からは遥かに進歩している。フレーム内のURIを、ユーザは自由に変更できるようにもなった。だが、肝心な所が何も解決していない事に気付いた。
相変わらずフレーム定義ページが親なのである。つまりは、別個にフレーム定義ページを用意しておき、それで複数のページをドッキングさせるという事だ。framesetの最大の欠点であり、それゆえにフレームは嫌われるのだ。フレーム定義ページはコンテンツの子でなければならない。
現在の仕様では、フレームによって形成された特定の状況を保存する事が出来ない。つまりはサイトの深い位置にあるページのURLを保存しようとしても、直接開いて保存すればメニュー用フレームが付いてこないし、フレームページのURLは開いているページまでは考慮してくれない(XFramesではこの問題点が解決されている)。あるいは検索エンジンからフレームの断片に辿り着いた時、適切に位置関係を把握できる確率は稀だ。
フレームという、単なるインタフェース部品に過ぎないものがサイトの最上位に位置しているという事自体が根本的に間違っているのだ。繰り返すが、フレーム定義ページはメイン・コンテンツより下位に位置するべきだ。
フレームが生き残る道筋は一つしかない。フレームの最大のメリットは、「ナビゲーションとコンテンツを分離できる」という点にある。これを最大限に活かし、それ以外を一切排除しなければならない。フレームは、サイトマップを常時待機させることが出来るという意味においてのみ、生き残れるのだ。
具体例を提示しておこう。恐らく最も良い選択肢が、link要素によってサイトマップ定義ページと関連付けるという方法だ。

<link rel="framemenu" href="./sitemap.frm" type="text/x-frames" />
考え方としては、外部スタイルシートや外部スクリプトと同じだ。ユーザエージェントはサイト構造を記したファイルを読み込みに行き、右側なり上側なり、ユーザの好きな所にサイトマップ・フレームを表示させる。注意すべき点は二つある。

  • ユーザは自由に、好きな時にフレーム・メニュの 表示/非表示 の切り替えが出来ること
  • サイトマップのデザインはサイト作者ではなく、ユーザ又はユーザエージェントが決定すること

フレームはあくまでユーザのものでなければならない。丁度IEの『エクスプローラバー』やOperaの『ホットリスト』と同じ感覚である必要がある。即ち好きな時に出し入れでき、カスタマイズでき、ユーザの言う事を聞く良い道具であるべきだ。
同様の理由から、フレームはサイト作者が細かく指定できるものにしてはならない。作者はサイトマップとURLを記したシンプルなファイルを一つ用意するだけで良いのだ。フレーム定義ページは、HTMLである必然性は無いだろう。単なるサイトマップ「情報」として与えてやれば充分だ。
真実を言うと、既存のHTMLにもその機能はあるのだ。link要素である。本来ならば、サイトナビゲーションはすべてlink要素で行なうのが望ましいのだ。悲しい事にlink要素は長い間主要ブラウザに無視され続け、いつの間にか多様化するサイト構造を表現するのに必ずしも充分なものでは無くなっていた。
ユーザ側だけでなく、サイト作成者側の見地から考察してみよう。サイト内全てのページにナビゲーション・リンクを設置する作業は、大変な重荷だ。何故ならば一つコンテンツが変化したならば全てのナビゲーションを修正しなければならないのだ。無駄にファイルサイズは大きくなるし、それをより利用しやすいようにデザインしなければならない。一言で述べるならば、「ナビゲーションリンクは面倒」だ。
それに対し、上記の方法ではサイトマップ定義ファイルを一つ用意すれば良い。何時でも変更が可能だし、手間は限りなく少ない。ユーザビリティの改善も容易だろう。ユーザエージェントが「現在位置」を適切にナビゲーションするようになるならば、あたかも自分のHDDを渡り歩いている感覚でWebを利用できるかもしれない。
一つ欠点を挙げるならば、

  • この新しいインタフェースにユーザが慣れるまで、時間が必要

という点である。我々が想像する以上に、ユーザは新しい事に対して消極的だ。見覚えの無い機能であれば尚更だ。例え70%のブラウザがこのフレーム機能を採用したとしても、大半のユーザは見慣れたコンテンツページ内のリンクを辿ろうとするだろう。
Operaのホットリストにある『リンク』の項目を私は愛用しているが、一度ページ内の対応するリンクを確認するまで不安になる事がある。便利なホットリストのリンクよりも、見慣れたページ内のリンクの方が何と無く信頼できるのだ。
しかしこの点さえ解決できれば、つまり新しい方式が早い内にユーザに浸透するならば、フレームは全てのWebユーザの心強い味方と成り得るだろう。