• ベストアンサー

brタグ、pタグやtableタグが非推奨にならない理由

表記のタグは必ずしも純粋に文章の構造を記述するものとは言えない(装飾やレイアウトに属する範疇)ような気がします。 実際CSSで十分に代用できると思うのですが、これらのタグがW3Cで非推奨とされないのは何故でしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.6

> HTMLで最低限の外見制御 まだちょっと主従関係について混乱されているようです。 HTMLの要素がデザインに影響する機能を持っているのではなく、 それが何であるかを示すためにマークアップをすると 結果として(視覚化するブラウザでは)表示に影響が出るのです。 ページを表示する≒(X)HTML文章を伝達する、ために存在するブラウザが 段落だから行間を空けてやろうとか 表だから縦横に並べてやろうとか それなりの視覚化を行っているだけです。 行間がどうなるとか外見の制御を念頭においてを考えるのではなく 本質的にそれが「何」であるかをマークアップするのが文章の論理構造を記述するという事です。 一般的に外見から考えたほうが理解しやすいので 縦横に並べたいと思えばそれは恐らくリストや表だし、 一行空けたいと思えばたぶん段落の切れ目ですが 理念は逆ですのでお間違えのなきように。

etendard
質問者

お礼

重ね重ね、ありがとうございます。 >ページを表示する≒(X)HTML文章を伝達する、ために存在するブラウザが >段落だから行間を空けてやろうとか >表だから縦横に並べてやろうとか >それなりの視覚化を行っているだけです。 なるほど、これは目から鱗でした。pタグやtableタグがwebページの外見を整形しているのではなく、ブラウザがそれを解釈して独自の出力要素を付加しているに過ぎないというわけですね。 それを念頭に置くと、「ブラウザに指示を送ること」が目的であるfontタグやbタグが非推奨とされている理由も、改めて納得できました。 大変参考になりました。どうもありがとうございます。

その他の回答 (5)

noname#20378
noname#20378
回答No.5

p要素は・・・自分はなくちゃ困るな。基本だし(説明になってないけど この手の話は色々なところで議論されています。 私は自分の考えをここでは述べませんが、興味がありましたら隅から隅までご堪能ください。 HTML議論リンク集のリンク集(p要素,br要素,object要素,他) http://www.akatsukinishisu.net/wiki.cgi?HTML%B5%C4%CF%C0%A5%EA%A5%F3%A5%AF%BD%B8%A4%CE%A5%EA%A5%F3%A5%AF%BD%B8#i0 うーんおしいっ。面白そうなのに多くがリンク切れだ。 そのテーブル、本当に必要?(tableであるべきかdl,dt,ddを使うべきか) http://www.akatsukinishisu.net/wiki.cgi?%A4%BD%A4%CE%A5%C6%A1%BC%A5%D6%A5%EB%A1%A2%CB%DC%C5%F6%A4%CB%C9%AC%CD%D7%3F#i5

etendard
質問者

お礼

御回答ありがとうございます。 DHTMLの手引書を捲っていてふと浮かんだ疑問だったのですが、同じことを考えた方は多かったのですね。 ご提示のリンクも参考にさせて頂きます。ありがとうございました。

noname#19206
noname#19206
回答No.4

何でもかんでもCSSで代用するとCSSが使えない環境や、 設定でCSSを無効化した環境は苦労しますよ(笑) 視覚的な影響力を持つものを全て見栄えの定義という範疇で考えるのは良くないと思います。 HTML+CSSでWebページを構成した場合、 CSSが利用できなくてもある程度の範囲で正常に利用できることが望ましいのです。 例えばbrタグであれば、この利用規約がCSS無効の環境で改行ナシになったと考えてみてください。 ただでさえ長い文章が改行されていなければ読む気を失うことは間違いないと思います。 というか私であれば"何が何でも絶対に"読みません(笑) http://service.okwave.jp/okwave/terms/index.html tableタグはレイアウト形成で用いられる場合がありますが、本来の用途は複雑なリスト(要するに表)の形成です。 通常の図表をtableなしで構成することは非常に困難だし、CSSが無効になればユーザーはそこにある情報を利用できなくなります。 pタグも然り。ご存知かもしれませんが一部のテキストブラウザでは連続した<br>を無視するようになっているし、 <p>~</p>同士に行間を開けて表示するようになっています。 CSSのレイアウト設定が利かない環境ではpタグで文書構造を判断しています。 テキストブラウザのみならず音声ブラウザなども一部はそれに入るはず。 br,p,tableなどをCSSで代用することはそれらの環境を排斥することになってしまいます。 Web標準化の理念からも大きく逸れてしまいますよ。

etendard
質問者

お礼

御回答ありがとうございます。 CSSを切った環境のことは失念していました。確かにその場合、HTMLで最低限の外見制御をしてやる必要はありますね。 また、テキストブラウザや音声ブラウザなどを含めての標準化というポイントも盲点でした。確かに、W3C規格でもこれらに対する言及があったと記憶していたのですが、完全に認識から抜け落ちていました。 今回の件で、いろいろと考え直して認識を改める必要がありそうです。どうもありがとうございました。

回答No.3

>実際CSSで十分に代用 br は改行というデザインの事ですから、意図は判りますが・・・。CSSでの代用は現在では無理です。改行するという概念を非推奨とする発想ならまぁ考えられなくもないですが、文章の改行って自然ではないかと・・・。 そして p, table はそれこそ意味を持っています。p は段落であり、table は表を意味します。CSSではデザインこそ代用は出来ても意味は表せません。 それ以前にデザインの為のタグ選択は非推奨であるW3Cからしたら、CSSが無効でHTMLだけでまともに読めない場合、それはどこかでデザインの為のタグが使われているという事で逆に非推奨ですけど・・・・・。 まぁ「文章の構造を記述」に対して「CSSで十分に代用」としている時点で間違いですが。 タグの選択でCSSでどう表せると考える事が間違い。 表なのに table を使わず div と CSS を交えて記述するのは間違い・・・。(デザインの為に table を使うなという事と混同しない様に・・・。) HTMLは構造。CSSはデザイン。そしてHTMLに対するブラウザのデフォルトのデザインがいろいろとやっかいな・・・。

etendard
質問者

お礼

御回答ありがとうございます。 質問の文章が判り難かったようで申し訳ありません。私が意図していたのは、文章の構造化はソースレベルにおいてdivタグなどで賄ってしまい、webページの外見に影響する部分は完全にCSSで記述したほうが、構造とデザインを分離する現在の標準化の方向性に合致しているのでは? ということでした。 実際、コンテンツ要素の各ブロックをHTMLで順不同に記述したものをCSSで自在にレイアウトする例も目にしたことがあり、ソースの保守性・再読性といった面でもこの方式の方が有用に思えた次第です。

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

http://www.kanzaki.com/docs/html/htminfo11.html#S4 br要素は微妙ですが、段落内においてさらに区切りが必要な場合に使うものだと思っています。 p要素については#1さんのおっしゃるとおりでむしろ必須です。 http://www.kanzaki.com/docs/html/htminfo16.html table要素は「表」構造を示すためにあります。 他の要素+cssでtableに見えたとしても「表」をマークアップする為にはtableを使うべきです。

etendard
質問者

お礼

御回答ありがとうございます。 #1さんへのお礼でも書きましたが、「構造」をマークアップするためのタグがwebページの外見にまで影響を及ぼすのは本末転倒では? という疑問が生じたため、質問させて頂いた次第です。 御回答を参考に、もう少し考えてみようと思います。

  • NTJ
  • ベストアンサー率44% (46/103)
回答No.1

BRとTABLEは、単純に・・・ 「代替できないから」です。 (是非これらをCSSで代用した画面を作ってみせてください。) P(=段落)に関しては、逆に「文章の構造そのもの」だからです。 むしろ、DIVを使うほうが、本末転倒でしょう。

etendard
質問者

お礼

御回答ありがとうございます。 brについては、HTML4.01策定の段階で非推奨要素の候補に挙がっていたという話を耳にしたので、「おや」と思った次第です。 また、tableやpについては「文章の構造」と言われていながら行間などページのデザインに影響する機能も持ち合わせているため、「それならdiv+CSSと変わらないんじゃ?」という疑問が念頭にありました。

関連するQ&A