- ベストアンサー
HTMLの素朴な疑問です。
例えばi-modeHTMLとかあると思いますが、そこでstrongタグが使えないとします。 DOCTYPE宣言も強制されているわけでもなくDTDが用意されているわけでもないようです。 strongタグを書いても無視されるだけですよね。 この無視そのものも誰が?と疑問をかんじるのですが・・・ strongタグは強調とするとgooglebotは強調と解釈するんですよね。 そのソースを見れば強調ですよね。 太字で表示されない=使えない=無視される と言うことなんでしょうか? そのように考えるとDTD云々ではなくブラウザごとに使えるタグがあるなしがあるということでW3CのDTDがある意味はなんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
基本的にタグはテキストをマークアップするという考え方で作られています。それらは、大別して「見かけを飾るもの」と「意味や文書構造をあらわすもの」になります。歴史的には、html以前のハイパーテキストから引きずったような機能、ドキュメント作成系ソフト由来の書き方など、混在しています。W3Cでは両者を明確に分けたいと思っている人が多いように思えますが、実際にページを見る人も、ページのデザインをする人も、一般的なブラウザの『みかけ』を基準に、表示=意味と理解しているように思います。 ブラウザや表示する環境をどう考えるかといった「アクセシビリティ」や「環境フリー」という点ともかかわって来ると思います。ブラウザ側の機能や表現も、モザイク以来の慣習を多く留めていますが。 strongは、強調ですから、ブラウザ側では太字にしなくても良い(多くの場合、強調を示すのには太字にする方が簡単だから太字になる)のです。二重下線引いたり、色を変えたり、点滅とかでも良い。音読ソフトの場合はどうしましようか。太字にされることを期待するなら<b>を使えと言われますが、<b>には太字という装飾的な意味しかありません。 表示環境側では、マークアップの意味に従って、できることをすれば良いというのが一貫した姿勢ですね。<b>と書いても、太字が表示できない、あるいは無理に太字にしても見づらいならば、太字にしなくても良い。肝腎の文章が見づらくなるよりはマシ。太字が表示されない場合でも strong なら、色を変えたり、文字を大きくしたりして「強調されている」と判るように表示することは期待できるかもしれないということです。 サーチエンジン等は、マークアップの意味に従って、検索結果に重み付けしていると言われています。(実際はどの程度加味されているかは判らないが。) だから、<b><big> とするかわりに、<h2>と書く方が有利と言われます。あと、リストタグですね。 文書の構造を明示するという事では、ブロック要素になるタグには title 付けると良いという話もあります。音読ソフトでは、文中の色を変えたり下線引いたりしている所に、title 付けておくと、この文字を読み上げる物もあります。例 <u> だと「かせん」と読みますが、<u title="文献の引用">と付けておくと「ぶんけんのいんよう」と読みます。色を変えた部分を「あかいろ」と読むのと「ちゅういじこう」と読むのでは、装飾の意味としてずいぶん違って来ると思います。titleタグは、多くのブラウザではツールチップがポップアップしますが、これもブラウザ側ではどのように表現しても良い。たとえば、下のバーに表示するとかしても良いのです。 個人的には、ページの性格や想定される利用者に合せてバランスを取るのが理想的だと思っています。
その他の回答 (2)
- koutarou504
- ベストアンサー率44% (182/407)
>太字で表示されない=使えない=無視される まずここから視点というか質問にブレが。 strong が強調という決まりというかそれぞれの解釈は良しとして、「太字で表示」はブラウザ側の決め事なのですが・・・。 という事で質問での前提が成り立ちません。 >そのように考えるとDTD云々ではなく >ブラウザごとに使えるタグがあるなしがあるということで 質問とは異なりますが、ブラウザごとに使えるタグがあるなしがあるのは事実で、且つブラウザの設定ごとでも使えるタグのあるなしがあるのは容易に理解して頂けると思いますが、如何でしょうか。 >W3CのDTDがある意味はなんでしょうか ないよりまし・・・。 作り手の現実的な問題としては、存在する事に意味があるのではなくて、遵守される事で意味があるので・・・。 現状から見てしまうと、なんであるのと思えてしまうかもしれませんねぇ・・・。 ただ、先にも書きましたが、strong = 「太字で表示」の時点でブラウザ側の解釈なので、「細字で表示」でも意味的におかしくありませんが・・・。(あくまで例示です。) 例えば、HTML4.01 があります。 DOCTYPE宣言も、当然 DTDも・・・。 そして、abbr は使える事となっています。 決まりでは・・・。 しかしIE6(それ以下も含む)では使えません・・・。無視されます・・・。(といっても動作というが描画の内容が指定されている訳ではないので、認識しつつも特別の描画はないという仕様か???。) 結局、決め事と現実という問題ですねぇ~。 時刻表というのがあっても通勤通学時には遅れるのがあたりまえ・・・。遅れは毎回似た様な物で別途に時刻表があるみたい・・・。守れない時刻表がある意味はなんでしょうか? というのと似た感じかなぁ~。
- UKY
- ベストアンサー率50% (604/1207)
DTD の意味は、やはり守るべき基準としての存在意義でしょう。 昔は、インターネットエクスプローラ専用のタグとか、ネットスケープ専用のタグとかが氾濫していました。ブラウザが勝手に自分専用の DTD を作っていたようなものです。 しかし、閲覧者の立場からすると、自分の使っているブラウザでは見れないページがある。製作者の立場からすると、たくさんの人に見てもらうためにはブラウザごとに何種類もページを作らないといけない。 そこで、これではいかん、ということで、W3C が HTML の基準を示して、皆さんこれに従って HTML を書きましょう、ということになったのです。 で、「ブラウザごとに使えるタグがあるなしがある」というのは事実なのですが、DTD に従って書くということで、うまく表示されないのをブラウザのせいにできるわけです。 つまり、昔は製作者がブラウザに合わせて HTML を書くのが当たり前で、ページがうまく表示されないのは製作者が悪いということだったのです (その "DTD" を決めたのはブラウザだから)。でも今は、W3C の DTD が一番えらい。製作者は W3C の DTD に従って書いているんだから、正しく表示できないときは HTML をちゃんと解釈できないブラウザの方が悪い、ということなのです。 こういう観点で見ると、携帯電話の各メーカーが「i-mode対応HTML」とか「HDML」とか独自の HTML を決めているというのは、昔の「インターネットエクスプローラ対ネットスケープ」と全く同じ構図なわけで、携帯電話業界は実は時代に後れているんじゃないかという気もします。
お礼
変な質問にご回答頂きありがとうございます。 強調っていっても人それぞれですよね。 例えば強調を太字で現した場合誰が強調とするのだろう? 見ている人が強調されていると感じなくてそれは強調なのか?strongで囲まれているから強調なんて自己満足の何者でもないように感じ。 font-weight:bold;でも強調と受け取れればそれは強調ではないのか?もっと言えば<B>も? そんな疑問がふつふつと沸いてきました。 見ている人は、ソースを見ながら画面を見ているわけでもないですからね。 でも、音読ソフトの例で疑問が晴れた気がします。 ありがとうございます。