3

W3C Markup Validatorで HTML5 として検証するサイトを取得しようとしています。「URI による検証」オプションを使用すると、大量のエラーが生成されますが、HTML をコピーして「直接入力による検証」に貼り付けると、完全に検証されます。バリデーターから返された 2 つのソースで diff を実行すると、唯一の違いは Rails の信頼性トークン (Rails がフォームの検証に使用するランダムな文字列 - これは予期されることです) だけです。

どちらの状況でも、「ドキュメント レベルで文字エンコーディングが宣言されていません」という警告が表示されることに気付きました。これは他のサイトで見たことがありますが、適切なメタ タグがあるため、HTML5 バリデーターのバグであると常に想定していました。

<meta charset="UTF-8">

ほとんどのエラーは、次の行に沿ったものです。

  • 属性名に引用符 " が含まれています。考えられる原因: 一致する引用符が以前のどこかにありません。
  • 要素ラベルの属性の値が正しくありません: ID は空の文字列であってはなりません。
  • この時点で、属性「password」は要素ラベルで許可されていません。

引用符が一致していないように見えますが、何も間違っていることは見つかりません。また、同じ直接入力が完全に検証されます。

ここで何が起こっているのか手がかりはありますか?ありがとう!

4

4 に答える 4

4

これは、W3C Perl レイヤーの既知のバグです。Validator.nuには同じバックエンドがありますが、Perl レイヤーはありません。

于 2009-09-09T09:07:06.437 に答える
1

これはバリデーターのバグである可能性があり、その場合、あなたのページはバリデーターの開発者にとって興味深いものになる可能性があります。彼らと連絡を取ることを検討してください: http://validator.w3.org/feedback.html

于 2009-08-18T22:04:54.213 に答える
0

<meta charset="UTF-8" />終了スラッシュを含めてみてください

于 2012-01-04T07:35:37.480 に答える
0
<meta charset="UTF-8">

代わりにこれを使用してみてください:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
于 2009-08-18T02:15:03.587 に答える