Jintrick.netagenda2002年10月アーカイブ → 2002年10月26日

CSSと文書構造

「内容とデザインの分離は難しい」と言っていたアンチがいたが、それもそのはず、CSSは構造と見栄えを分離するが、内容と構造は分離しない。従って、良いCSSは良い文書構造がなければ作れない。

ナビゲーション主体のstreotypeな構造をしているサイトは、やはりそれなりのstreotypeなCSSを作ることになる。その平均的な例が(日々のネタ仕入れ元の一つ)scottandrew.com (英語)だ。今日10月26日の記事Better CSS than mine (英語)にて挙げられているサイトのほとんどが、Interaction Design Patterns (英語)におけるRepeated Menu (英語)を採用している。このRepeated Menu (英語)は、サイト内のどの文書にも同じように配置され、視覚デザインにも大きく影響するのが特徴。

多くのアクセシビリティサイトは、「ナビゲーションを飛ばすリンクを設けろ」という。しかしそれ以前に、「何故飛ばさなければならないのか」を何故、考えないのか。毎度毎度、カレンダーやらナビゲーションを読み込まなければならないのに、滅多にそれらは利用されない。

こういった個人差に影響される問題に摩り替えられがちだが、これはユーザビリティの問題ではなく、文書構造の問題であり、リンクの問題である。

まず、最上位見出し以前に登場する要素は、これはメタ要素である。文書内容と直接関係ないからこそh1要素よりも前に搭乗させる必要があるのだろう。しかし、Repeated Menu (英語)は多くの場合、文書構造よりも視覚デザインを優先させて最も目立つタイトル(通常これは最上位見出しとして認識される)よりに登場する。まずこれが問題だ。次に、これは仕方がないのだが、そういったナビゲーションをlink要素のようなメタ要素以外のものとして明示するのは妥当ではないはずだから、常に、後方互換としてやっていることだと認識している必要がある。これは文書構造上の問題だ。

次にリンクについての問題がある。「その文書内容と関係の深いものにリンクするのが妥当だ」といったところで理解されないだろうからbenefitの話になるが、何故広告が嫌われるかを考えてみると良く分かる筈だ。広告のリンクが嫌われ全く利用されないのは、文書との関係性がゼロに近いからだ。閲覧者の興味の対象はその文書内容であり、その文書内容と何らかの関係があるからこそ、リンクにも興味が移り得る。つまり関係性が薄いものほど、ユーザーにとって価値の低いリンクである。ユーザーというのは個人差があり、時間とともに特徴は変化するから、私はユーザーを主体に考えるのは止め、文書を主体に考えることにした。しかし、文書を主体に考えて文書の価値を高めるように配慮することは、間違いなくユーザーの利益につながり、私自身の利益にもつながる。

さて、アクセシビリティ的には、ナビゲーションの類はページ最下部に配置し「ナビゲーションにジャンプ」というリンクを上のほうに設けるのが良いと言われている。このとき、正しい文書構造を保とうとすると、実に奇妙なことをしなければならなくなる。良い例は、アクセシビリティ専門家のサイト「dive into mark」のアクセシビリティに関する記述のページ (英語)だ。スタイルシートをオフにすると分かりやすいが、h1要素がサイト名になっている。実はどのページを見ても、h1要素(最上位見出し)はサイト名「dive into mark」である。これは必然的にそうしなければならないのであり、もしh1要素が「accessibility statement」であったなら、ナビゲーション用の見出しの登場によって文書構造がおかしくなる。とはいえ、h1要素を全てサイト名にすることは間違っているとは言い切れない。ユーザー主体の態度を貫きつつ文書構造の体裁を保っているという意味で、少なくとも矛盾は無い。しかし私は良い文書構造だとは思わない。文書内容を要約するに、サイト名では抽象的過ぎるからだ。

しかし、見た目には明らかに最上位見出しであるにもかかわらず、「本物の」最上位見出し(つまりh1要素)ではないサイトも多くある。その文書の中で何よりも目立っているものは「サイトロゴ」だが、h1要素としてマークアップされていない。文書構造上の役割を視覚的に明らかにできるのがCSSであり、それを放棄したCSSは、私は良いCSSだとは思わない。プレゼンテーション(CSS)が文書構造に「嘘」をついているからだ。


webmaster@jintrick.net
公開: 2002年10月26日
カテゴリ: CSS ,ユーザビリティ ,(ハイパー)リンク