趣味Web 小説 2006-02-02

object 要素の話題:雑感

p要素の中にブロックレベル要素を記述するという発想自体がおかしい」とした理由は、ブロック要素として最小の単位がp要素である、という意見に賛成だから。p要素内のobject要素は内容も含めてインライン要素として扱われるべきであり、そのインライン要素内にブロック要素を置くということは仕様と矛盾してしまうからである。

画像を埋め込むとして、その画像がリストを表す内容だったら、代替えとなる内容がリストになるのは至って自然である。

これは真名垣さんに賛成。

iframe 要素や object 要素は「文書」すら埋め込むことができる、とんでもないインライン要素。もともと無茶な存在なのであって、その代替テキストだけ「インラインの分を守っておしとやかに」といってもしょうがないような……。

まあ、現行の Firefox などの代替テキスト表現が素晴らしいかどうかは別問題だと思いますけど。強いて Firefox を擁護すれば、インライン要素を CSS で display:block; することは否定されていないのだし、といったところなんですかね。

IE6 では object 要素の内容として配置したブロックレベル要素は展開できないと思い込んでいたのですが、見出し要素の中なら展開されるのですね。私にとって、これはかなり衝撃的な発見でした。

そろそろ徒委記にリンク集を作成しないとなあ、と思って見てみると、どなたか有志の方が既に作成されていました。助かりました。

改めて私の主張を簡単にまとめておきます。

p 要素が日本語の「段落」に対応するなんて仕様書には一言も書かれていないわけだから、読点で p 要素を終了すればいい。あらゆる自然言語の文法に対応するのは不可能だから、仕様の中に「見た目依存」の部分を残してある、しかも非常に根本的な部分にそのような性質が取り込まれているのだと思う。

一方、野嵜さんの既に存在するW3Cの仕樣が既に「對應可能」な状態であるのならば「美しくない」「邪道」等と言つた偏見・極附けに固執しないでさつさと考へ方を變へてしまへば良い。という主張は正論なのだけれども、今回の議論に適用する際には注意が必要。

p>object>ul はたしかに DTD では許容範囲だけれども、勧告の本文で object 要素の内容は代替テキストであって、あくまでも埋め込むオブジェクトありきだと示されている。object 要素はテキストをオブジェクトとしてマークアップする要素ではないのだから、埋め込むべきオブジェクトを指定せずに代替テキストだけ書くのは間違い。だから、真名垣さんが示された例は、あくまでも「妥協」であって、仕様がそれを認めていると解するのは間違い。明らかに「問題」はある。

誰もが承認する前提から出發して、その前提に合致するから何うであると結論を出すのなら話は解る。けれども、或結論がある、その結論を出す爲に前提をでつち上げる、と云ふのをこの無名氏はやつてゐる。いわいもさうだが、自分の結論は正しいと盲信してゐる爲に、結論の出し方がおざなりになつてゐるのではないか。

……。object 問題について、「内容にブロックレベル要素を持ってよいかどうか」という論点に関しては、たしかに仕様は認めていることに異論はない。でも「埋め込むオブジェクトを指定せずに代替テキストだけ記述することの是非」という論点に関して、野嵜さんが態度を曖昧にしている理由は、よくわからない。

Information

注意書き