- ベストアンサー
HTMLチェッカーの警告とBGM
- 自分のサイトでBGMを鳴らす方法とHTMLチェッカーの警告について
- BGMを鳴らすためのHTMLタグとして使用した<EMBED>タグがHTMLチェッカーで警告された理由について疑問
- HTMLチェッカーの警告はDOCTYPE宣言との不整合が原因かもしれないが、詳細は不明
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
以下私見です(今度は長すぎ!)。間違っているところもあるかも知れません(間違いあったら誰か指摘してください)。 正しいHTMLと表現される場合、それは書かれたHTML文がDOCTYPEで宣言された規格どおりに書かれていることを示します。すべての規格を憶えている人は多くありませんし、規格文書を読みながらHTMLの正統性を検証するのもとても手間のかかる作業です。HTMLチェッカは規格を憶えていなくても、また手間をかけないでもHTMLを検証するために生まれたツールです。 HTMLチェッカの仕事はHTML文の正統性を検証することにあるのですから、「これくらいいいじゃん」とか「みんなやってるから」という判断はしません。poke1さんが今回書いたものは警告が出たわけですから、それは「正しくない」と判断されたということです。 しかし、この規格にはなんら強制力がありません。「こうしたほうがいいよ」とか「こうしようよ」といっているにすぎません(正確には「推奨」とか「勧告」という言葉を使っています)。ブラウザを作る場合もこの規格を目安にするわけですが、規格を厳密に守るのか、あるいは守らないのかは、結局のところブラウザの開発者の判断になるわけです。 「こんなことができたらいいなあ」ということで、開発者が勝手にタグを拡張したからといって誰にも責められません。独自タグがこうやって生まれます。embedタグもその一部です。 では「正しいHTMLを書くこと」にどれだけ意味があるのかというと、それは制作者の判断だと思います。いいか悪いかはともかく、IEというブラウザは多くの人に使用されています。したがって制作者がIE以外の人は見なくてもいいと判断すれば、IEにしか使えないタグを使ったからといって誰も責める理由はありません。 私は普段w3mというブラウザを使用しています。画像は表示できますが、文字に色は付かないし、大きさも変えられません。当然スタイルシートも使えません。なぜなら私のマシンはかなり古いので、グラフィカルなブラウザでは起動だけでえらく時間がかかるからです。w3mで見られるページ(ほとんどがテキストです)を作れば、ほとんどのブラウザで同じように見えます。私がページを作る場合、もっとも注意するのはできるだけ多くの環境で(私のように低いスペックのマシンでも)読めるページを作ることです。それに比べれば、音を出したり、レイアウトに凝ることはあまり重要ではありません。それを他人に勧める気はありませんが、私はそうです。 長々と書きましたが、結局は制作者が判断すればいいことなんだと思います。だからといって、正しいHTMLがどんなものであるのかを知ろうとしないのはよくないとは思います。今回使ったのはembedタグですが、そのタグがどのブラウザで使えるのかを知っておくの損なことではありません。「知ってるよ、でも使っちゃうよ」っていうのが一番現実的で、正しい態度なんではないでしょうか。 正しいHTMLとは何か。興味があったら以下のページがわかりやすそうです(この投稿を書くのにちょっと寄っただけなのでちゃんと読んでないですが)。ここでは「正しい」ではなく「好ましい」という表現を使っています(うーんその手があったか)。 http://www.asahi-net.or.jp/~wq6k-yn/konomac.html ちなみに私が構文チェックするのはhtmllintです。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html 以上御存じのことばかりだったかも知れませんが私見ということで(この前はぶっきらぼうだったのに、今度はこんなに書いちゃって性格に問題あり?)。
その他の回答 (4)
たびたびすみません。masa_peeです。 No.4で書いたのはあくまで原則論ですので、あまり堅苦しく考えすぎなくてもいいと思いますよ(書いといてなんですが)。どうしても気になるならテキストバージョンを別に用意する手もありますしね。基本はわかってらっしゃるようなので(エラそうに言える立場ではないんですけどね)、そのうえで「割り切って楽しむのもアリかな」と思います。 ちなみに私も独学です。昔は手打ちでしたけど今はRDToolというものを使うことが多いです。RDToolを使うとやれることがかなり制約されますが、逆に「やれる範囲で」と考えると迷うこともないし気に入ってます。
お礼
たびたびありがとうございます。 私もそんなに厳格なHTMLをと考えているわけではないですので、お気になさらないで下さいね。 正しいHTMLをと思っても、HTMLチェッカーで100点取ったことありません(笑)。 MIDIページも削除しておりませんし。 RDToolというのは知りませんので検索してみますね。 手打ちだと疲れるのは確かです。 まあ、個人的には正しいHTMLを書きたいと思う気持ちだけは持ち続けたいと思っています。
はじめまして、こんにちは。 どのHTMLチェッカーを使用されたのか分りませんが、 HTML4.01の仕様に<EMBED>は含まれていないようです。 準拠してないので宣言についてはその通りだと思います。 ■HTML4.01 http://www.w3.org/TR/1999/REC-html401-19991224/ ■Markup Validation Service http://validator.w3.org/
お礼
>HTML4.01の仕様に<EMBED>は含まれていないようです。 そうなんです。HTML4.01規格外でした。 ですから下にも書きましたけど、DTDの宣言とは違うタグを入れてることになるんですよね。 objectならいいかな、とこれは独断なんですが思いました。 いずれにしろ独自タグとはいうものの、IEとネスケではこのMIDIが聴けるのだろうと思います。 現実的には、MIDIつきの個人サイトがあふれていますが、皆さん、どうされてらっしゃるのでしょうね。 スタイルシートも勉強しなくては、と思います。
誤解です。こちらこそぶっきらぼうだったようで失礼しました。ほっとくと長く書いてしまうので(私のプロフィールから回答履歴を見ていただければわかります)、簡潔に書こうと思ったまでです。他意はありません。ごめんなさいね。
お礼
いえいえ。あれから自分なりに勉強して(参考URLも見ました)結局、HTML4.01規格外だから、この警告が出るのだと。そういう解釈でよろしいでしょうか。 だとしたら、DTDの宣言して、このタグを使うことはダメなんですけど…でも、MIDIプレイヤーは出るし(ほんとは宣言している手前、いけないんだけど!)このまま、このタグを使おうと思います。 objectならいいのでしょうか。
エラーメッセージのままなんだけど。独自タグだから。
お礼
回答ありがとうございます。こちらの無知で、お気を悪くなさったようですみませんでした
お礼
>poke1さんが今回書いたものは警告が出たわけですから、それは「正しくない」と判断されたということです。 そのとおりですね。宣言に基づいたタグを使ってないから、この警告が出ました。 だからHTML文書(DTD宣言をしてしまっている以上)としては間違っています。 私は手書きでサイトを作っています。 個人的には、正しいHTML文書を書いていきたいと思っています。 そしてMIDIも初めてつけたのです。そのページだけ。 autostartもfalseですから、いきなり鳴り出す「意地悪」はしていないつもりです。 そのMIDIのタグが、HTML文書の宣言とは明らかに違う独自タグだった、それが残念でした。 独学なので、万人向けHTML文書(おっしゃるように、画像無しでもサイトの意図するところがわかるか)になるだろう、的タグを使って、なるべく正しいHTMLを書きたいと思ってきました。 私も一番に頭にあるのは、音声読み上げブラウザでも自分のHTMLが読めるか、ということなのです。 テキストだけのブラウザで自分のサイトがどう見えるか試したこともあります(あまりほめられたものでもないですが、まあまあ、意図するところは読めたかな、とおもいました)。 そういう自分の考えからすると今回の独自タグを使ったことは、ポリシーに反しているようでもあります。 >結局は制作者が判断すればいいことなんだと思います。だからといって、正しいHTMLがどんなものであるのかを知ろうとしないのはよくないとは思います。 そうですね。 少なくとも私は正しいHTMLを書きたい。 だから今回のタグは。そのMIDIを入れている1ページだけは。 自分の良心に反するページだといわれても仕方ないです。