職業柄、ホームページにエラーがないように、という配慮は当たり前のことではあるが、ホームページを構成するタグのあり方には、どうも解らない部分がある。 の中でを使おうと思うとXHTML strictではがインライン(行内)要素なのでそのまま記述してはいけないということになる。 ~ や で囲んで、ブロック要素にするように、ということになる。 や などは非常に使いづらかった。なぜならこれらのタグは、それだけでそこに改行を含んでいるため、続けて表示したくても、1行空いてしまうからだ。
最近!DOCTYPEの宣言をXHTML1.0にし始めてから、できるだけstrictで書きたいと考えているのだが、なかなかそうは問屋が卸さない。
そもそもXHTMLとHTMLはXHTMLの方が厳密なので、これまでHTMLで許されていた、というか普通だった
などのタグも
と自己完結しなくてはならない。
ただこんなものは、大したことではない。
例えば、
そもそもこのインラインだのブロックだのの要素分けが、その使命について今ひとつよく分からない部分もあるのだが、まあそれはよいとして、元々HTMLでも、この
何でこんな仕様になっているのか、そこいらは勉強していないので未だに解らないが、使用感から言えば煩わしいことこの上ない。
また、<form>や<a>で「target」属性というのがあり、これによって、リンク先を別ファイルにしたり、別フレームにしたり、制作者側から言わせてもらえば、非常に役立つ仕組みなのだ。
ところがXHTMLではその思想そのものが無くなっている。
もちろん、何でもかんでも新しいウインドウを開くようなサイトも時折あるので、それはそれでどうかと思うが、意図的に新たなウインドウを開いて欲しい場合もある。特に、Firafoxなどのタブブラウジングを装備したブラウザでは、一つのウインドウだけで先に進んだり戻ったりする過去のブラウジングはありがたくない場合も多くある。
これはリンク先を元のウインドウにするのか新しいウインドウにするのかは、閲覧者の権利だという考えから発している。shift+クリックで新しいウインドウが開くからというのだが、閲覧者の権利と便利は違っていて、shift+クリックなどは知らない人も大勢いるはずだ。
また、何でもかんでも閲覧者の自由というのであれば、制作者の意図というのはどこで斟酌されるのであろう?
もちろん、利用しやすく閲覧者フレンドリーなサイトが望ましいのは当たり前のことだ。
だが、リンク先ウインドウをどうするかなどは、双方の意図があるだろう。
また、<iframe>というインラインで埋め込むタイプのフレームがあるが、フレーム内で情報を更新するとすれば、当然target属性を使わざるを得ない。ところがこれは、XHTML strictばかりでなく、flamesetでもエラーや警告対象になり、transitionalで書かざるを得ない。
であれば、strictの意味というのはどこにあるのだろうか?
transitionalであれば、おおかたのことは大目に見てもらえるが、何か中途半端さを感じる。
xml宣言というのもまたややこしいが、これについてはまたいずれ。・・・という書き方をしていずれ書いたことがないのだが。
XHTML1.0 Strict
~
、~