Description
render-blocking allows the author to specify which resources are important for a good first paint. This allows the browser to defer a Document's first paint (new load only) up till a timeout.
It currently supports a limited set of resources that allow the blocking attribute. Two common use-cases which are missing are:
- Images. Documents frequently have a hero image. While a network delay here could be too slow, fetching them from the disk cache could be worth the delay.
- Document itself. Authors have no way of saying whether the "above the fold" content has been parsed and fetched.
It would be good to extend this concept to cover the above use-cases. Likely with a generic promise based API like:
document.renderBlockUntil(loadBlockingResources);
The downside of a promise based API is that the browser has no visibility into which resources are render-blocking, to prioritize fetching them. But it provides a lot of flexibility, and would work well if other APIs can already be used to prioritize network work.
This API would also be an important building block for View Transitions.