Interaction to Next Paint: Profiling and Fixing Slow Interactions
A practical walkthrough of measuring Interaction to Next Paint and the concrete techniques for cutting down long input handlers that cause it.
Category
12 articles
A practical walkthrough of measuring Interaction to Next Paint and the concrete techniques for cutting down long input handlers that cause it.
How srcset and sizes let the browser pick the right image resolution automatically, and how to layer AVIF and WebP on top with picture and source.
How :has(), :is(), and :where() let CSS express parent-based and grouped selectors that used to require JavaScript or repetitive rules.
A practical comparison of WebSockets, Server-Sent Events, and WebTransport to help pick the right real-time transport for a given use case.
A walkthrough of how browsers turn a style change into pixels on screen, and why some CSS properties are far cheaper to animate than others.
How Cache-Control directives and ETags interact with browser and CDN caches, and where each layer disagrees in ways that cause stale content bugs.
A service worker with the wrong caching strategy is worse than no service worker at all. Here's how to pick the right one per resource type.
Web Components promise framework-agnostic UI, but the interop details — props vs attributes, events, and Shadow DOM styling — are where real integration breaks.
Smooth page and state transitions used to require a JavaScript animation library and careful DOM choreography. The View Transitions API does it natively.
Media queries respond to the viewport. Container queries respond to the component's own box — which is what most responsive design actually needed.
Alt attributes are the easy 10% of accessibility work. Focus management, semantic structure, and keyboard flow are where most sites actually fail.
LCP, INP, and CLS each fail for different reasons. A practical, metric-by-metric playbook for diagnosing and fixing each one.