Progressive Enhancement & Mobile [HOW Interactive 2012]
-
Upload
aaron-gustafson -
Category
Technology
-
view
23.227 -
download
0
description
Transcript of Progressive Enhancement & Mobile [HOW Interactive 2012]
PROGRESSIVEENHANCEMENT
Aaron GustafsonaarongustafsonslidesharenetAaronGustafson
ampMOBILE
BROWSERS ARE A PAIN IN THE ASS
copy Brad Frost
copy Brad Frost
Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1024 pixel wide screen Times have really changedldquo
Jason SamuelsIT ManagerNational Council on Family RelationsSource
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BROWSERS ARE A PAIN IN THE ASS
copy Brad Frost
copy Brad Frost
Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1024 pixel wide screen Times have really changedldquo
Jason SamuelsIT ManagerNational Council on Family RelationsSource
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
copy Brad Frost
copy Brad Frost
Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1024 pixel wide screen Times have really changedldquo
Jason SamuelsIT ManagerNational Council on Family RelationsSource
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
copy Brad Frost
Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1024 pixel wide screen Times have really changedldquo
Jason SamuelsIT ManagerNational Council on Family RelationsSource
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Just four years ago the majority of our visitors saw our website in Internet Explorer on a Windows computer on a minimum 1024 pixel wide screen Times have really changedldquo
Jason SamuelsIT ManagerNational Council on Family RelationsSource
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Windows users used to comprise 935 of our web visits Now that percentage is 724 Visitors using a Mac have more than tripledldquo
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
The percentage visiting from a mobile device or tablet hellip was just01 in 2008 It has since grown exponentially
200-400 per yearto 62 today
ldquo
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Four years ago 755 of our web visitors used Internet Explorer That number has fallen to 37 Firefox now comprises 255 Safari 195 and Chrome 153ldquo
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
In the second quarter of 2008 we detected 71 dierent screen resolutions among our visitors In the rst quarter of 2012 we detectedldquo
830
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
LETrsquoS TALKMOBILE
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
FIRST OFFMOBILEIS NOT THEBEST WORD
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
of our daily media interactions
21Out of home
79At home
40Out of home
60At home
54
31Out of home
69At home
PC use is motivated by Computer Smartphone Tablet
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
90 of people use multiple screens sequentially
MOBILE IS NOTISOLATED
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtml
60
4
45
3
58
5
56
3
61
4
58
8
48
8
Continued on a PC
Continued on a tablet
Planning a Trip
Managing Finances
Social Networking
Searching for Info
Browsing the Internet
Watching an Online Video
ShoppingOnline
starting place for online activities
65 4763 5965 66 56Started on smartphone
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpgooglemobileadsblogspotcouk201208navigating-new-multi-screen-worldhtmlBase Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
Base Total Answering Follow-Up Occasion (Search) ndash PCLaptop (492) Smartphone (216) Tablet not shown due to small base size Q Would you consider your use of Dgt(9Ζamp(WREHSODQQHGRUVSXURIWKHPRPHQWVSRQWDQHRXVDVH6SRQWDQHRXVVHDUFKHV6PDUWSKRQH3ampKLFKRIWKHVHEHVWGHVFULEHVWKLVDFWLYLW 35
Often this is for ldquospur-of-the-momentrdquo activity Spontaneous vs Planned Search
6PDUWSKRQH 3ampDSWRS
of all spontaneous searches on smartphones were to
accomplish a goal
44of all spontaneous
searches on PCs were to accomplish a goal
43
20Planned
80
48Planned
52SpontaneousSpontaneous
MOBILE = OPPORTUNITY
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
WHAT IS MOBILE
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
WHAT IS MOBILE
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
There is no WebKit on Mobile
mdash Peter-Paul Kochldquo
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
WebKit vs Acid3
httpwwwquirksmodeorgwebkit_mobilehtml
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Surely therersquos platform consistency
mdash Any sane individual
ldquo
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
There is no Androidmdash Stephanie Riegerldquo
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpyfrogcomzob5kndj
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BUT ANDROIDIS NOT UNIQUE
IN THIS
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE CULPRITSSCREEN SIZE
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE CULPRITSEMBEDDED VIEWS
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE CULPRITSBROWSER CHROME
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE CULPRITSZOOM LEVEL
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE CULPRITSZOOM LEVEL(Ok this onersquos on Android)
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
2009 2010 2011
6 Billion
2009 2010 2011httpmobithinkingcommobile-marketing-toolslatest-mobile-statsasubscribers
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
OVER 80OF THESE ARE
FEATURE PHONESNOT SMARTPHONES
httpdevelopintheclouddrdobbscomauthoraspdoc_id=253055ampsection_id=2280
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
ESPECIALLY TRUE IN DEVELOPING COUNTRIES
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
INTERNET IN KENYA MOBILE = 90
httpwwwcckgokerescdownloadsSECTOR_STATISTICS_REPORT_Q4_11-12pdf
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THE REALITY
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
ldquoThe commoditization of smartphone hardware is just the beginning hellip of a huge new wave of cheap devices about to invade our livesmdasha zombie apocalypse of electronics if you will
mdash Scott Jenson
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Umhellip I think Irsquoll just build an iPhone app
kthxbye
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
NATIVEvs
WEB
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
NATIVEvs
WEB
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
copy Brad Frost
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
copy Brad Frost
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
WE DONrsquoT KNOW
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
WE DONrsquoT KNOW
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
EVEN WHENWE THINKWE KNOW
WE AREPROBABLY
WRONG
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
SO HOW DO WE COPE
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
TECHNOLOGICALRESTRICTIONS
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
I like an escalator because an escalator can never breakit can only become stairs
mdash Mitch Hedberg
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
GRACEFULDEGRADATION
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
MODERN BROWSERS
OLDER BROWSERS
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
MODERN BROWSERS
OLDER BROWSERS
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
a dynamic web page can never break it can only become a web page
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
CONTENT
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
CONTENT
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
ACCESSIBILITY
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
ldquoSPECIAL NEEDSrdquo
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
ldquoSPECIAL NEEDSrdquo
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
CAN BECONTEXTUAL
ldquoSPECIAL NEEDSrdquo
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
GRACEFUL DEGRADATION PROGRESSIVEENHANCEMENT
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
OOOH SHINY
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT
ISNrsquoT ABOUT BROWSERS
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BROWSERS AND TECHNOLOGIES COME AND GO
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
DONrsquoT LOSE SIGHT OF YOUR USERS
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Graceful Degradation ProgressiveEnhancement
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Graceful Degradation ProgressiveEnhancement
ResponsiveWeb Design
MobileFirst
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
NEWER OLDER
Use
r Exp
erie
nce
Browser Age
Graceful Degradation
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Progressive Enhancement
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Content
Semantics
Design
Interactivity
Accessibility
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
BASIC ADVANCED
Use
r Exp
erie
nce
Browser amp Device Capabilities
Text amp HTTP
HTML
CSS
JavaScript
ARIA
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
HTML
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
HTMLHTML5
Microformats
HTML4
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
EXAMPLES
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Semantics 101ltpgtHTML5 introduces several ltemgtreallyltemgt useful elements and a ton of new APIsltpgt
ltpgtPlease fill out the form below ltstronggtNote all fields are requiredltstronggtltpgt
ltpgtI like to work with markup languages because ltstronggtthey are simple and easy to readltstronggt They also have that certain lti lang=fr title=I donamp8217t know whatgtje ne sais quoiltigtltpgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltvideo poster=rdquoposterpngrdquogt ltsource src=rdquovideom4vrdquogt ltsource src=rdquovideowebmrdquogt ltsource src=rdquovideoogvrdquogt ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgtltvideogt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML
ltimg src=rdquoposterpngrdquo alt=rdquordquogt ltulgt ltligtlta href=videom4vgtDownload MP4ltagtltligt ltligtlta href=videowebmgtDownload WebMltagtltligt ltligtlta href=video ogvgtDownload Oggltagtltligt ltulgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTMLltinput type=date name=dobgt
I get it I donrsquot get it -(
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with Microformatsltsection class=vcardgt ltfiguregt ltimg class=photo src=aaron-gustafsonjpg alt=gt ltfiguregt lth1 class=fngtAaron Gustafsonlth1gt hellip ltpgtAaron hellip is ltb class=rolegtGroup Managerltbgt of the lta class=org href=httpwebstandardsorggtWeb Standards Project (WaSP)ltagt hellipltpgtltsectiongt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with HTML amp ARIAltheader role=rdquobannerrdquogt lth1gtltimg src=ilogopnggtlth1gt ltnav role=rdquonavigationrdquogt ltolgt ltligtlta href=detailsgtDetailsltagtltligt ltligtlta href=schedulegtScheduleltagtltligt ltligtlta href=instructorsgtInstructorsltagtltligt ltligtlta href=lodginggtLodgingltagtltligt ltligtlta href=locationgtLocationltagtltligt ltolgt ltnavgtltheadergt
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
These are the droids you seekltspan role=buttongtOKltspangt
ltdiv role=alertgt ltpgtSomething went wrongltpgtltdivgt
ltdiv role=alertdialoggt ltpgtSomething went wrongltpgt ltimg src=xpng alt=dismiss role=button gtltdivgt
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors
p color red font-weight bold
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsp color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorshtml[lang] p color ccc color rgba( 0 0 0 5 )
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errors-moz-document url-prefix() html[lang] p color ccc color rgba( 0 0 0 5 )
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
intro Basic Layout
body[id=css-zen-garden] intro Advanced Layout
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
intro Basic Layout
[foo] intro Advanced Layout
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Parsing errorsimport not-for-IE7-or-belowcss screen
media screen print refrigerator IE will get these rules
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocksmedia screen Styles for screen media only
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Media blocks+media screen and (max-width450px) Styles for screen media when browser is 450px wide or below
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Donrsquot do thismedia screen and (min-device-width1024px) and (max-width989px) screen and (max-device-width480px) screen and (max-device-width480px) and (orientationlandscape) screen and (min-device-width481px) and (orientationportrait) Layout for narrower desktop (below 990px) or iPhone running iOS 3 (or equivalent) or iPhone running iOS 4 (or equivalent) in ldquolandscaperdquo view or iPad (or equivalent) in ldquoportraitrdquo view
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
Mobile First w media queries Universal Layout
media screen Styles for all screens
media screen and (min-width481px) Styles for all screens 480px+ width
media screen and (min-width754px) Styles for all screens 754px+ width
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
httpisgdlazyloading_demo
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltinput class=tweet-counter value=140 disabled=disabledgt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan id=chars_left_notice class=numericgt ltstrong id=status-field-char-counter class=char-countergt140ltstronggtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
hidden position absolute left 999em
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript
ltspan class=tweet-countergtmaximum of 140 charactersltspangt
ltspan class=tweet-countergt140 ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
ltspan aria-live=polite aria-atomic=true class=tweet-countergt140ltb class=hiddengt characters remainingltbgtltspangt
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=applicationaria-activedescendant=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tablist
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=truearia-controls=folder-1
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIArole=tabaria-selected=falsearia-controls=folder-4
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
role=tabpanelaria-hidden=falsearia-labelledby=folder-1-tab
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
PROGRESSIVE ENHANCEMENT amp MOBILE
PE with JavaScript amp ARIA
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
THANK YOUhttpreadlistscom7d414b24
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745
Progressive Enhancementamp Mobileby Aaron GustafsonAaronGustafson
Further readinghttpadaptivewebdesigninfo
httpblogeasy-designsnethttpmobilewebbestpracticescom
Slides available athttpslidesharenetAaronGustafson
This presentation is licensed underCreative Commons
Attribution-Noncommercial-Share Alike 30except where otherwise noted
flickr Photo Creditshttpwwwickrcomphotosaarongustafsongalleries72157629846428745