SlideShare una empresa de Scribd logo
1 de 23
Responsive Web Design and
Accessibility
Challenges and Solutions
Twitter: @dylanbarrell
GitHub: @dylanb
dylan.barrell@deque.com
http://dylanb.github.io/
http://unobfuscated.blogspot.com/
The Promise of RWD
© 2014 - All Rights Reserved 1
Example Responsive Site
© 2014 - All Rights Reserved 2
Example Responsive Site
© 2014 - All Rights Reserved 3
The Promise of RWD
© 2014 - All Rights Reserved 4
• Opportunity to:
– Add support for all devices
– Maintain a Single Code Base
– Modernize
– De-Clutter the UI
– Use Semantic Markup
– Achieve Accessibility
Things To Watch
© 2014 - All Rights Reserved 5
• Keyboard
• Tables
• Focus
• Zooming
• Style Sheets
• Gestures
• ARIA differences
Keyboard
© 2014 - All Rights Reserved 6
• iOS does not send JavaScript events for
– LEFT, UP, DOWN, RIGHT
– (caveat, have not tried 7.1)
• ARIA Authoring Guidelines require arrow
keys
Keyboard
© 2014 - All Rights Reserved 7
• iOS does not send JavaScript events for
– LEFT, UP, DOWN, RIGHT
– (caveat, have not tried 7.1)
• ARIA Authoring Guidelines require arrow
keys
Use standard HTML 5 input types
Use gestures
Insert dynamic content inline (screen reader
hints)
Scale the widget to fit the screen
Data Tables
© 2014 - All Rights Reserved 8
• 3D tables do not work on iOS
• 2D headers (th) only first row and column
in iOS
• headers attribute does not work on OS
X/iOS
Data Tables
© 2014 - All Rights Reserved 9
• 3D tables do not work on iOS
• 2D headers (th) only first row and column
in iOS
• headers attribute does not work on OS
X/iOS
Try to redesign the UI (e.g. use lists instead)
Try to keep data tables to 2D
Use scope attribute on 2D tables
Responsive Tables
© 2014 - All Rights Reserved 10
• Unless you do something, responsive
data tables will be inaccessible
– Data table algorithm does not work without
display:table
Responsive Tables (soln. 1)
© 2014 - All Rights Reserved 11
@media (max-width: {breakPoint}) {
/* Force table to not be like tables anymore but still be navigable as a table */
table, thead, tbody, tr {
width: 100%;
}
td, th {
display: block;
}
/* Hide table headers with display: none because accessibility APIs do not pick up
reliably on these headers anyway */
thead tr {
display:none;
}
tr { border: 1px solid #ccc; }
td, th {
/* Behave like a "row" */
border: none;
border-bottom: 1px solid #eee;
position: relative;
}
}
Responsive Tables (soln. 2)
© 2014 - All Rights Reserved 12
<table role=“grid”>
</table>
Focus
© 2014 - All Rights Reserved 13
• iOS will not focus dynamically inserted
elements consistently
– Element must be in the DOM and “visible” for
about 1 second in order to consistently receive
focus
Write a focus utility that uses setTimeout()
Zooming
© 2014 - All Rights Reserved 14
• Auto zoom can make touch to explore
difficult
• Sighted users need to be able to zoom
– 200% the absolute minimum for WCAG 2 AA
Zooming
© 2014 - All Rights Reserved 15
• Auto zoom can make touch to explore
difficult
• Sighted users need to be able to zoom
– 200% the absolute minimum for WCAG 2 AA
Use 19pt or bigger for all form fields
Use em instead of px/%
Do not use meta viewport maximum
Style Sheets
© 2014 - All Rights Reserved 16
• Multiple break points mean multiple tests
– Need to replicate all your accessibility testing for each size
– Adding a high contrast style sheet multiplies this
• Content positioned off screen is still visible to
screen readers
Style Sheets
© 2014 - All Rights Reserved 17
• Multiple break points mean multiple tests
– Need to replicate all your accessibility testing for each size
• Adding a high contrast style sheet multiplies this
• Content positioned off screen is still visible to
screen readers
Make your main style sheet high contrast
Use automated tools for testing
Use display:none for hidden content
Gestures
© 2014 - All Rights Reserved 18
• Screen Readers intercept gestures
• VoiceOver has a gesture pass through mode
– 10 gestures
• Zoomed screens’ gesture velocity is different
Gestures
© 2014 - All Rights Reserved 19
• Screen Readers intercept gestures
• VoiceOver has a gesture pass through mode
– 10 gestures
• Zoomed screens’ gesture velocity is different
Use 19pt font to avoid auto zoom
Detect zoom
Simplify interaction
ARIA differences
© 2014 - All Rights Reserved 20
• ARIA support is still quite variable
– aria-expanded
– aria-live
– dynamic roles
• Bad examples
– http://alistapart.com/article/accessibility-the-missing-
ingredient
ARIA differences
© 2014 - All Rights Reserved 21
• ARIA support is still quite variable
– aria-expanded
– aria-live
– dynamic roles
• Bad examples
– http://alistapart.com/article/accessibility-the-missing-
ingredient
Test everywhere
Use a compatibility/component library (a11yfy)
Questions?
Twitter: @dylanbarrell
GitHub: @dylanb
dylan.barrell@deque.com
http://dylanb.github.io/
http://unobfuscated.blogspot.com/
© 2014 - All Rights Reserved 22

Más contenido relacionado

La actualidad más candente

Introduction to mobile accessibility
Introduction to mobile accessibilityIntroduction to mobile accessibility
Introduction to mobile accessibilityJon Gibbins
 
Demystifying Mobile: Designing with Accessibility in Mind
Demystifying Mobile: Designing with Accessibility in MindDemystifying Mobile: Designing with Accessibility in Mind
Demystifying Mobile: Designing with Accessibility in MindInteractive Accessibility
 
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti   Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti Smash Tech
 
The mobile ecosystem & technological strategies
The mobile ecosystem & technological strategiesThe mobile ecosystem & technological strategies
The mobile ecosystem & technological strategiesIvano Malavolta
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experienceSameer Chavan
 
Designing for Touch and Sensor for Mobiles & Tablets
Designing for Touch and Sensor for Mobiles & TabletsDesigning for Touch and Sensor for Mobiles & Tablets
Designing for Touch and Sensor for Mobiles & TabletsSameer Chavan
 
Briding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingBriding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingTom Deryckere
 
Mobile App vs Mobile Web Development
Mobile App vs Mobile Web DevelopmentMobile App vs Mobile Web Development
Mobile App vs Mobile Web DevelopmentTAG_education
 
INSEMTIVES Tutorial ISWC2011 - Session5
INSEMTIVES Tutorial ISWC2011 - Session5INSEMTIVES Tutorial ISWC2011 - Session5
INSEMTIVES Tutorial ISWC2011 - Session5INSEMTIVES project
 
Responsive Web Design: Advantages & Best Practice - Darrin Adams, Cantarus
Responsive Web Design: Advantages & Best Practice - Darrin Adams, CantarusResponsive Web Design: Advantages & Best Practice - Darrin Adams, Cantarus
Responsive Web Design: Advantages & Best Practice - Darrin Adams, CantarusInternet World
 
Responsive Web Design - Advantages and Best Practice for Sports Direct
Responsive Web Design - Advantages and Best Practice for Sports DirectResponsive Web Design - Advantages and Best Practice for Sports Direct
Responsive Web Design - Advantages and Best Practice for Sports DirectCantarus
 
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGCSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGMary Jo Mueller
 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2GeneXus
 
Usability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyUsability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyDániel Góré
 
iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)Jon Gibbins
 

La actualidad más candente (20)

Introduction to mobile accessibility
Introduction to mobile accessibilityIntroduction to mobile accessibility
Introduction to mobile accessibility
 
Mobile hci
Mobile hciMobile hci
Mobile hci
 
Demystifying Mobile: Designing with Accessibility in Mind
Demystifying Mobile: Designing with Accessibility in MindDemystifying Mobile: Designing with Accessibility in Mind
Demystifying Mobile: Designing with Accessibility in Mind
 
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti   Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
Android UX-UI Design for fun and profit | Fernando Cejas | Tuenti
 
The mobile ecosystem & technological strategies
The mobile ecosystem & technological strategiesThe mobile ecosystem & technological strategies
The mobile ecosystem & technological strategies
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experience
 
Designing for Touch and Sensor for Mobiles & Tablets
Designing for Touch and Sensor for Mobiles & TabletsDesigning for Touch and Sensor for Mobiles & Tablets
Designing for Touch and Sensor for Mobiles & Tablets
 
Mobile web development
Mobile web development Mobile web development
Mobile web development
 
WEB INTERFACE DESIGN
WEB INTERFACE DESIGNWEB INTERFACE DESIGN
WEB INTERFACE DESIGN
 
Briding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishingBriding the Gap between Desktop and Mobile publishing
Briding the Gap between Desktop and Mobile publishing
 
Mobile App vs Mobile Web Development
Mobile App vs Mobile Web DevelopmentMobile App vs Mobile Web Development
Mobile App vs Mobile Web Development
 
INSEMTIVES Tutorial ISWC2011 - Session5
INSEMTIVES Tutorial ISWC2011 - Session5INSEMTIVES Tutorial ISWC2011 - Session5
INSEMTIVES Tutorial ISWC2011 - Session5
 
Responsive Web Design: Advantages & Best Practice - Darrin Adams, Cantarus
Responsive Web Design: Advantages & Best Practice - Darrin Adams, CantarusResponsive Web Design: Advantages & Best Practice - Darrin Adams, Cantarus
Responsive Web Design: Advantages & Best Practice - Darrin Adams, Cantarus
 
Responsive Web Design - Advantages and Best Practice for Sports Direct
Responsive Web Design - Advantages and Best Practice for Sports DirectResponsive Web Design - Advantages and Best Practice for Sports Direct
Responsive Web Design - Advantages and Best Practice for Sports Direct
 
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAGCSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
CSUN 2017 - ACT Now: Accessibility Conformance Testing for WCAG
 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2
 
Usability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt AcademyUsability Workshop at Lillebaelt Academy
Usability Workshop at Lillebaelt Academy
 
iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)iOS and Android accessibility APIs (AccessU 2017)
iOS and Android accessibility APIs (AccessU 2017)
 
Universal usability
Universal usabilityUniversal usability
Universal usability
 
mobile usability
mobile usabilitymobile usability
mobile usability
 

Similar a Responsive Web Design and Accessibility: Challenges and Solutions

Real life-maf-2015
Real life-maf-2015Real life-maf-2015
Real life-maf-2015Luc Bors
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppFITC
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealJim Duffy
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Damien Antipa
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Centurydreamwidth
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJulia Vi
 
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...Kony, Inc.
 
Module 2-web-a11y-steve lee
Module 2-web-a11y-steve leeModule 2-web-a11y-steve lee
Module 2-web-a11y-steve leeSteve Lee
 
Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page applicationOren Shatken
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Coveros, Inc.
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Sauce Labs
 
Real life-maf-2015-k scope-final
Real life-maf-2015-k scope-finalReal life-maf-2015-k scope-final
Real life-maf-2015-k scope-finalLuc Bors
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMukteswar Patnaik
 
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.js
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.jsWeb Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.js
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.jsAlex Blom
 
Dissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksDissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksOnapsis Inc.
 
Building an Adaptive App in Ember
Building an Adaptive App in EmberBuilding an Adaptive App in Ember
Building an Adaptive App in EmberFeather Knee
 

Similar a Responsive Web Design and Accessibility: Challenges and Solutions (20)

Real life-maf-2015
Real life-maf-2015Real life-maf-2015
Real life-maf-2015
 
Practical HTML5
Practical HTML5Practical HTML5
Practical HTML5
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js App
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Designing for Everybody Workshop
Designing for Everybody WorkshopDesigning for Everybody Workshop
Designing for Everybody Workshop
 
Using Thaana on Android
Using Thaana on AndroidUsing Thaana on Android
Using Thaana on Android
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big Deal
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Century
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
 
Module 2-web-a11y-steve lee
Module 2-web-a11y-steve leeModule 2-web-a11y-steve lee
Module 2-web-a11y-steve lee
 
Rise of the responsive single page application
Rise of the responsive single page applicationRise of the responsive single page application
Rise of the responsive single page application
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
 
Real life-maf-2015-k scope-final
Real life-maf-2015-k scope-finalReal life-maf-2015-k scope-final
Real life-maf-2015-k scope-final
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile Solution
 
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.js
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.jsWeb Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.js
Web Unleashed Toronto 2015: Hybrid Mobile Apps with Ember.js
 
Dissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI FrameworksDissecting and Attacking RMI Frameworks
Dissecting and Attacking RMI Frameworks
 
Building an Adaptive App in Ember
Building an Adaptive App in EmberBuilding an Adaptive App in Ember
Building an Adaptive App in Ember
 

Último

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 

Último (17)

Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 

Responsive Web Design and Accessibility: Challenges and Solutions

  • 1. Responsive Web Design and Accessibility Challenges and Solutions Twitter: @dylanbarrell GitHub: @dylanb dylan.barrell@deque.com http://dylanb.github.io/ http://unobfuscated.blogspot.com/
  • 2. The Promise of RWD © 2014 - All Rights Reserved 1
  • 3. Example Responsive Site © 2014 - All Rights Reserved 2
  • 4. Example Responsive Site © 2014 - All Rights Reserved 3
  • 5. The Promise of RWD © 2014 - All Rights Reserved 4 • Opportunity to: – Add support for all devices – Maintain a Single Code Base – Modernize – De-Clutter the UI – Use Semantic Markup – Achieve Accessibility
  • 6. Things To Watch © 2014 - All Rights Reserved 5 • Keyboard • Tables • Focus • Zooming • Style Sheets • Gestures • ARIA differences
  • 7. Keyboard © 2014 - All Rights Reserved 6 • iOS does not send JavaScript events for – LEFT, UP, DOWN, RIGHT – (caveat, have not tried 7.1) • ARIA Authoring Guidelines require arrow keys
  • 8. Keyboard © 2014 - All Rights Reserved 7 • iOS does not send JavaScript events for – LEFT, UP, DOWN, RIGHT – (caveat, have not tried 7.1) • ARIA Authoring Guidelines require arrow keys Use standard HTML 5 input types Use gestures Insert dynamic content inline (screen reader hints) Scale the widget to fit the screen
  • 9. Data Tables © 2014 - All Rights Reserved 8 • 3D tables do not work on iOS • 2D headers (th) only first row and column in iOS • headers attribute does not work on OS X/iOS
  • 10. Data Tables © 2014 - All Rights Reserved 9 • 3D tables do not work on iOS • 2D headers (th) only first row and column in iOS • headers attribute does not work on OS X/iOS Try to redesign the UI (e.g. use lists instead) Try to keep data tables to 2D Use scope attribute on 2D tables
  • 11. Responsive Tables © 2014 - All Rights Reserved 10 • Unless you do something, responsive data tables will be inaccessible – Data table algorithm does not work without display:table
  • 12. Responsive Tables (soln. 1) © 2014 - All Rights Reserved 11 @media (max-width: {breakPoint}) { /* Force table to not be like tables anymore but still be navigable as a table */ table, thead, tbody, tr { width: 100%; } td, th { display: block; } /* Hide table headers with display: none because accessibility APIs do not pick up reliably on these headers anyway */ thead tr { display:none; } tr { border: 1px solid #ccc; } td, th { /* Behave like a "row" */ border: none; border-bottom: 1px solid #eee; position: relative; } }
  • 13. Responsive Tables (soln. 2) © 2014 - All Rights Reserved 12 <table role=“grid”> </table>
  • 14. Focus © 2014 - All Rights Reserved 13 • iOS will not focus dynamically inserted elements consistently – Element must be in the DOM and “visible” for about 1 second in order to consistently receive focus Write a focus utility that uses setTimeout()
  • 15. Zooming © 2014 - All Rights Reserved 14 • Auto zoom can make touch to explore difficult • Sighted users need to be able to zoom – 200% the absolute minimum for WCAG 2 AA
  • 16. Zooming © 2014 - All Rights Reserved 15 • Auto zoom can make touch to explore difficult • Sighted users need to be able to zoom – 200% the absolute minimum for WCAG 2 AA Use 19pt or bigger for all form fields Use em instead of px/% Do not use meta viewport maximum
  • 17. Style Sheets © 2014 - All Rights Reserved 16 • Multiple break points mean multiple tests – Need to replicate all your accessibility testing for each size – Adding a high contrast style sheet multiplies this • Content positioned off screen is still visible to screen readers
  • 18. Style Sheets © 2014 - All Rights Reserved 17 • Multiple break points mean multiple tests – Need to replicate all your accessibility testing for each size • Adding a high contrast style sheet multiplies this • Content positioned off screen is still visible to screen readers Make your main style sheet high contrast Use automated tools for testing Use display:none for hidden content
  • 19. Gestures © 2014 - All Rights Reserved 18 • Screen Readers intercept gestures • VoiceOver has a gesture pass through mode – 10 gestures • Zoomed screens’ gesture velocity is different
  • 20. Gestures © 2014 - All Rights Reserved 19 • Screen Readers intercept gestures • VoiceOver has a gesture pass through mode – 10 gestures • Zoomed screens’ gesture velocity is different Use 19pt font to avoid auto zoom Detect zoom Simplify interaction
  • 21. ARIA differences © 2014 - All Rights Reserved 20 • ARIA support is still quite variable – aria-expanded – aria-live – dynamic roles • Bad examples – http://alistapart.com/article/accessibility-the-missing- ingredient
  • 22. ARIA differences © 2014 - All Rights Reserved 21 • ARIA support is still quite variable – aria-expanded – aria-live – dynamic roles • Bad examples – http://alistapart.com/article/accessibility-the-missing- ingredient Test everywhere Use a compatibility/component library (a11yfy)

Notas del editor

  1. Here you can see the desktop view of a site that I worked on with Travis Marasca and Brian Dillon from Basic Semantics. This is the site that won the most recent Knowbility Open AIR challenge. You can see at the top a nicely sized logo of the Dominion School for Autism, to the right of that is the search input and below the search is the top-level site navigation. The main page header appears below that “Helping Children Reach Their Fill Potential” followed by the main content which has a three column layout.
  2. If you switch into an iPhone, then you will see that the same content and capabilities are there, but they have been adapted to fit the capabilities of the screen. The icon has been scaled to better fit this screen resolution. The search input has been replaced with a button that shows and hides the search input. The top navigation has been replaced with the (now ubiquitous) hamburger icon which pops up a navigation popup menu and the three column layout has been serialized into a single column.
  3. Responsive Web Design promises a lot of benefits and delivers quite well on most of these, it is often also used as an “easy sell” for development organizations that want to improve accessibility but cannot “justify” it along traditional ROI routes. If done right, RWD can get you a long way towards an accessible web application/site but there are some things that are not quite straightforward…
  4. This list represents the categories of items that can cause problems. I will be going into each of these in a bit more detail.
  5. The problem is that on iOS, the keyboard key down and key up events do not get delivered to the JavaScript event handlers. ARIA widgets rely on the use of the arrow keys. This means that any complex widgets like tabs, menus, date pickers and the like will not work on iOS with a keyboard attached. This makes iOS of limited use for keyboard-only users and introduces some difficulties for blind users as well.
  6. Although the HTML 5 input types are not all accessible today on all platforms, they are implemented accessibly on all major mobile platforms and offer the most reliable way to get accessible input for things like Date picker widgets, time etc.They also provide a consistent user interface to the users that the users will be familiar with. Use the HTML 5 input types (conditionally) for mobile platforms.If you have to create a complex widget, then map arrow keys to gestures if possibleInsert content inline and manage focus to ensure that a touch to explore strategy can be used to access the content.Scale and position the widget by default so that it fits completely on the screen to support touch to explore
  7. 3 dimensional tables (are tables where one or more cells have 3 or more other cells that serve as headers)On desktop operating systems such as Windows and OS X, there are mechanisms to mark up table cells in such a way that all the relevant information is read out to screen reader users as they navigate these tables.On iOS, there is currently no support for 3D tables at all and iOS only reliably supports 2D tables where the first row and first column are the column and row headers respectively. You must also use the scope attribute to make this work reliably.On OS X, there is no support for the headers-id association markup for 3D tables.
  8. The first solution is to see whether the table can be redesigned to make use of some other markup mechanism. Sometimes a search UI can serve as a better interface for finding data that is otherwise presented as a table. Case in point is a bus schedule.Where tables must be used, try to change the 3D tables to a collection of 2D tables instead. Simplify these tables to make sure that the first row and/or the first column serve as headers.Where this is not possible, conditionally markup the tables so that there is a solution for each platform. For OS X, this means using the ARIA grid role and related roles and attributes. For iOS, this means using off screen text.
  9. This first solution uses some tricks to make the table flow responsively while still allowing for table navigation by a screen reader.TO make use of this, look at the a11yfy jQuery library as it has utility functions that will flow these tables as the breakpoints are traversed within an application.
  10. Another solution is to apply the ARIA grid roles to the responsive table. This will force the screen reader to regard the table as a table independently of the display property
  11. On iOS, if you dynamically insert or show and hide content, then focus cannot be placed into that content unless the content has been in the DOM AND visible for around 500ms. The solution for this is to create a utility function that places focus into the element you want focus to be placed into after waiting 1000ms on iOS and immediately on all other platforms.The a11yfy library has an example of such a utility function for jQuery
  12. When the focus goes into a form field, iOS and other mobile platforms will automatically zoom the screen to allow a sighted user better visibility into what is being entered into the screen.This, in addition to the situation where a user has zoomed into an application to a very high level will cause the events delivered to the event handlers for the gestures to deliver information that make it appear as though the user’s swipes are “slower” or not as long.This can cause problems in applications that require gestures or in applications that require touch to exploreAlso, disabling the zoom for applications using the meta viewport attributes will stop sighted users from zooming into the application to a level that is comfortable for them
  13. The solution to the auto zoom is to use 19pt or bigger for all form fields, this will stop the OS from auto zoomingUsing ems instead of pixels for the break points will allow a user to use the browser zoom function to zoom in and trigger the responsive break points. This allows sighted users who require a large zoom level to take advantage of the responsiveness, even on desktop or other large sized displaysDo not use the maximum-scale attribute in the meta tags and do not disable user scaling
  14. Each break point requires you to test the entire application (or at least all the pieces of the UI that are different) for both functionality and accessibility.If you add special style sheets for high contrast requirements, then this will multiply the amount of testing required by a factor of how ever many breakpoints you have for each additional style sheet.Sometimes style sheets will hide content that is intended to be invisible using an off screen technique instead of display:none.This means that a keyboard only and/or screen reader user will still have to traverse that content in order to get to the content that is supposed to be the visible content.The opposite problem also can occur - hiding content with display:none when it should really be accessible to a screen reader
  15. Making sure that your main style sheet adheres to WCAG 2 level AA in terms of color contrast and also ensuring that users can use their own styles for text and background will minimize the amount of testing that you need to performAutomated testing tools can significantly reduce the amount of testing where you are forced to provide many different break pointsEnsure that you use display:none for really hidden content and create specific styles that are very explicit in what they are to be used for E.g. hidden and sr-visible
  16. As mentioned earlier, the gesture distance and hence the velocity calculated by event handlers is different on zoomed screens. This can cause problems for applications that rely on gestures. This affects all users but will be more problematic for blind users who will nto be aware of the auto zooming.
  17. ARIA support, while increasing almost daily, is still quite varied.In particular, there are problems with aria-expanded not being widely supportedAria-live has some quirks which, if not followed, will cause it to either not work or generate confusing announcements on certain platforms. iOS is one platform where aria-live can simply not work if not implemented correctly, whereas JAWS can make confusing announcements when content is deleted
  18. The general approach to ARIA is – before you use a technique, make sure you, or another accessibility expert has tested it on all the required platforms. There are a lot of ARIA examples on the Internet that do not work in a cross-platform way.Once you have implemented something, put it into a library so that you can re-use the tested cross-platform code without having to worry about re-implementing the fixes for quirks