いうのは置いといてください。Service」とどう違うのですか。AW3Cのサーヴィスは、HTMLをDTD的に検証するだけです。W3Cの策定しているHTMLの仕様書中や、DTDのコメント中には、DTDでは表現できない多種多様な制約事項が述べられています。W3Cの検証ではそのようなチェックは一切行なわれません。あるべきことがコメント中に明記されています。DTDではそのような表現ができないからです。W3Cの検証はそのようなチェックはしません(できません)。書いてもエラーにはなりません。そのようなことも含めて、仕様書中の瑣末なことまで、なるべくチェックするよう努力しています。いうわけで、はっきり言って、W3Cの検証でお墨付きをもらったとしても、DTD的に正当なだけで、HTML的に正当かどうかの保証は一切ありません。DTD的検証にはだいぶ手抜きがあります。W3Cの検証も是非行なってください。Q満点ならどんなブラウザでもちゃんと見れるのですか。Aそんな保証はありません。指定された文法的なチェックをするだけで、見え方まではわかりません。特定の環境でちゃんと見えるようにするためには、減点が不可避なこともあります。WAIで言われているアクセス性に関するチェックは、ごく一部しかできません。この勧告文書(加藤泰孝氏が訳されています)をちゃんと読んで、よりよいHTMLを書いてください。満点である必要はありません。...と言うと、無理解のまま「満点の必要はありません」と宣伝する方々がいらっしゃいます。発言には十分気を付けましょう。Q結果の評価は信用できるのですか。A人の言うことは、眉唾だと思うことが基本です。相手がどんな権威でも、盲信するのは危険です。信用に足るかどうかは自分で判断するしかありません。いう判断ができる知識を身に付けましょう。評論家になるのはその後です。Qちゃんと見えるのだから、文法なんか守らなくてもいいじゃないか。Aあなたの環境でちゃんと見えているのであって、隣の人もちゃんと見えるかどうかはわかりません。大勢の人々に見てもらおうというのなら、誰もがちゃんと見えるようにしなければならないのですが、それには決められた文法を守って書くことが必要です(十分ではありません)。現実には文法を守らなくても、優秀なWWWブラウザが適当に不備を補ってくれるので、かなりいいかげんに書いても多くの人々にはちゃんと見えます。今のところ文法に関してルーズでも困ることはあまりありません。文法的に正しければより多くの人にちゃんと見てもらえます。HTMLの未来がXMLにあるのなら、文法違反はご法度になる方向にあるということです。チェックで満点を目指すというのは、「正しい日本語を話しましょう」というのと似ていなくもないですが、HTML文法は自然言語じゃないのでちと違います。堅苦しいところがある点は同じです。満点だからといって、それでは十分でないことに気付いてください。チェックするのは文書の内容ではないのです。正しい日本語でたわけたことを言っていてもしょうがありません。文法よりも、内容が大事なことは明々白々ですが、文法を正したからといって、内容が損なわれることはありません。Q大手有名サイトでもひどい点数です。文法なんか守る必要ないと思います。Aその超有名サイトの技術者が、W3Cの仕様を守る技術力を持っていないというだけのことでしょう。思惑通りに表示させるためにあえて違反を犯しているのなら、HTMLを採用すべきではありません。してもHTMLを使いたいなら、W3Cに仕様変更を求めるべきです。HTMLより優れたプロトコルを設計し、広く世間に流布させればいいのです。Qエラーの解説が難し過ぎてちんぷんかんぷんです。Aなるべく平易に書くように努めているつもりなのですが(どこがじゃ)、どうもHTMLの基礎的なことは端折ってしまいがちです。部分部分で「ここがわからない」という指摘はその都度書き換えなどをしたいと思いますが、総体的にわからないというのであれば、他の優れた方々のサイトを巡ってHTMLの基礎を勉強してください。Q参考書に書かれているとおりにHTMLを書いているのにエラーが沢山出ます。Aはっきり言って、その参考書が間違っています。あやしい本やのけぞる本!が詳しいです。QHTMLを作成するツールを使ってHTMLを書いているのにエラーが沢山出ます。A残念なことに、正しいHTML文法の認知度が非常に低いからです。このような間違ったHTMLを生成するオーサリングツールの開発者達は、MozillaやMSIEなどの目的とするWWWブラウザでちゃんと見えればよいようにHTMLタグを生成しようとしているのです。そのようなオーサリングツールは、最初のラフなHTML生成用に使用し、その後テキストエディタで手直しする必要があるかも知れません。これはとてもおかしな話で、これでは何のためのオーサリングツールかわかりませんね。Q私の利用しているプロバイダでは、ページの頭などに広告が挿入されてしまい、それが減点を招きます。その部分をチェックから外せませんか。A残念ながらできません。チェックするときに得られるHTMLからは、それが広告主によって挿入されたものか、ページ製作者の意図したものかの区別が文法的にできないからです。広告を除いてチェックして高得点を得ても、あなたが広告付きプロバイダを利用する限り意味がありません。あなたのサイトを訪れる人は広告付きのHTMLを表示しようとするからです。広告部分に致命的な欠陥があるのなら、あなたのサイトは閲覧できない可能性が高いことに変わりはありません。あなたのサイトの評価は広告込みで行なわれるべきです。そこに広告が表示されるのは、そのプロバイダを選んだあなたの責任であり、広告はあなたのHTMLの一部です。プロバイダ提供のCGI等でも同様です。Qとてもエラーが多くて直す気にもなりません。A基本的なタグ付けの方法が正しくないと思われますので、HTMLの基礎を勉強し直しましょう。Transitional//EN">と書いておいてください。この行の意味を勉強してください。DOCTYPE宣言があるのにエラーが多い場合は、HTMLヴァージョンにいろいろあることをあまり理解できていないために、不適切なDOCTYPE宣言であることが考えられますが、深く理解するのなんかさらさらごめん、という方は、やはり上のDOCTYPEに改めてみてください。Transitionalがあるとないでは大違いなので注意しましょう。宗教的なチェックなどを無効にしても、エラーがずいぶん減ります。Qでもやっぱりエラーが多くて直す気になりません。A過去のしがらみを捨て、最初から書き直しましょう。Q満点を取るにはどうすればいいのですか。A満点を取ることを目標にしてはいけません。以下のような修正は、あなたのHTMLを満点に導きます。onclick="window.open(...)">でも、これらは表現方法を変えてはいるものの、相変わらず物理的な記述をしており、とてもよいHTMLとは言えません。文章に論理的な意味を与えていません。文字を赤くしたいのか、なぜ中央寄せしたいのかを考えましょう。例などはとてもひどいもので、涙が出ちゃうくらいです。targetによる方向付けは、そういう行為自体を戒めているものなのに、targetじゃなければいいなどという発想自体がおかしいのです。QDOCTYPEって何ですか。A書かれているHTML文書が、どういったHTMLかを示すためのものです。これは、例えば、「この文書は津軽弁で記述されています」といったようなことに相当します。HTMLにいろいろなものがあるのは、HTML4.0だとかHTML3.2だとかいうのがあるので、薄々気付いているでしょう。HTML3.2の参考書を見て書いたHTMLの先頭には、「HTML3.2で書かれた文書です」と宣言するわけです。結果の解説などを読んでください。QMSIE用にHTMLを書いていますが、DOCTYPEがないと言われます。AMozillaやMSIEにはHTMLの正式な文法がありません。DOCTYPEは、HTML文書がどのDTDに則って書かれているかを示すものなので、DTDの存在しないMozillaやMSIE用のHTML文書にDOCTYPE宣言をすることはできません。HTMLをMozillaやMSIE用としてチェックさせるには、HTMLヴァージョンをそれぞれ該当するものに変更してからチェックしてください。Q納得できないエラーがあります。Aほとんどすべてのエラーは、わたしの主観によるものではありません。エラーにはすべて出典があります。文句はその出典元(W3CとかIETFとか)へ言ってください。宗教的や経験的とされているものでもそうなのですが、出典元がうさんくさいものや、多少主観の入っているものもあります。納得できない理由を客観的に分析してみましょう。メールでもしてください。Q文字コードが誤判定されます。Aまれに、日本語の文字コードを誤判定することがあります。これは、日本語の文字コードがごくわずかしか含まれないときや、短い日本語文字コードが最初に現れてから、次が現れるまでだいぶ間が空いているようなときです。HTML文書の最初の方に、コメントとして適当な日本語を入れておくことで回避できます。QMozillaで見ると、Mozillaがクラッシュしてしまうページがあるのですが。AMozillaのヴァージョンによって、いくつかの書籍のあらさがしなどの一部のページを見ようとすると、クラッシュしてしまうことがあるようです。Mozillaがスタイルシートの処理をうまく行なえないのが原因なのですが、どのような記述が直接の引き金になっているのか特定できていません。クラッシュするページでJavaScriptは使用していませんが、当該ページを見る前に一度でもJavaScriptが動作しているとだめなようです。JavaScriptを無効にするなどしてください。申し訳ありません(わたしが謝る筋合いのものではないんだけど)。蛇足ですが、Mozilla4.5(やそれ以前)のスタイルシートの対応度は評価以前のレベルです。MSIE3のスタイルシートは使わないでください。MSIE4.5やMSIE5だとそこそこです。QMacのMozillaで見ると、htmllint.htmlが正しく表示されません。AたぶんMacのMozilla(4.5)などのJavaScript処理で、JISコードの扱いがうまくないのが原因のようです。再読み込みさせればちゃんと見えると思います。出てチェックできません。A一部のユーザエージェント(Lynx2.8jなど)が、フォームの送出に際してこのようなContent-typeを送出するようで、cgi-lib.plを利用しているとこのような症状が出るようです。付けないようにLynxを改造してください。CGI.pmではこのようなことはないようです。インストールしましたが、結果のHTMLなどが文字化けします。該当するのかはちゃんと調べてません)。次のようなテストスクリプトを走らせてみてください。それを外して作り直してみてください。手を入れれば動くようになります。して評価されてしまうのが原因です。そのような部分すべてに名前を付ければ動作します。スクリプトにやはり動かないものが出てくるので、これでは根本的な解決にはなりません。この問題は改修されているそうです。)なお、現在は、jcode.plではなく、Jcode.pmを使用しています。このときは、このような問題は発生しないと思われます。結果が表示されません。Aデフォルトで、-Mオプションを付けてw3mを呼び出すため、カラー機能を無効にしてコンパイルされたw3mでうまく動作しないようです。ないオプションを指定してください(オプションの詳細はw3mを参照のこと)。セキュリティの問題はありませんか。CGIとして次のように動作します。指定されたURLに対応するリソースを取得し、それをワークファイルに保存します。ファイルサイズには上限を設けています。データ領域に直接指定されている場合や、クライアント上のファイル名が指定されている場合は、それをワークファイルに保存します。URLから取得したものがHTMLでなかった(text/htmlでなかった)場合は、それを消去してエラーとして処理を終えます。HTML中のリンク先が実存チェックの指定があるときは、そのURLのヘッダ情報を求めます。URLの内容取得は行ないません。ワークファイルを消去します。秘密のURLを指定してチェックを行なえば、サーバはそれを知り得ます。具合の悪いときは、ローカルなサーバを用意するなどしてください。JavaScriptを利用してクッキーを操作します。この情報はクライアント側でのみ利用するもので、チェックの状態などの保持を行ないます。クッキーを使ってのサーバとのやり取りはありません。代替でよそ様のサーバへアクセスする性格上、不正アクセスの踏み台とされ得ます。DoSアタックやパスワードファイルの参照要求などさまざまな不正が考えられます。Ringでは逐次セキュリティ強化対策を行なっています。Language)には対応しないのですか。Aプロトコルが全然違うので、ちょっと難しいです。データ領域指定などだけならできるかもなぁ。動かそうと努力していないからです。運がよければ動くかも知れませんが、保証の限りではありません。コードでの正規表現中の日本語の扱いによるものです。ときは、うまく動くようにエスケープ処理を行なっています。動かすにはどうすればいいのですか。