最近、参考書を買ったり立ち読みしたり、Web上で検索したりしてCSSのサンプルを見ているのですが、リンクメニューの例示では必ずと言っていいほど
- CSSの記述
- ul{スタイル}
- ul li {スタイル}
- ul li a {スタイル}
- ul li a:hover {スタイル}
- HTMLの記述
- <ul>
- <li><a href="xxx">リンク1</a></li>
- <li><a href="yyy">リンク2</a></li>
- <li><a href="xxx">リンク3</a></li>
- </ul>
と言うように、ulとliを使っています。
単にリンクの外観指定だけならば
- CSSの記述
- a {スタイル}
- a:hover {スタイル}
- HTMLの記述
- <a href="xxx">リンク1</a>
- <a href="yyy">リンク2</a>
- <a href="xxx">リンク3</a>
と言う風にすれば同様の効果は得られるのに、なぜわざわざulとliを使う必要があるのか疑問に思っていました(逆にulとliを使う方がリスト特有のスタイルを解除しなくてはいけないので手間がかかります)。
僕は標準ブラウザとして、今はIEでなくてOpera8.5を使っています。
Operaでは(IE、NNでもできますが)、Webページが使用しているスタイルを解除して、テキストブラウザ風の表示等に簡単に切り替えることが出来ます。

テキストブラウザ風にしてみると、リンクメニューをulで書く理由が良く分かりました。
ul、liを使わなかった場合
Link Menu
Top
Information
Links
Contact us
ul、liを使った場合
Link Menu
要はリンクメニューというのは、そのサイトを案内するためのリンクリスト、現実世界で言う所の目次に当たるわけです。
「魚本」のfontタグとh1タグの例にもありますが、HTMLの本来の意味で考えると、ulとliを使ってメニュー「リスト」として定義しているって事ですね。
ulで閉じていないリンクメニューは、単なるaタグの羅列なだけであって、HTML的に言うと「メニュー」でもなんでもないわけです。
実際は、作成したWebページは人間が見るわけで、h1タグを使っていなくても、他の文字より大きな文字で書いてあれば標題だと分かるし、リンクが並んでいればリンクメニューなんだなと分かるわけなんですが、サーチエンジン(Webクローラ)のような機械(プログラム)相手ではそうは行かなかったりします。
<meta name="Keywords" content="xxx・・・・">でWebクローラに読ませるキーワードを指定できますが、最近のサーチエンジンではmetaタグより、サイトの内容、特にtitleやh1~h6に書かれている物を重視して分類するそうです。
正確にタグの意味通りにHTMLを記述していると、的確なサーチにかかりやすくなるので、その分サイト来訪者を増やす結果になるのかもしれません。
単純に画像が並んでいるだけのデザインの場合でも
スタイルの記述h2 {display: none;}
HTMLの記述<h2>街の風景</h2><img src="xxx1" alt="街の風景1"><img src="xxx2" alt="街の風景2"><h2>公園</h2><img src="yyy1" alt="公園1"><img src="yyy2" alt="公園2"><img src="yyy3" alt="公園3"><h2>空</h2><img src="zzz1" alt="空1"><img src="zzz2" alt="空2">
とすると、良いのかもしれません。
HTMLの本来の意味を守ることは、読み手への恩恵だけでなくて、書き手への恩恵もあるって事ですね。
最近のコメント