Web development and performance
What is Progressive enhancement?
Progressive enhancement means building a page so its core function works with HTML alone, then layering JavaScript on top to improve it. The result works on a slow connection, with a script blocked, or in a browser that fails halfway through loading.
Also called: graceful degradation
What it looks like in practice
- A form that posts to a server handler and works with scripting disabled, with client-side validation added on top
- Links that are real anchors with href attributes rather than click handlers
- Content in the HTML, with JavaScript improving how it is presented rather than creating it
- Navigation that works before any script runs
Why it is a commercial argument, not a purist one
Scripts fail. A CDN hiccups, a browser extension blocks something, a phone drops to 3G in a lift. On a site whose only conversion is a form, a failed script is a lost enquiry — and nobody reports it, so you never learn it happened.
The accessibility overlap
Almost everything progressive enhancement asks for — real elements, real labels, working without JavaScript — is also what assistive technology needs. The two disciplines produce the same code for different reasons.
Where this is covered in depth
A definition can only go so far. Core Web Vitals, and the order that actually reduces them covers this properly — 3 minutes, free, no email required.
Who wrote this
Anas Bin Masud builds e-commerce sites and does technical SEO for businesses in the UK, Canada and Pakistan. These definitions come from client work rather than from a content brief — where an entry describes a mistake, it is usually one found on a real site. More about how I work.