• ベストアンサー

HTMLの素朴な疑問です。

例えばi-modeHTMLとかあると思いますが、そこでstrongタグが使えないとします。 DOCTYPE宣言も強制されているわけでもなくDTDが用意されているわけでもないようです。 strongタグを書いても無視されるだけですよね。 この無視そのものも誰が?と疑問をかんじるのですが・・・ strongタグは強調とするとgooglebotは強調と解釈するんですよね。 そのソースを見れば強調ですよね。 太字で表示されない=使えない=無視される と言うことなんでしょうか? そのように考えるとDTD云々ではなくブラウザごとに使えるタグがあるなしがあるということでW3CのDTDがある意味はなんでしょうか?

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

  • ベストアンサー
noname#60878
noname#60878
回答No.1

基本的にタグはテキストをマークアップするという考え方で作られています。それらは、大別して「見かけを飾るもの」と「意味や文書構造をあらわすもの」になります。歴史的には、html以前のハイパーテキストから引きずったような機能、ドキュメント作成系ソフト由来の書き方など、混在しています。W3Cでは両者を明確に分けたいと思っている人が多いように思えますが、実際にページを見る人も、ページのデザインをする人も、一般的なブラウザの『みかけ』を基準に、表示=意味と理解しているように思います。 ブラウザや表示する環境をどう考えるかといった「アクセシビリティ」や「環境フリー」という点ともかかわって来ると思います。ブラウザ側の機能や表現も、モザイク以来の慣習を多く留めていますが。 strongは、強調ですから、ブラウザ側では太字にしなくても良い(多くの場合、強調を示すのには太字にする方が簡単だから太字になる)のです。二重下線引いたり、色を変えたり、点滅とかでも良い。音読ソフトの場合はどうしましようか。太字にされることを期待するなら<b>を使えと言われますが、<b>には太字という装飾的な意味しかありません。 表示環境側では、マークアップの意味に従って、できることをすれば良いというのが一貫した姿勢ですね。<b>と書いても、太字が表示できない、あるいは無理に太字にしても見づらいならば、太字にしなくても良い。肝腎の文章が見づらくなるよりはマシ。太字が表示されない場合でも strong なら、色を変えたり、文字を大きくしたりして「強調されている」と判るように表示することは期待できるかもしれないということです。 サーチエンジン等は、マークアップの意味に従って、検索結果に重み付けしていると言われています。(実際はどの程度加味されているかは判らないが。) だから、<b><big> とするかわりに、<h2>と書く方が有利と言われます。あと、リストタグですね。 文書の構造を明示するという事では、ブロック要素になるタグには title 付けると良いという話もあります。音読ソフトでは、文中の色を変えたり下線引いたりしている所に、title 付けておくと、この文字を読み上げる物もあります。例 <u> だと「かせん」と読みますが、<u title="文献の引用">と付けておくと「ぶんけんのいんよう」と読みます。色を変えた部分を「あかいろ」と読むのと「ちゅういじこう」と読むのでは、装飾の意味としてずいぶん違って来ると思います。titleタグは、多くのブラウザではツールチップがポップアップしますが、これもブラウザ側ではどのように表現しても良い。たとえば、下のバーに表示するとかしても良いのです。 個人的には、ページの性格や想定される利用者に合せてバランスを取るのが理想的だと思っています。

cyokokichi
質問者

お礼

変な質問にご回答頂きありがとうございます。 強調っていっても人それぞれですよね。 例えば強調を太字で現した場合誰が強調とするのだろう? 見ている人が強調されていると感じなくてそれは強調なのか?strongで囲まれているから強調なんて自己満足の何者でもないように感じ。 font-weight:bold;でも強調と受け取れればそれは強調ではないのか?もっと言えば<B>も? そんな疑問がふつふつと沸いてきました。 見ている人は、ソースを見ながら画面を見ているわけでもないですからね。 でも、音読ソフトの例で疑問が晴れた気がします。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

>太字で表示されない=使えない=無視される まずここから視点というか質問にブレが。 strong が強調という決まりというかそれぞれの解釈は良しとして、「太字で表示」はブラウザ側の決め事なのですが・・・。 という事で質問での前提が成り立ちません。 >そのように考えるとDTD云々ではなく >ブラウザごとに使えるタグがあるなしがあるということで 質問とは異なりますが、ブラウザごとに使えるタグがあるなしがあるのは事実で、且つブラウザの設定ごとでも使えるタグのあるなしがあるのは容易に理解して頂けると思いますが、如何でしょうか。 >W3CのDTDがある意味はなんでしょうか ないよりまし・・・。 作り手の現実的な問題としては、存在する事に意味があるのではなくて、遵守される事で意味があるので・・・。 現状から見てしまうと、なんであるのと思えてしまうかもしれませんねぇ・・・。 ただ、先にも書きましたが、strong = 「太字で表示」の時点でブラウザ側の解釈なので、「細字で表示」でも意味的におかしくありませんが・・・。(あくまで例示です。) 例えば、HTML4.01 があります。 DOCTYPE宣言も、当然 DTDも・・・。 そして、abbr は使える事となっています。 決まりでは・・・。 しかしIE6(それ以下も含む)では使えません・・・。無視されます・・・。(といっても動作というが描画の内容が指定されている訳ではないので、認識しつつも特別の描画はないという仕様か???。) 結局、決め事と現実という問題ですねぇ~。 時刻表というのがあっても通勤通学時には遅れるのがあたりまえ・・・。遅れは毎回似た様な物で別途に時刻表があるみたい・・・。守れない時刻表がある意味はなんでしょうか? というのと似た感じかなぁ~。

全文を見る
すると、全ての回答が全文表示されます。
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

DTD の意味は、やはり守るべき基準としての存在意義でしょう。 昔は、インターネットエクスプローラ専用のタグとか、ネットスケープ専用のタグとかが氾濫していました。ブラウザが勝手に自分専用の DTD を作っていたようなものです。 しかし、閲覧者の立場からすると、自分の使っているブラウザでは見れないページがある。製作者の立場からすると、たくさんの人に見てもらうためにはブラウザごとに何種類もページを作らないといけない。 そこで、これではいかん、ということで、W3C が HTML の基準を示して、皆さんこれに従って HTML を書きましょう、ということになったのです。 で、「ブラウザごとに使えるタグがあるなしがある」というのは事実なのですが、DTD に従って書くということで、うまく表示されないのをブラウザのせいにできるわけです。 つまり、昔は製作者がブラウザに合わせて HTML を書くのが当たり前で、ページがうまく表示されないのは製作者が悪いということだったのです (その "DTD" を決めたのはブラウザだから)。でも今は、W3C の DTD が一番えらい。製作者は W3C の DTD に従って書いているんだから、正しく表示できないときは HTML をちゃんと解釈できないブラウザの方が悪い、ということなのです。 こういう観点で見ると、携帯電話の各メーカーが「i-mode対応HTML」とか「HDML」とか独自の HTML を決めているというのは、昔の「インターネットエクスプローラ対ネットスケープ」と全く同じ構図なわけで、携帯電話業界は実は時代に後れているんじゃないかという気もします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • HTML4.01について。

    タグ打ちでHPを作るときに、一番初めに <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> など、DOCTYPE宣言を書かなければいけないということを聞きました。 指定するバージョンにはHTML3.2、HTML 4.01、 HTML4.01 Strictなど色々あるみたいなのですが、 自分が書いているタグがどのバージョンに当てはまるのか分かりません。 どうやったら調べられるのでしょうか?

  • HTML 標準モード 互換モード

    HTMLでは<!doctype html>タグを宣言しないとブラウザのレンダリングモードが「互換モード」になってしまうかと思いますが、一方 <!doctype html>タグを宣言すると「標準モード」になると思います。 <!doctype html>があるのとないのとでテキストエディタいじってブラウザの画面の比較を行ったのですが双方の相違点は理解できませんでした。 「標準モード」と 「互換モード」で決定的な違いは何かありますでしょうか?

    • ベストアンサー
    • HTML
  • 使えるタグ、使えないタグ、使わないほうがいいタグ…等

    タイトルの通り、使えるタグ、使えないタグ、使わないほうがいいタグ…等の違いを頭の中で整理することができません。 具体的に何で混乱しているかというと、 1、DOCTYPEスイッチで標準準拠にした場合は、color:fff;などの記述が無視されるだけで、htmlタグの使える使えないには関係がない…? 2、非推薦のタグは、使用することはできるが将来廃止になる可能性があるから、前方互換を考え使わないほうが良い…? 3、廃止タグは、使用することが出来ない。(記述しても無視される)…? 4、廃止タグを使った場合も、まだそのタグが廃止されていないころのブラウザを使えば問題なく使用可能…?(使用したいわけではなく、可・不可の問題で) 5、また、html5が話題になってきていますが、html5で廃止されたタグも現行のブラウザでは後方互換のため使用することが可能…? 6、html5では使えないが、ブラウザはhtml5にもhtml4.01等にも対応しているので使用ができる。という解釈で合っていますでしょうか? 7、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">などとしても、html5のタグが反応するのはどうしてなのでしょうか? 間違えている項目等、指摘していただければ幸いです。どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLチェッカーの警告とBGM

    クリスマスが近いので、自分のサイトでBGMを鳴らそうと(オートスタートではありません)思い、まったく独学ですが、このタグを入れました。 <EMBED SRC="×××.mid" autostart="false" repeat="true" width="100" height="30" type="audio/mid"> (<はわざと全角) うまく行ったと思ったら、HTMLチェッカーで次の警告が出ました。 「<EMBED>は Mozilla、MSIE または doti 用のタグです」 DOCTYPE宣言との不整合かと思いましたがわかりません。 宣言は下のとおりです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> この宣言をした時は<EMBED>を使ってはいけないのでしょうか。 その他のタグは大まか合格(!)のようで、全体的には「よくできました」でした。

    • ベストアンサー
    • HTML
  • <ruby>を使う時のDOCTYPE宣言は?

    HPのことで質問です。 <ruby>タグを使ったホームページをAnother HTML-lint gatewayにかけたところ、「他のHTML用」だと言われてしまいました。どうやらDOCTYPE宣言が原因のようです。そのページは<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> で作成しました。<ruby>タグを使えるDOCTYPE宣言は何になるでしょうか?

    • ベストアンサー
    • HTML
  • CSSでの中央寄せにかんする疑問

    .main { margin:0 auto; width:1000px; } とCSSファイルに記述することにより中央よせをしようとしています。 IE8以外のブラウザでは中央に寄るのですが、IE8では実現しません。 実はこのCSSの記述は私が以前作成したサイトからコピーしていて、そのサイトではすべてのブラウザで中央に寄っています。 今回作成したサイトではこのようなトラブルに陥りました。 で、苦し紛れでDOCTYPE宣言を <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> から <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> に変更したらIE8でも中央に寄りました。 なぜ、このようなことになったのでしょうか? 教えてください。 よろしくお願いします。(Apacheのバージョンとかがかかわっている?)

    • ベストアンサー
    • HTML
  • i-XHTMLのDTDって何ですか??

    i-modeでXHTML対応サイトを作成したいのですがDOCTYPE宣言の中にある.dtdという部分のDTDには何か意味があるようなのですがさっぱりわかりません。この宣言の他に別のタグや宣言を挿入しないと作れないのでしょうか??どなたか助けてください(/><)/

    • ベストアンサー
    • HTML
  • タグについて教えて

    タグを使って文字の変化をしたいのですが。 文字を例えば「青い空」とします。 1.強調の場合、<storong>青い空</strong> 2.太字の場合、<b>青い空</b>、ですね。強調と太字の違いは? 3.次に、「青い空」を強調(または太字)に文字色【例 <font color="blue"></font>でひとまとめにするにはどうしたらよいですか?

  • DOCTYPE は何で宣言すればいいのか

    DOCTYPE は何で宣言すればいいのかどうやって決めればいいですか? とりあえずネットからコピペしてきた <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> で、宣言してるのですが、果たしてこれがどういう意味かさっぱり分かりません。 とりあえず問題なくブラウザで閲覧できればいいのでしょうか?

    • ベストアンサー
    • HTML
  • <A> に他のHTML用の属性 `TARGET`

    ソースをチェックしたら <A> に他のHTML用の属性 `TARGET` が指定されています。 の部分が <TAG> に XXXX 用の属性 `ATTR` が指定されています。 *5* チェックしているHTMLのヴァージョンではサポートされていないが、他のヴァージョンでサポートされている属性です。あまりこの警告が大量に出るようなら、DOCTYPE宣言が適切でない可能性があります。 というエラーになりました。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html lang="ja"> で宣言しているのですが、 これは間違いですか? target="_blank" は使いたいです。

    • ベストアンサー
    • HTML