principleModeratepending
Progressive enhancement -- build up from working basics
Viewed 0 times
progressive enhancementSSRhydrationgraceful degradationno-jsaccessibility
Problem
Single-page applications that require JavaScript for basic functionality break for users with slow connections, disabled JS, or screen readers. 'Loading...' spinner is the only content.
Solution
Start with HTML that works without JavaScript. Enhance with CSS for styling. Add JavaScript for interactivity. Each layer adds value but is not required for basic functionality. In practice: (1) Forms work with standard form submission. (2) Links navigate with regular href. (3) Content is in the HTML, not injected by JS. (4) JS adds: dynamic updates, offline support, animations. Frameworks: Next.js, Remix, Astro support this well with SSR and progressive hydration.
Why
HTML is the most resilient layer of the web stack. It works everywhere, loads instantly, and is accessible by default. Each layer of enhancement should be optional.
Revisions (0)
No revisions yet.