Progressive enhancement is a strategy of building a baseline experience that works with plain HTML, then adding styling and scripted features that improve it when the browser supports them.
Why it matters
Pages built this way keep working when a script fails to load, a corporate filter blocks a domain or a user has an older device. It also helps search engines and accessibility. It contrasts with graceful degradation, which starts with the full experience and tries to patch the fallbacks later.
Example
A search form that works without JavaScript:
<form action="/search" method="get">
<input name="q"><button>Search</button>
</form>
A script can later intercept the submit and show results inline, but if it fails the form still loads a results page.
Common mistakes
- Equating it with supporting users who disable JavaScript. Failures are far more often network or script errors.
- Building everything in JavaScript and adding a noscript message as an afterthought.
- Using features without checking support first.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.