All glossary terms
Design

Progressive enhancement

Progressive enhancement is the design strategy of building a page that works at a minimum HTML+CSS baseline, then layering interactive enhancements on top via JavaScript. A progressively-enhanced form submits via plain HTML if JavaScript fails or is disabled, then optionally upgrades to a JS-enhanced experience.

Progressive enhancement was the dominant frontend philosophy in the 2010s, fell out of fashion during the SPA era, and has returned to mainstream practice with Next.js App Router, Remix, and similar frameworks that treat form submissions as server actions with optional JavaScript enhancement. The model produces resilience (the page works even if JS fails to load, errors, or is blocked), accessibility (screen readers and keyboard users get the baseline experience), and SEO friendliness (crawlers see complete content). The cost is the discipline of building the baseline and the enhancement separately, though modern frameworks reduce that cost substantially.

Related terms