1

私は XHTML Transitional Web ページに validator.w3.org サービスを使用してきましたが、非常に満足しています。正しくない構文や閉じられていないタグが簡単に表示されます。

ただし、新しいサイトを HTML5 でコーディングしているため、Doctype は自然に になります。したがって、w3 バリデーターはページを HTML5 として検証します。私はこれをしばらく使用してきましたが、閉じられていないタグが通知されないことに気付きました。たとえば、私が使用する場合

<div><p>This is my text and I am not closing this P tag</div>

その後、XHTML バリデーターは上記の問題を通知してくれますが、HTML5 での検証では上記が問題であることはわかりません。これを解決する方法はありますか?

さらに、次のようなコードを自由に使用しており、XHTML として検証された場合は次のエラーが表示されますが、 HTML(5) として検証された場合は問題ありません。

 Line 266, Column 51: document type does not allow element "h5" here; missing one of  "object", "applet", "map", "iframe", "button", "ins", "del" start-tag

<a href="/outlet/" title="" rel='nofollow'><h5>OUTLET</h5></a>

上記 (A 要素内で H5 を使用する) は HTML5 では問題ないと思いましたが、HTML が XHTML として検証されていないことに気付いた後、私はかなり混乱しています! 「適切な基準」に従って Web ページを作成したい場合、どの基準に従うべきですか? 私は間違いなく HTML5 を利用したいと考えていますが、コードに正しい終了タグ (上記の P タグの例のように) があり、他の「適切な標準」にも準拠していることも確認したいと考えています。どうするか教えてください。

どうもありがとう

4

2 に答える 2

0

xhtmlモードで検証する場合、すべてがその仕様に一致する必要があります。一方、html5仕様は多くの自由を可能にします。この特定のケースでは、マークアップ構文に関するhtml5仕様は次のように述べています。

「このリファレンスのHTML要素セクションにあるその要素のサブセクションで、その終了タグを省略できることが示されていない限り、非void要素には終了タグが必要です。」

段落要素の仕様では、例のように、直後にdivタグが続く場合は、endタグを省略してもかまいません。

「p要素の直後にアドレス、記事、脇、blockquote、dir、div、dl、fieldset、footer、form、h1、h2、h3、h4、h5、h6が続く場合、p要素の終了タグは省略できます。 header、hr、menu、nav、ol、p、pre、section、table、またはul要素、または親要素にコンテンツがなく、親要素が要素ではない場合。」

そのような一貫性が必要な場合は、有効なxhtmlを作成する必要があると思います。終了タグをチェックするエディターを使用できますか?

于 2012-04-17T09:45:46.773 に答える
0

If you want to validate a page at a URL as XHTML with the W3C HTML validator, and the page has <!DOCTYPE html> as its doctype, then you must serve the page with an XML mime type such as application/xhtml+xml to the validator.

This is a good thing. Only if you use such a mime type will browsers treat your XHTML as XHTML, otherwise they will treat it as HTML and all your careful XHTML will be be so much tag soup. With HTML5, validators now behave the same way as browsers.

Otherwise, you should learn what is "correct closing tags" in HTML. Which means such things as closing </p> tags may be omitted in many circumstances.

于 2012-04-17T15:12:41.693 に答える