« テーブルレイアウトの最大の欠点 | メイン | Adobe、Operaのレンダリングエンジンを採用 »

2003年10月01日

meta情報は要素を持つか [XHTML2]



metaタグと言うと、今までは文字コードを指定するのが最大の役目だった。それ以外にも



  • オーサリングツールの各種設定値

  • トランジション

  • オートリダイレクトもどき

  • お気に入りアイコンの指定

  • WWWC用の更新情報

  • bot弾き


等々、ブラウザやツールで比較的自由に使える値という印象があった。 ― が、どうやらXHTML 2.0ではそうにもいかないようで。


今までのmetaタグは空要素つまりは内容を持たない要素、それがXHTML2.0のドラフト5版を見る限りではちゃんとした内容モデルを持った、非空要素になるらしい。つまりは、content属性の属性値をそのまま内容モデルとして持つと考えれば手っ取り早い。


すると、



<meta name="author">無重力</meta>
<meta name="description">HTMLに関するWeb日記</meta>

などはまだ良いにしても、



<meta http-equiv="content-type">text/html; chatset=shift_jis</meta>
<meta name="robots">noindex,nofollow</meta>
<meta name="keyword">HTML,CSS,JavaScript</meta>

なんてのは有り得ないかと。(だが、仕様書にはname="keyword"とかが例示されている模様・・・)


XHTML 2.0非対応のブラウザは普通に表示してしまうだろうし、それ以前にこれらのcontentがマークアップ前のプレーンテキストに存在していたとは考えられない。本来存在しない要素を勝手に書き加えて、HTMLの為だけにマークアップしてしまうなんてのは本末転倒。XHTML2.0のワーキングドラフトからhttp-equiv属性が排除されているのも頷ける。


第一、HTTPヘッダに加えてもらうというhttp-equiv属性の本来の役目は結局殆ど無視されていたし、XHTMLならばXML宣言で使用する文字コードを指定できるわけで。トランジションやリダイレクトもどきを使えないというのも、ある意味万々歳です。


これによってメタ情報の本来の意味を取り返したんじゃないだろうか。 ― 後から付け加える情報と言う意味では今までもそうだったんだろうけど ― 印刷ページのヘッダやフッタが本文とは別格に扱われるように、表示できるか否かを選択できるページの補助情報のような感じで。



<meta name="Modified">2003-10-01T01:04:00+09:00</meta>
<meta name="URI">http://www107.sakura.ne.jp/~toramuju/ref/</meta>
<meta name="Contact">mailto:m_juryoku@yahoo.co.jp</meta>

使うとしたら、このぐらいしか思いつかない。


これらの情報をユーザーエージェントがそれぞれ適切な形で解釈してくれれば、わざわざ全てのページのヘッダ、フッタを手書きで挿入しなくても良くなりそうだ。ついでのlink要素も適度に整形してくれるならば・・・かなりページ作成者の負担も軽減できると思う。これでこそ、本来のhead要素の姿のような。


― 実際にWebブラウザ開発に携わった事は勿論無いんだけれども、これってそんなに難しい事なんだろうか。link要素の解釈なんて NCSA Mosaic 3.0 でも対応してるし、meta情報の表示はMozillaに有る。少なくともフィルタとかトランジションとかデータバインドなんかよりは遥かに簡単のような気はするのだけれど。IE.NETにかすかに期待。


meta要素が空要素では無くなるというのは、制約が増えるぶん情報が精錬されるわけで、個人的には歓迎。第一、「空要素」という概念自体、原理的マークアップの理論から言うならば、ある意味「異端者」だろうし。


投稿者 : 00:00 | コメント (0) | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://totora.jpn.org/mt/mt-tb.cgi/162

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)