2016-12-26 4 views
3

私は2つのチェッカーを満たすためにしようとしている:W3C validatorgoogle page insightリンクスタイルシートのプリロード

Googleのページインサイトは非同期的に、すべてのブロックのCSSファイルをロードするために私に提案しました。まあ、私は従うとして、プリロード方法でスタイルシートファイルのインクルードを書き換えて、体の先頭から最後まで延期しました:

... 
    <link rel="preload" href="mystyles.css" media="all" as="style" 
        onload="this.rel='stylesheet'"/> 
</body> 

GoogleのページInsightは頭からそれを取得し、それを置くために私を余儀なくさ体の終わりに

[OK]をGoogleのページの洞察力に対してOKです。

しかしW3C Validatorのは今私を言う:

Error: A link element must not appear as a descendant of a body element unless the link element has an itemprop attribute or has a rel attribute whose value contains dns-prefetch, pingback, preconnect, prefetch, prerender, or stylesheet

"プリロード" が頭のうち、rel属性には認められないのはなぜ?私はitempropを割り当てようとしましたが、同じリンクにitempropとrelを持つことはできません。

+0

リンクプリロードはドラフトであり、進行中です。 W3バリデーターは現在の標準に基づいています。 –

答えて

6

W3C HTMLチェッカー(バリデータ)の管理者はこちら。この原因はチェッカーのバグだった。 I added rel=preloadsupport to the checkerの場合、rel値のリストに値を追加するのを忘れて、チェッカーコードと比較して、特定のlink要素が本文に許可されているかどうかを判断します。

とにかくI’ve now fixed it in the checker sourcesと修正をhttps://validator.w3.org/nu/にプッシュしました。

したがって、チェッカーは上記のコードスニペットでエラーを報告しなくなります。これをキャッチするためにありがとう。