Progressive Enhancement Building accessible web pages  or What is a Turducken? Bruce Morrison Brisbane Web Design - 17 June 2010
How things used to be done.
Graceful Degradation
Complex Simple
 
Progressive Enhancement
Simple Complex
(x)HTML Content
Presentation CSS
Behavior JavaScript
Turducken! Yum!
Core Principles
Basic  content  should be accessible to all browsers
Basic  functionality  should be accessible to all browsers
Sparse, semantic markup contains all content
Enhanced layout is provided by externally linked CSS
Enhanced behavior is provided by unobtrusive, externally linked JavaScript
End user browser preferences are respected
Pros
Greater accessibility Better SEO  Usable site on more browsers and devices 
Cons
Requires upfront planning Can be difficult to execute
Example
<a href=&quot;http://www.external.site.com/&quot;      class=&quot;external&quot; > An external site </a> Content
Presentation a.external  {    background:transparent      url(../images/external-link.png)      no-repeat scroll right center;    padding-right:17px; }
Behavior $(document).ready(function(){    $(&quot; a.external &quot;).click(function() {      window.open(this.href);      return false;    }); });
Links Wikipedia  http://en.wikipedia.org/wiki/Progressive_enhancement A List Apart http://www.alistapart.com/articles/understandingprogressiveenhancement/ Smashing Magazine http://www.smashingmagazine.com/2009/04/22/progressive-enhancement-what-it-is-and-how-to-use-it/ Dev.Opera http://dev.opera.com/articles/view/graceful-degradation-progressive-enhance/
@brucemorrison

Progressive Enhancement

Editor's Notes

  • #2 Who has Heard of progressive enhancement? Heard of graceful degradation? Remembers the browsers wars and building for IE first and then making it look ok on other browsers? Knows what a turducken is?
  • #3 First a look at how things used to be done.
  • #4 Sounds kind of nice but believe it is wasn&apos;t! Build your site to work in the most popular browser (IE) then make it work in other browsers 
  • #5 Created a finished product then retro fit to work in other browsers
  • #6 Ask users to upgrage their browser Best viewed in IE5 Text only alternative site
  • #7 The term Progressive enhancement was coined Steven Champeon in 2003  Attempts to create websites that &amp;quot;work&amp;quot; on the widest number of browser platforms older browsers mobile devices
  • #8 Reverse of GD Start simple and add complexity
  • #9 Content is marked up with  good semantic (x)HTML
  • #10 Add presentation with CSS
  • #11 Add behavior with JavaScript
  • #12 The base layer is the xHTML (chicken) Add the presentation using CSS (duck) Add and behaviors/interaction using JavaScript (turkey)
  • #13 There are 6 core principles of PE
  • #19 End user browser preferences are respected
  • #24 Say we want external links to be indicated as such and open in a new window when clicked.
  • #26 Linked into the HTML There are CSS selectors now that 
  • #27 Linked into the HTML
  • #28 Linked into the HTML