• ベストアンサー

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

  • HTML4.01で使用しないタグ

    HTML4.01ではレイアウトにTableタグを使わないように推奨されていると聞いたことがあるのですが、この点どうなのでしょうか? CSSでTableタグの代わりに使うものがあるのでしょうか? またhtmlで推奨されていないタグが他にあるのか?知りたいです。

    • ベストアンサー
    • HTML
  • tableタグ内のテキストについて

    編集しているWebページのソースを見て最近気になったことがあります。現在レイアウトの主流になっているテーブルですが、table,tdタグ内に記述するテキストはなぜpやh1~h6などのタグで囲んで記述しないのでしょうか? タグ辞典やリファレンスを見てもタグを使わずに記述されていますがこれはなぜなのでしょうか?

    • ベストアンサー
    • HTML
  • <br> が <br /> に置き換えられる

    DOCTYPEはHTML4.01 Transitionalでやっているんですが、 brタグをつかうとXML用に<br />と変換されてしまいます。 何か記述に問題があったのでしょうか。。 HTMLでこの書き方をしても支障はないと聞きました。 W3Cでチェックを行いましたが、やはりひっかかりませんでした。 しかし、Another HTML-lint gatewayでチェックしてみると、W3Cとは逆に重要な問題としてひっかかってしまいました。。 フリーページを使って作成しています。

    • ベストアンサー
    • HTML
  • <html>タグ

    Web製作をお願いしている会社にサイトを作ってもらいました。 <html>の開始タグがないので質問した所 「ヘッダーにありますよ」 との事 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> これはDOCTYPE 宣言なので <html>の開始タグとは違うような気がしますが・・・ 文法構造にはあまり詳しくないので自信がありませんが、 ちなみにソース構造はこうなってます。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <meta http-equiv="Keywords" content="●●" /> <meta http-equiv="Description" content="●●" /> <title>●●</title> <link rel="stylesheet" href="layout.css" type="text/css" media="all" /> <script language="JavaScript" type="text/javascript" src="script.js"></script> </head> <body onload=...> ・ ・ ・ </body> </html> googleなどでは重要なタグの欠落は大きくページランクに影響すると聞きます。 このままで本当にいいのか心配です。 また、この場合だと<html>をどうやって書いたらいいのでしょうか? よろしくお願いします。

  • <tr>タグ、<td>タグ

    テーブルでレイアウトを行い、htmlで背景色・cssで文字のスタイルを適用する場合、<tr>タグと<td>タグのどちらに記述するのがよいのでしょうか。IEだと大差は無いようなのですが、firefoxやNetscapeで違いが出てくるように感じます(特にfirefox)。 (1)cssで文字スタイルの場合、<table>タグに<table class="text">といった感じで問題ないでしょうか(table内の文字すべてclassがtextの場合)。それともやはり<td>タグひとつひとつにクラス指定した方が良いのでしょうか。 (2)テーブルに背景色を指定する場合、<tr>タグ・<td>タグのどちらに指定するのが良いのでしょうか。

    • ベストアンサー
    • HTML
  • どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え

    どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え方が 微妙で困っています。 サイトレイアウト大まかな段組は<div>でできるだけ行うように、みたいにCSSデザインの勉強をしていると書いてあり、その意味は分かりますが、<div>タグで概観をレイアウトしても、結局は、divで定義したコンテンツBOXの中身だったりメニューの中身だったりは テーブルで配置したほうが更新作業的にやりやすいし、テーブルほうがよいのでは? みたいに、なってしまいます。 左に画像、右にコメント(文字列)などの関係のものが、以下に複数続いたりする場合、 どう考えてもテーブルのほうがよくない?って思うんですよね。 その場合でも無理やりdivタグでテーブル構造を作るもんなんですかね? divタグだとコード量が少なくなるからSEO対策的に良いっていうのは理解できますが、 divタグはここまで作る、テーブルタグの使い分けが微妙です。 このときはテーブルにしないといけない。とかないんでしょうから ある意味センスなんでしょうが。。。。 製作の効率と、コンテンツの管理の仕方を考えると divタグとテーブルの使い方の境目が分からなくなってしまいます。 そのへんの考え方ノウハウを教えてください。

  • 廃止予定のタグ

    まだ「Web標準」といわれているHPを作る知識が足りないので、気にはしていますが従来のタグを使い、CSSも使わずに趣味で自分のHPを作っています。Web標準といっても広義にとらえると奥が深くなりますが、「XHTML+CSSを基準に作る」といった狭義でみています。 最近、本などでも「廃止予定のタグ」という言葉をよく見かけます。太字のBタグや背景色のBGCOLORなど。 質問したいことは、この「廃止予定」ということについてです。 (1)いつから廃止になるか決まっているのか(2年後とも3年後とも言われる、などのあいまいな書き方の本を見かけることはあります)。 (2)廃止になったら、そのタグを使ったHPは正常に表示されないなどの支障が出る可能性があるのか(これについて記述してある本は私はまだ見たことがありません)。 (3)Web標準というのは一定のスタンダード規定で、推奨されるという意味であり、廃止予定だからといってその廃止に該当するタグを使ってはいけないというほどの強いものではないと感じているのです。あくまでも「推奨」という受け止め方でいいのでしょうか。 詳しい方にとっては常識なのかもしれませんが、わかりませんので教えていただけますか。

  • <li>タグの隙間が消えない

    cssでhtmlのレイアウトを調整し、float:left;で<li>タグを水平方向に並べています。 この時、「見た目では隙間は埋まっている」のですが、onmouseoutの処理を記述している場合、どうしても<li>タグの間に見えない隙間が生じて、そこにマウスカーソルを合わせるとonmouseoutの処理が走ってしまいます。 この見えない隙間は埋められるのでしょうか? 詳しい方、よろしくお願いします。

  • ブラウザでの表示の違い

    分け合って、タグにCSS直打ちでのレイアウトをしているのですが、IE6以外では表示が崩れてしまいます。 以下の記述で、目指しているのはIEでの表示結果です。 実際正しいのは、その他のNetscapeやFireFox、Operaで見た時のものなのだと思うのですが、どうすればうまく表示できるでしょうか。 やはり、どのブラウザでも全く同じ表記にするのは無理なのでしょうか。

    • ベストアンサー
    • HTML
  • CSSでテーブルのように画像を均等表示させるには?

    お世話になります。CSS初心者です。 もしかしたらweb制作者様にとっては簡単なことかもしれませんが、いろいろ調べてもよく理解できなかったので、どうか教えてください。 添付画像のようなレイアウトでサイト制作しています。 このように#rightbox内に10の画像を均等に表示させたいと思っています。 かつてテーブルタグといったものが使われていましたが、現在テーブルは推奨できないということで、外部CSSファイルでレイアウト表示させたいと考えています。 このようなレイアウトで表示させる場合、どのようなCSSの記述が好ましいでしょうか。 参考書などで調べたところ<ul>と<li>要素を使用するのが一般的だということでしたが、正直よく分かりませんでした。どうかご教授お願いします。 ちなみにこの画像のリストはクリックするとThickboxで大きな画像が表示されるようにしたいです。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • HL-L5200DWで印刷をすると、歪みや横線が多数入ってしまいます。ドラムやトナーを新品に交換しても改善されません。
  • 質問者はHL-L5200DWで印刷する際に、歪みや横線の問題に直面しています。新しいドラムやトナーに交換しても解決されないため、困っています。
  • HL-L5200DWの印刷において、歪みや横線が多く入るという問題が発生しています。ドラムやトナーを新品に入れ替えても改善されず、解決策を模索しています。
回答を見る