progressive enhancement

  progressive enhancement  is the web development practice of building web pages, sites, apps so they are at least readable, and preferably allow for most if not all interactions, from any kind of browser, and optionally take advantage of additional capabilities (like various CSS & JS features) when available.

At a minimum, pages designed and built with progressive enhancement should be curlable.

The BBC has a definition for this that goes:

"The core purpose of every document must not require JavaScript or CSS to function."

This is in stark contrast to the anti-pattern of writing everything in JavaScript.

Articles

 * , with code examples of a form getting enhanced.
 * , introduces what progressive enhanvement is, as well as addresses some of the reasons given to dismiss the practice.
 * https://en.wikipedia.org/wiki/Progressive_Enhancement
 * 2015-08-26 A fictional conversation about progressive enhancement
 * 2013-09-03 Jake Archibald Progressive enhancement is faster