I am faced with the challenge of satisfying two different checkers: W3C validator and Google Page Insights
Google Page Insight advised me to asynchronously load all blocking CSS files. Therefore, I have modified the stylesheet inclusion by preloading it in the following way and deferring it from the head to the end of the body:
...
<link rel="preload" href="mystyles.css" media="all" as="style"
onload="this.rel='stylesheet'"/>
</body>
Google Page Insight required me to move it from the head to the end of the body.
Even though Google Page Insight is now satisfied, W3C Validator presented me with a new issue:
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
Why can't "preload" be used in the rel attribute outside of the head? I attempted to assign an itemprop, but having both an itemprop and a rel in the same link is not allowed.