SlideShare a Scribd company logo
1
10 tips in
10 minutes
Billy Gregory
@thebillygregory
bgregory@paciellogroup.com
In my spare time...
3
Types of Disabilities
Mobility / Agility
Deaf / Hearing Impaired
Cognitive
Seizure Disorders
Colour Blind
Low Vision
Blind
If you build it...
Try to assume at least
SOME level of Accessibility
Day OneDay One
AccessibilityAccessibility
Tips!Tips!
Watch Your Language!
<html lang="en">
<html lang="fr">
11
Semantic Mark-up 22
Semantic Mark-up
Use elements for their intended purpose.
•Use buttons as buttons, lists as lists, tables as
tables, etc.
Make sure your pages are titled appropriately and
meaningfully.
•it’s the first thing a screen reader will read
22
USE HEADINGS!!!
Code Order vs Tab Order
Code Order:
The order the elements are marked-up on the page
Tab Order:
The order in which the elements on the page receive
focus.
33
Code Order vs Tab Order
Element Element Element Element
This…
Element Element Element Element
NOT This…
33
Focus
In your CSS, for every :hover pseudo element,
use the :focus pseudo element
•:hover is bound to the mouse.
•keyboards don’t hover
•Don’t override the outline
•Use more than color alone to show the focus.
text-decoration:underline; is best.
5544
Focus
Make sure that when new elements are opened, the focus
shifts accordingly. For instance, when a user opens
•Modals
•Tool tips
Be careful when forcing focus on an element.
•The user might not be expecting this.
• Error messages
• Search form on a new page
44
Keyboard Control
POP
QUIZ!
… or trick question
Question:
Who among your
desktop users
might not be using
a mouse?
Answer:
Anyone! …It’s not up to us to decide that ;)
Example: Have you ever tabbed through a form
when you’re filling it out?
55
Keyboard Control
Test that your work can be navigated by keyboard alone.
Look out for “keyboard traps” –
make sure you don’t open
something that would result in
your cursor / focus being behind
an element like a modal window.
*I totally stole the Akbar thing from
George Zamfir - @good_wally
55
Skip Links
<main id=“main” role=“main” tabindex=”-1” … <div id=“right-col”
role=“complementary”…
<footer id=“footer” role=“contentinfo” …
<a href="#main">skip to main content</a>
<ul> <!– this is a repeated block of content --> …
66
Form labels and fieldsets 77
Alternative Text
The “alt” attribute contains text that describes an image
alt=“Descriptive text would go in here”
88
TSA To Introduce New Security Measures.
BAD alt text:
alt=“TSA officer”
GOOD alt text:
alt=“A TSA Agent
looking into the
camera while
snapping on a rubber
glove.”
“Hidden” Text
One of the best practices for
“hiding” text off screen is to use
css to visually remove text
from the code order while still
keeping it visible to screen
readers.
99
2121
TEST!!TEST!!
1010
(Don’t be this guy.)
Test.
Firebug
Web Accessibility Toolbar
Wave Toolbar
Developer Tools
and many, MANY more...
JAWS demo mode
NVDA - FREE!!
VoiceOver - built into OSX
Thank you!
Billy Gregory
@thebillygregory
bgregory@paciellogroup.com

More Related Content

Similar to 10 tips in 10 minutes - DevTO Sept 30, 2013

Drupal Camp Accessibility Presentation 2013
Drupal Camp Accessibility Presentation 2013Drupal Camp Accessibility Presentation 2013
Drupal Camp Accessibility Presentation 2013
Phase2
 

Similar to 10 tips in 10 minutes - DevTO Sept 30, 2013 (20)

All of javascript
All of javascriptAll of javascript
All of javascript
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Advanced googling
Advanced googlingAdvanced googling
Advanced googling
 
Google Hacking
Google HackingGoogle Hacking
Google Hacking
 
Drupal Camp Accessibility Presentation 2013
Drupal Camp Accessibility Presentation 2013Drupal Camp Accessibility Presentation 2013
Drupal Camp Accessibility Presentation 2013
 
56 interesting ways_to_use_the_interactive_whi
56 interesting ways_to_use_the_interactive_whi56 interesting ways_to_use_the_interactive_whi
56 interesting ways_to_use_the_interactive_whi
 
Testing Web Applications Through User Interface Constraints (CASCON 2015 Talk)
Testing Web Applications Through User Interface Constraints (CASCON 2015 Talk)Testing Web Applications Through User Interface Constraints (CASCON 2015 Talk)
Testing Web Applications Through User Interface Constraints (CASCON 2015 Talk)
 
All of Javascript
All of JavascriptAll of Javascript
All of Javascript
 
All track delivery experience agile2018
All track delivery experience agile2018All track delivery experience agile2018
All track delivery experience agile2018
 
Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScript
 
Antipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experienceAntipatterns - Designing for the poor web experience
Antipatterns - Designing for the poor web experience
 
Accessible components for developers and designers
Accessible components for developers and designersAccessible components for developers and designers
Accessible components for developers and designers
 
engage 2014 - JavaBlast
engage 2014 - JavaBlastengage 2014 - JavaBlast
engage 2014 - JavaBlast
 
Commit Hooks: the Subtle Hammer
Commit Hooks: the Subtle HammerCommit Hooks: the Subtle Hammer
Commit Hooks: the Subtle Hammer
 
Anti Patterns2008
Anti Patterns2008Anti Patterns2008
Anti Patterns2008
 
Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013
 
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
Statistical Element Locator by Oren Rubin - SeleniumConf UK 2016
 
Oren rubin statistical element locator
Oren rubin   statistical element locatorOren rubin   statistical element locator
Oren rubin statistical element locator
 
Ten Bright Ideas for Improving Accessibility in Online Courses - Barry Dahl -...
Ten Bright Ideas for Improving Accessibility in Online Courses - Barry Dahl -...Ten Bright Ideas for Improving Accessibility in Online Courses - Barry Dahl -...
Ten Bright Ideas for Improving Accessibility in Online Courses - Barry Dahl -...
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.ppt
 

Recently uploaded

Recently uploaded (20)

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

10 tips in 10 minutes - DevTO Sept 30, 2013

  • 1. 1 10 tips in 10 minutes Billy Gregory @thebillygregory bgregory@paciellogroup.com
  • 2. In my spare time...
  • 3. 3 Types of Disabilities Mobility / Agility Deaf / Hearing Impaired Cognitive Seizure Disorders Colour Blind Low Vision Blind
  • 4. If you build it...
  • 5. Try to assume at least SOME level of Accessibility
  • 6.
  • 8. Watch Your Language! <html lang="en"> <html lang="fr"> 11
  • 10. Semantic Mark-up Use elements for their intended purpose. •Use buttons as buttons, lists as lists, tables as tables, etc. Make sure your pages are titled appropriately and meaningfully. •it’s the first thing a screen reader will read 22 USE HEADINGS!!!
  • 11. Code Order vs Tab Order Code Order: The order the elements are marked-up on the page Tab Order: The order in which the elements on the page receive focus. 33
  • 12. Code Order vs Tab Order Element Element Element Element This… Element Element Element Element NOT This… 33
  • 13. Focus In your CSS, for every :hover pseudo element, use the :focus pseudo element •:hover is bound to the mouse. •keyboards don’t hover •Don’t override the outline •Use more than color alone to show the focus. text-decoration:underline; is best. 5544
  • 14. Focus Make sure that when new elements are opened, the focus shifts accordingly. For instance, when a user opens •Modals •Tool tips Be careful when forcing focus on an element. •The user might not be expecting this. • Error messages • Search form on a new page 44
  • 15. Keyboard Control POP QUIZ! … or trick question Question: Who among your desktop users might not be using a mouse? Answer: Anyone! …It’s not up to us to decide that ;) Example: Have you ever tabbed through a form when you’re filling it out? 55
  • 16. Keyboard Control Test that your work can be navigated by keyboard alone. Look out for “keyboard traps” – make sure you don’t open something that would result in your cursor / focus being behind an element like a modal window. *I totally stole the Akbar thing from George Zamfir - @good_wally 55
  • 17. Skip Links <main id=“main” role=“main” tabindex=”-1” … <div id=“right-col” role=“complementary”… <footer id=“footer” role=“contentinfo” … <a href="#main">skip to main content</a> <ul> <!– this is a repeated block of content --> … 66
  • 18. Form labels and fieldsets 77
  • 19. Alternative Text The “alt” attribute contains text that describes an image alt=“Descriptive text would go in here” 88 TSA To Introduce New Security Measures. BAD alt text: alt=“TSA officer” GOOD alt text: alt=“A TSA Agent looking into the camera while snapping on a rubber glove.”
  • 20. “Hidden” Text One of the best practices for “hiding” text off screen is to use css to visually remove text from the code order while still keeping it visible to screen readers. 99
  • 22. (Don’t be this guy.) Test. Firebug Web Accessibility Toolbar Wave Toolbar Developer Tools and many, MANY more... JAWS demo mode NVDA - FREE!! VoiceOver - built into OSX

Editor's Notes

  1. Introduce myself Ask if everyone can hear me Apologize in advance if I mumble
  2. HOWEVER, In my spare time... I am a recovering rap metal singer I have two awesome daughters that like to dress up as zombies I have been to the future... and I look amazing
  3. Everyone uses features that were put in place to make things more accessible we ’ ve all see this picture This was taken in the NYC subway last winter we use closed captioning i ’ ve listened to books on tape in the car
  4. Imagine how hard it would be to go back and add chocolate chips to that cookie once it ’ s baked …
  5. This helps screen readers interpret the main language of the page We live Canada, this is especially important
  6. Keep it clean. The core of any well coded site, accessible or not, is well structured HTML. HTML5 has provided us with new elements to make our code more semantic &lt;header&gt;, &lt;nav&gt;, &lt;footer&gt;, &lt;main&gt; all provide semantic meaning over more generic elements such as &lt;divs&gt; Make sure you use headings! h1, h2, h3, h4, h5, h6 Help organize and structure content of a web page This helps everyone quickly scan a page for items of interest. Anything that looks like a heading, probably is Important Navigational tool for screen reader users If it looks like a button, and acts like a button… make it a button
  7. Users expect the order the code appears on the screen to match the order the elements receive focus. Screen readers read the code from left to right, top to bottom.
  8. Common issues: CSS tab-index
  9. When testing keyboard focus, an easy method is to open your template and without looking, hit the Tab key several times (NO counting!!!) then look at the screen. You should be able to tell within seconds where the focus is.
  10. Test that your work can be navigated by keyboard alone This includes any widgets or plugins you may be using Many disabilities, permanent or temporary, make using a mouse difficult
  11. If the image is static and aesthetic in nature, move it to the CSS If the image is something the client needs control over but aesthetic in nature, null out the alt attribute. &lt;img src= “ images/background-seasonal/halloween-background-image.jpg ” alt= “ ” /&gt; If the image serves a purpose and supports the content, use text that adequately describes the image. Pay it back! If a picture is worth a 1000 words, don ’ t use 4 to describe the image.
  12. This allows us to share additional information to the screen reader user that may obvious to those who are able to visually see the site Hidden headers for navigation Labels for some form fields Additional advisory information for screen reader users Say you are working with legacy code that you don ’ t have much control over Telephone field with 3 input boxes, “ hidden ” text could help them understand the auto-advancement of the focus. “ hidden ” text could also replace tool tips or can be used to “ fake ” the title attribute with some simple CSS
  13. There are many testing tools available. find a few of them that work the best for you and use them. Keep in mind that they are not fool proof and only catch ~ 30% of the errors