John's commentary just triggered a thought in my head. We should stop saying that HTML Imports block rendering. Because in reality, they don't. It's the scripts that block rendering.
Steve's argument is not about HTML Imports needing to be async. It's about supporting legacy content with HTML Imports. And I have a bit less sympathy for that argument. You can totally build fully asynchronous HTML Imports-based documents, if you follow these two simple rules: 1) Don't put scripts after imports in main document 2) Use custom elements As an example: index.html: <link rel=import href=my-ad.html> ... <my-ad></my-ad> .. my-ad.html: <script> document.register("my-ad", ... ); ... There won't be any rendering blocked here. The page will render, then when my-add.html loads, it will upgrade the "my-ad" element to display the punch-the-monkey thing. :DG<