540 likes | 566 Views
If you’ve been working on the web for any amount of time, you’ve likely heard (or even used) the term “progressive enhancement” before. As you probably know, it is the gold standard of how to approach web design. But what is progressive enhancement really? What does it mean? How does it work? And how does it fit into our workflow in a time of rapidly evolving languages and browsers? In this session, Aaron Gustafson will answer all of these questions and provide concrete takeaways that will help you improve your web design skills.
E N D
CRAFTING RICH EXPERIENCES with progressive enhancement
TECHNOLOGICAL RESTRICTIONS
MCMLXXVII (that’s 1977)
HTML CSS
fault tolerance n. a system’s ability to continue to operate when it encounters and unexpected error.
BROWSERS IGNORE WHAT THEY DON’T UNDERSTAND
GRACEFUL DEGRADATION
MODERN BROWSERS OLDER BROWSERS
PROGRESSIVE ENHANCEMENT
“SPECIAL NEEDS” CAN BE CONTEXTUAL
PROGRESSIVE ENHANCEMENT GRACEFUL DEGRADATION
PROGRESSIVE ENHANCEMENT ISN’T ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DON’T LOSE SIGHT OF YOUR USERS
User Experience BASIC ADVANCED Browser Capabilities
User Experience BASIC ADVANCED Browser Capabilities Content
User Experience Browser Capabilities Semantics BASIC ADVANCED Content
User Experience Design Browser Capabilities Semantics BASIC ADVANCED Content
User Experience Interactivity Design Browser Capabilities Semantics BASIC ADVANCED Content
User Experience Accessibility Interactivity Design Browser Capabilities Semantics BASIC ADVANCED Content
User Experience ARIA JavaScript CSS Browser Capabilities HTML BASIC ADVANCED Text & HTTP
<video poster=”poster.png”> <source src=”video.m4v”/> <source src=”video.webm”/> <source src=”video.ogv”/> <img src=”poster.png” alt=””/> <ul> <li><a href="video.m4v">Download MP4</a></li> <li><a href="video.webm">Download WebM</a></li> <li><a href="video ogv">Download Ogg</a></li> </ul> </video>
<header role=”banner”> <h1><img src="i/logo.png"/></h1> <nav role=”navigation”> <ol> <li><a href="#details">Details</a></li> <li><a href="#schedule">Schedule</a></li> <li><a href="#instructors">Instructors</a></li> <li><a href="#lodging">Lodging</a></li> <li><a href="#location">Location</a></li> </ol> </nav> </header>
p { color: #ccc; color: rgba( 0, 0, 0, .5 ); }
html[lang] p { color: #ccc; color: rgba( 0, 0, 0, .5 ); }
IE6 & under MOSe
#intro { /* Basic Layout */ } /* ... */ body[id=css-zen-garden] #intro { /* Advanced Layout */ }
#intro { /* Basic Layout */ } /* ... */ [foo], #intro { /* Advanced Layout */ }
@import 'not-for-IE7-or-below.css' screen; @media screen, print, refrigerator { /* IE will get these rules */ }