Progressive Enhancement is a web design strategy that approaches the same problems tackled by
Graceful Degradation but from the opposite direction. Rather than a designer creating a compelling experience for the latest browsers and then making it degrade acceptably for older browsers, a designer ensures that basic functionality is available to
all browsers and then offers additional functionality to those with a higher specification.
Wikipedia states that
Progressive Enhancement consists of the following core principles:
- basic content should be accessible to all browsers
- basic functionality should be accessible to all browsers
- sparse, semantic mark-up contains all content
- enhanced layout is provided by externally linked CSS
- enhanced behaviour is provided by unobtrusive, externally linked JavaScript
- end user browser preferences are respected
This approach has lead to the adoption of related ideas such as
Unobtrusive JavaScript (as now supported by Microsoft MVC 3).
References