SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Building “Pylon-Free” Web Pages
An Intro to Web Accessibility
> by sheri soliman / software developer @ vena
understanding
accessibility
“pylons?”
understanding
USER NEEDS
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
understanding
USER NEEDS
VISUAL
AUDIAL
MOTOR
COGNITIVE
[WCAG 2.0]
The Web Content Accessibility Guidelines
PERCEIVABLE
OPERABLE
UNDERSTANDABLE
ROBUST
THE ACCESSIBILITY TREE
{ Name, Role, Value, State }
1. Don’t reinvent the wheel
Use native HTML
<div title=“Collaborate on code”>
<a href=“#collaborate”>Collaborate</a>
</div>
2. But if you must...
Handle focus + semantics
● Use tabIndex to manage an element’s position in the tab order
○ { 0, -1, 1.. }
● Keyboard event handling
<div tabIndex=“0”>I’m focusable!</a>
<button tabIndex=“-1”>I’m not!</button>
2. But if you must...
Handle focus + semantics
● Use ARIA properties to define programmatic semantics
<ul role=“menu” aria-label=“About”>
<li role=“none”>
<a role=“menuitem” href=“#mission”>Mission</a>
</li>
<li role=“none”>
<a role=“menuitem” href=“#team”>Team</a>
</li>
</ul>
3. Pursue an intuitive DOM order
Don’t rely on CSS for layout
<button style=“float: right”>Submit</button>
<label for=“city”>City:</label>
<input id=“city” type=“text”>
<label for=“zipcode”>Zip Code:</label>
<input id=“zipcode” type=“text”>
SubmitZip Code:City: Submit
3. Pursue an intuitive DOM order
Don’t rely on CSS for layout
<button style=“float: right”>Submit</button>
<label for=“city”>City:</label>
<input id=“city” type=“text”>
<label for=“zipcode”>Zip Code:</label>
<input id=“zipcode” type=“text”>
SubmitZip Code:City: Submit
3. Pursue an intuitive DOM order
Don’t rely on CSS for layout
<label for=“city”>City:</label>
<input id=“city” type=“text”>
<label for=“zipcode”>Zip Code:</label>
<input id=“zipcode” type=“text”>
<button style=“float: right”>Submit</button>
3. Pursue an intuitive DOM order
Don’t rely on CSS for layout
1.3.2 Meaningful Sequence
When the sequence in which content is presented affects its meaning, a correct
reading sequence can be programmatically determined.
2.4.3 Focus Order
If a Web page can be navigated sequentially and the navigation sequences affect
meaning or operation, focusable components receive focus in an order that
preserves meaning and operability.
4. Use programmatic labels
> Visible names for input + form controls
<label for=“promo”>Subscribe to Newsletter</label>
<input type=“checkbox” id=“promo”>
<label>
<input type=“checkbox”>
Subscribe to Newsletter
</label>
Subscribe to Newsletter✔
4. Use programmatic labels
> Text alternatives for visual content
<img
src=“IMG_5458.jpg”
alt=“a positive possum
that believes in you”>
4. Use programmatic labels
> Text alternatives for visual content
<img src=“magnifying_glass.png” alt=””> SEARCH
<button
aria-label=“Close" onclick=“close()">X
</button>
X
5. Use HTML5 structural elements
header, footer, nav, main, article, section, aside
SAY
NO TO
<div>
HELL
5. Use HTML5 structural elements
header, footer, nav, main, article, section, aside
TESTING FOR ACCESSIBILITY
Tools & Tips
KEYBOARD SUPPORT
● Tab through your page
● Check for keyboard trap
● Check for focusable offscreen content
TESTING FOR ACCESSIBILITY
Tools & Tips
LIGHTHOUSE AUDITS
● Open-source, automated tool
● Chrome DevTools, cmd line, node module
● Accessibility audit
TESTING FOR ACCESSIBILITY
Tools & Tips
SCREEN READER SUPPORT
● ChromeVox Extension
● VoiceOver (Mac)
● NVDA (Windows)
thank you!

Weitere ähnliche Inhalte

Ähnlich wie Building Pylon-Free Web Pages

Ferraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information ArchitectureFerraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information Architecture
mferraz
 
The ROI of Evoq Content
The ROI of Evoq ContentThe ROI of Evoq Content
The ROI of Evoq Content
DNN
 
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case StudyTERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
Terminalfour
 
Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 

Ähnlich wie Building Pylon-Free Web Pages (20)

How to Tango with Salesforce & jQueryMobile for HTML5 Goodness
How to Tango with Salesforce & jQueryMobile for HTML5 GoodnessHow to Tango with Salesforce & jQueryMobile for HTML5 Goodness
How to Tango with Salesforce & jQueryMobile for HTML5 Goodness
 
Ferraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information ArchitectureFerraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information Architecture
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
The ROI of Evoq Content
The ROI of Evoq ContentThe ROI of Evoq Content
The ROI of Evoq Content
 
A Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With DisabilitiesA Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With Disabilities
 
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
 
Drupal SEO
Drupal SEODrupal SEO
Drupal SEO
 
Buiding Next Generation Websites Session 8 by Muhammad Ehtisham Siddiqui
Buiding Next Generation Websites Session 8 by Muhammad Ehtisham SiddiquiBuiding Next Generation Websites Session 8 by Muhammad Ehtisham Siddiqui
Buiding Next Generation Websites Session 8 by Muhammad Ehtisham Siddiqui
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Knockoutjs
KnockoutjsKnockoutjs
Knockoutjs
 
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case StudyTERMINALFOUR t44u 2009 - University of St Andrews Case Study
TERMINALFOUR t44u 2009 - University of St Andrews Case Study
 
P.S. I love you
P.S. I love youP.S. I love you
P.S. I love you
 
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
 
DIGITAL MARKETING.pptx
DIGITAL MARKETING.pptxDIGITAL MARKETING.pptx
DIGITAL MARKETING.pptx
 
SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015SharePoint Saturday Atlanta 2015
SharePoint Saturday Atlanta 2015
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Building Pylon-Free Web Pages

  • 1. Building “Pylon-Free” Web Pages An Intro to Web Accessibility > by sheri soliman / software developer @ vena
  • 8.
  • 9.
  • 10.
  • 13.
  • 14. [WCAG 2.0] The Web Content Accessibility Guidelines PERCEIVABLE OPERABLE UNDERSTANDABLE ROBUST
  • 15. THE ACCESSIBILITY TREE { Name, Role, Value, State }
  • 16. 1. Don’t reinvent the wheel Use native HTML <div title=“Collaborate on code”> <a href=“#collaborate”>Collaborate</a> </div>
  • 17. 2. But if you must... Handle focus + semantics ● Use tabIndex to manage an element’s position in the tab order ○ { 0, -1, 1.. } ● Keyboard event handling <div tabIndex=“0”>I’m focusable!</a> <button tabIndex=“-1”>I’m not!</button>
  • 18. 2. But if you must... Handle focus + semantics ● Use ARIA properties to define programmatic semantics <ul role=“menu” aria-label=“About”> <li role=“none”> <a role=“menuitem” href=“#mission”>Mission</a> </li> <li role=“none”> <a role=“menuitem” href=“#team”>Team</a> </li> </ul>
  • 19. 3. Pursue an intuitive DOM order Don’t rely on CSS for layout <button style=“float: right”>Submit</button> <label for=“city”>City:</label> <input id=“city” type=“text”> <label for=“zipcode”>Zip Code:</label> <input id=“zipcode” type=“text”> SubmitZip Code:City: Submit
  • 20. 3. Pursue an intuitive DOM order Don’t rely on CSS for layout <button style=“float: right”>Submit</button> <label for=“city”>City:</label> <input id=“city” type=“text”> <label for=“zipcode”>Zip Code:</label> <input id=“zipcode” type=“text”> SubmitZip Code:City: Submit
  • 21. 3. Pursue an intuitive DOM order Don’t rely on CSS for layout <label for=“city”>City:</label> <input id=“city” type=“text”> <label for=“zipcode”>Zip Code:</label> <input id=“zipcode” type=“text”> <button style=“float: right”>Submit</button>
  • 22. 3. Pursue an intuitive DOM order Don’t rely on CSS for layout 1.3.2 Meaningful Sequence When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. 2.4.3 Focus Order If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.
  • 23. 4. Use programmatic labels > Visible names for input + form controls <label for=“promo”>Subscribe to Newsletter</label> <input type=“checkbox” id=“promo”> <label> <input type=“checkbox”> Subscribe to Newsletter </label> Subscribe to Newsletter✔
  • 24. 4. Use programmatic labels > Text alternatives for visual content <img src=“IMG_5458.jpg” alt=“a positive possum that believes in you”>
  • 25. 4. Use programmatic labels > Text alternatives for visual content <img src=“magnifying_glass.png” alt=””> SEARCH <button aria-label=“Close" onclick=“close()">X </button> X
  • 26. 5. Use HTML5 structural elements header, footer, nav, main, article, section, aside SAY NO TO <div> HELL
  • 27. 5. Use HTML5 structural elements header, footer, nav, main, article, section, aside
  • 28. TESTING FOR ACCESSIBILITY Tools & Tips KEYBOARD SUPPORT ● Tab through your page ● Check for keyboard trap ● Check for focusable offscreen content
  • 29. TESTING FOR ACCESSIBILITY Tools & Tips LIGHTHOUSE AUDITS ● Open-source, automated tool ● Chrome DevTools, cmd line, node module ● Accessibility audit
  • 30. TESTING FOR ACCESSIBILITY Tools & Tips SCREEN READER SUPPORT ● ChromeVox Extension ● VoiceOver (Mac) ● NVDA (Windows)