Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is Progressive Enhancement?

Tags:

Jeff mentioned the concept of 'Progressive Enhancement' when talking about using JQuery to write stackoverflow.

After a quick Google, I found a couple of high-level discussions about it.

Can anyone recommend a good place to start as a programmer.

Specifically, I have been writing web apps in PHP and would like to use YUI to improve the pages I am writing, but a lot of them seem very JavaScript based, with most of the donkey work being done using JavaScript. To me, that seems a bit overkill, since viewing the site without Javascript will probably break most of it.

Anyone have some good places to start using this idea, I don't really care about the language.

Ideally, I would like to see how you start creating the static HTML first, and then adding the YUI (or whatever Ajax framework) to it so that you get the benefits of a richer client?

like image 562
kaybenleroll Avatar asked Aug 05 '08 15:08

kaybenleroll


People also ask

What is progressive enhancement How and why is it important?

Progressive enhancement is a design philosophy that provides a baseline of essential content and functionality to as many users as possible, while delivering the best possible experience only to users of the most modern browsers that can run all the required code.

Which item is an example of progressive enhancement?

Progressive enhancement is used in the front ends of MediaWiki-powered sites such as Wikipedia, as it is readable, navigable, and even editable using the basic HTML interface without styling or scripts, though is enhanced by such. For example, the wikitext editor's toolbar is loaded and operates through JavaScript.

What is progressive enhancement in jquery mobile?

Progressive enhancement is the opposite of “graceful degradation,” which opts for a top-down approach: Define the best experience and degrade as gracefully as you can if the browser misses some required capabilities. Progressive enhancement can be considered a pattern for making your Web experience more responsive.

What is progressive CSS?

Progressive enhancement enables us to establish a solid baseline of cross-browser support and then enhance the design with advanced CSS features for supportive browsers. The key thing of course is to begin with a solid baseline design that works well in as many browsers as possible.


2 Answers

As you've said

To me, that seems a bit overkill, since viewing the site without Javascript will probably break most of it.

This isn't progressive enhancement. Progressive enhancement is when the site works perfectly without JavaScript or CSS, and then adding (layering) these extra technologies/code to increase the usability and functionality of the website.

The best example I can give is the tag input box on this website. With JavaScript turned off, it would still work allowing you to enter tags separated with a space. With JavaScript turned on, you get a drop down with suggestions of previous entries.

This is progressive enhancement.

like image 189
GateKiller Avatar answered Nov 30 '22 05:11

GateKiller


See also Unobtrusive JavaScript which is the bedrock progressive enhancement is built.

like image 26
sparkes Avatar answered Nov 30 '22 03:11

sparkes