SlideShare a Scribd company logo
Everything I Know About
Accessibility I Learned
from Stack Overflow
rosel.li/guelph (case sensitive)
#AccessConf18
Presented by Adrian Roselli (@aardrian) at
Guelph Accessibility Conference
HTML
#AccessConf18
HTML
A: You can use <img alt=""> (no
src attribute) to provide helpful
content to screen readers.
#AccessConf18
HTML
Q: Why can’t I activate a link on
focus with this?
<a href="#"><div tabindex="0">Tab
focus me, then ⏎</div></a>
#AccessConf18
Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow
CSS
#AccessConf18
CSS
A: You can disable link underlines
that are added by user style
sheets with !important.
#AccessConf18
CSS
Q: I used jQuery to add border=0
to links, but everything gets a
weird border. How do I remove it?
#AccessConf18
Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow
ARIA
#AccessConf18
ARIA
A: Use aria-labelledby to
associate each form field with the
paragraph of instructions.
#AccessConf18
ARIA
Q: VoiceOver won’t announce this
image. What ARIA do I need to
add to make it work?
<img src="foo.gif" alt="">
#AccessConf18
ARIA
Q: Can I avoid adding alt text if I
just add aria-hidden="true" to
every image?
#AccessConf18
Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow
Assistive Technology
#AccessConf18
Assistive Technology
Q: How do I override how JAWS
navigates tables and replace the
keystrokes with my better
keystrokes?
#AccessConf18
Assistive Technology
Q: How can I check if a user has a
disability or is using a screen
reader? You know, to justify
making a design accessible.
#AccessConf18
Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow
Survey Participants (2018)
#AccessConf18
“Physical Differences”
1.4% I am blind / have difficulty seeing
0.8% I am deaf / have difficulty hearing
0.3% I am unable to / find it difficult to walk
and/or stand without assistance
0.3% I am unable to / find it difficult to type
#AccessConf18
“Mental Health and Differences”
8.5% I have a mood or emotional disorder (ex.
depression, bipolar disorder)
7.8% I have an anxiety disorder
5.9% I have a concentration and/or memory
disorder
2.1% I identify as autistic / a person with autism
#AccessConf18
Where Are Devs?
#AccessConf18
Where Are Devs?
•Not in our Slack channels,
•Not at our a11y conferences,
•Not reading our specs
•Not reading our blog-o-trons.
#AccessConf18
Where Are A11y Pros?
#AccessConf18
Where Are A11y Pros?
• Are we on Stack Overflow?
• Are we at local tech events?
• Are we training teams?
• Are we involved in education?
• We need better outreach.
#AccessConf18
Resources
#AccessConf18
Resources
Search for terms in your own
answers with:
user:me is:answer {search term}
#AccessConf18
Resources
Add underlines to links (rosel.li/bookmarklets#SOlink):
javascript:(function(){var
a=document.createElement('style'),b;document.head.
appendChild(a);b=a.sheet;b.insertRule('.post-text
a:link, .post-text a:visited, .comment-copy
a:link, .comment-copy a:visited{text-
decoration:underline !important}',0);})()
#AccessConf18
Everything I Know About
Accessibility I Learned
from Stack Overflow
rosel.li/guelph (case sensitive)
#AccessConf18
Presented by Adrian Roselli (@aardrian) at
Guelph Accessibility Conference

More Related Content

PPTX
Prototyping Accessibility - WordCamp Europe 2018
PDF
Accessible Design WordCamp Europe 2018 in Belgrad
PPTX
Selfish Accessibility — Harbour Front HK
PPTX
Selfish Accessibility — CodeDaze
PPTX
Selfish Accessibility — WordCamp Europe 2017
PPTX
Selfish Accessibility: MinneWebCon 2017
PPTX
Fringe Accessibility: London Web Standards
PPTX
Selfish Accessibility: Government Digital Service
Prototyping Accessibility - WordCamp Europe 2018
Accessible Design WordCamp Europe 2018 in Belgrad
Selfish Accessibility — Harbour Front HK
Selfish Accessibility — CodeDaze
Selfish Accessibility — WordCamp Europe 2017
Selfish Accessibility: MinneWebCon 2017
Fringe Accessibility: London Web Standards
Selfish Accessibility: Government Digital Service

What's hot (20)

PPTX
Selfish Accessibility: WordCamp London 2017
PPTX
Mind your lang (for role=drinks at CSUN 2017)
PPTX
Selfish Accessibility: WordCamp Buffalo 2014
PPTX
Selfish Accessibility: HTML5 Developer Conference 2014
PPTX
Making Your Site Printable: CSS Summit 2014
PPTX
“Selfish Accessibility” for Create Upstate 2016
PPTX
Fringe Accessibility - Guelph Accessibility Conference
PPTX
Fringe Accessibility: ID24 for GAAD
PPTX
Abstractions: Fringe Accessibility
PPTX
Selfish Accessibility: Presented at Google
PPTX
Selfish Accessibility: a11y Camp NYC 2015
PPTX
Prototyping Accessibility: Booster 2019
PPTX
ACE! Conference: Selfish accessibility
PPTX
WordPress Accessibility - WordCamp Buffalo 2016
PPTX
Avega Group: Selfish Accessibility
PPTX
Mind Your lang — Accessibility Camp Toronto 2016
PPTX
Selfish Accessibility: UXSG 2014
PDF
How Accessibility Made Me a Better Developer
PDF
Web Accessibility for the 21st Century
PPTX
Chatbots vs. Voicebots Sunrise Session SpeechTEK 2017-final
Selfish Accessibility: WordCamp London 2017
Mind your lang (for role=drinks at CSUN 2017)
Selfish Accessibility: WordCamp Buffalo 2014
Selfish Accessibility: HTML5 Developer Conference 2014
Making Your Site Printable: CSS Summit 2014
“Selfish Accessibility” for Create Upstate 2016
Fringe Accessibility - Guelph Accessibility Conference
Fringe Accessibility: ID24 for GAAD
Abstractions: Fringe Accessibility
Selfish Accessibility: Presented at Google
Selfish Accessibility: a11y Camp NYC 2015
Prototyping Accessibility: Booster 2019
ACE! Conference: Selfish accessibility
WordPress Accessibility - WordCamp Buffalo 2016
Avega Group: Selfish Accessibility
Mind Your lang — Accessibility Camp Toronto 2016
Selfish Accessibility: UXSG 2014
How Accessibility Made Me a Better Developer
Web Accessibility for the 21st Century
Chatbots vs. Voicebots Sunrise Session SpeechTEK 2017-final
Ad

Similar to Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow (20)

PPTX
CSUN 2018: Everything I Know About Accessibility I Learned from Stack Overflow
PPTX
Everything I Know About Accessibility I Learned from Stack Overflow
PPTX
Selfish accessibility: 2015 Buffalo Unconference
PPTX
Selfish Accessibility — YGLF Vilnius
PPTX
Fringe Accessibility: Booster 2016
PDF
10 Simple Rules for Making My Site Accessible
PDF
The power of accessibility (November, 2018)
PPTX
Mission: Accessible. Share & Connect Online with Everybody!
PPTX
ARIA_11_12_Practical_Perspective.pptx
PDF
No More "It Depends" - Learn to Set your Visual SEO Resources #LondonSEOMeetu...
PDF
Implementing and Evaluating Web Application Accessibility
PPTX
Web accessibility - WAI-ARIA a small introduction
PPT
HTML5 CSS3 The Future of Web Technologies
PPT
09 html5 css3-the_future_of_web_technology
PPT
Html5, css3 and the future of web technologies
PPT
09. html5 & css3 furture of web
PPTX
Tales from the Accessibility Trenches
ODP
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
PDF
Hacking For Innovation Delhi
PPTX
Usability Shmoozability for MCWT Foundation
CSUN 2018: Everything I Know About Accessibility I Learned from Stack Overflow
Everything I Know About Accessibility I Learned from Stack Overflow
Selfish accessibility: 2015 Buffalo Unconference
Selfish Accessibility — YGLF Vilnius
Fringe Accessibility: Booster 2016
10 Simple Rules for Making My Site Accessible
The power of accessibility (November, 2018)
Mission: Accessible. Share & Connect Online with Everybody!
ARIA_11_12_Practical_Perspective.pptx
No More "It Depends" - Learn to Set your Visual SEO Resources #LondonSEOMeetu...
Implementing and Evaluating Web Application Accessibility
Web accessibility - WAI-ARIA a small introduction
HTML5 CSS3 The Future of Web Technologies
09 html5 css3-the_future_of_web_technology
Html5, css3 and the future of web technologies
09. html5 & css3 furture of web
Tales from the Accessibility Trenches
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
Hacking For Innovation Delhi
Usability Shmoozability for MCWT Foundation
Ad

More from Adrian Roselli (13)

PPTX
CSUN 2020: CSS Display Properties Versus HTML Semantics
PPTX
Selfish Accessibility —DevOpsDays Buffalo
PPTX
Role of Design in Accessibility — VilniusJS Meet-up
PPTX
The Role of Design in Accessibility — a11yTO Meet-up
PPTX
Fringe Accessibility — Portland UX
PPTX
WCBuf: CSS Display Properties versus HTML Semantics
PPTX
Mind Your Lang — London Web Standards
PPTX
Inclusive Usability Testing - WordCamp London
PPTX
Inclusive Usability Testing — a11yTOCamp
PPTX
Selfish Accessibility - Girl Develop It Buffalo
PPTX
Inclusive User Testing — Guelph Accessibility Conference
PPTX
Implementing Accessibility: Accessibility Toronto
PPTX
Role = Drinks 2016: Selfish Accessibility
CSUN 2020: CSS Display Properties Versus HTML Semantics
Selfish Accessibility —DevOpsDays Buffalo
Role of Design in Accessibility — VilniusJS Meet-up
The Role of Design in Accessibility — a11yTO Meet-up
Fringe Accessibility — Portland UX
WCBuf: CSS Display Properties versus HTML Semantics
Mind Your Lang — London Web Standards
Inclusive Usability Testing - WordCamp London
Inclusive Usability Testing — a11yTOCamp
Selfish Accessibility - Girl Develop It Buffalo
Inclusive User Testing — Guelph Accessibility Conference
Implementing Accessibility: Accessibility Toronto
Role = Drinks 2016: Selfish Accessibility

Recently uploaded (20)

PPTX
Introuction about WHO-FIC in ICD-10.pptx
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
Exploring VPS Hosting Trends for SMBs in 2025
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PPTX
E -tech empowerment technologies PowerPoint
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPT
Ethics in Information System - Management Information System
PDF
Paper PDF World Game (s) Great Redesign.pdf
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PPTX
Mathew Digital SEO Checklist Guidlines 2025
PPTX
Funds Management Learning Material for Beg
PPTX
Digital Literacy And Online Safety on internet
Introuction about WHO-FIC in ICD-10.pptx
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Exploring VPS Hosting Trends for SMBs in 2025
Job_Card_System_Styled_lorem_ipsum_.pptx
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
Design_with_Watersergyerge45hrbgre4top (1).ppt
E -tech empowerment technologies PowerPoint
Cloud-Scale Log Monitoring _ Datadog.pdf
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
An introduction to the IFRS (ISSB) Stndards.pdf
The New Creative Director: How AI Tools for Social Media Content Creation Are...
Ethics in Information System - Management Information System
Paper PDF World Game (s) Great Redesign.pdf
Decoding a Decade: 10 Years of Applied CTI Discipline
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Mathew Digital SEO Checklist Guidlines 2025
Funds Management Learning Material for Beg
Digital Literacy And Online Safety on internet

Guelph A11y Conf: Everything I Know About Accessibility I Learned from Stack Overflow

  • 1. Everything I Know About Accessibility I Learned from Stack Overflow rosel.li/guelph (case sensitive) #AccessConf18 Presented by Adrian Roselli (@aardrian) at Guelph Accessibility Conference
  • 3. HTML A: You can use <img alt=""> (no src attribute) to provide helpful content to screen readers. #AccessConf18
  • 4. HTML Q: Why can’t I activate a link on focus with this? <a href="#"><div tabindex="0">Tab focus me, then ⏎</div></a> #AccessConf18
  • 7. CSS A: You can disable link underlines that are added by user style sheets with !important. #AccessConf18
  • 8. CSS Q: I used jQuery to add border=0 to links, but everything gets a weird border. How do I remove it? #AccessConf18
  • 11. ARIA A: Use aria-labelledby to associate each form field with the paragraph of instructions. #AccessConf18
  • 12. ARIA Q: VoiceOver won’t announce this image. What ARIA do I need to add to make it work? <img src="foo.gif" alt=""> #AccessConf18
  • 13. ARIA Q: Can I avoid adding alt text if I just add aria-hidden="true" to every image? #AccessConf18
  • 16. Assistive Technology Q: How do I override how JAWS navigates tables and replace the keystrokes with my better keystrokes? #AccessConf18
  • 17. Assistive Technology Q: How can I check if a user has a disability or is using a screen reader? You know, to justify making a design accessible. #AccessConf18
  • 20. “Physical Differences” 1.4% I am blind / have difficulty seeing 0.8% I am deaf / have difficulty hearing 0.3% I am unable to / find it difficult to walk and/or stand without assistance 0.3% I am unable to / find it difficult to type #AccessConf18
  • 21. “Mental Health and Differences” 8.5% I have a mood or emotional disorder (ex. depression, bipolar disorder) 7.8% I have an anxiety disorder 5.9% I have a concentration and/or memory disorder 2.1% I identify as autistic / a person with autism #AccessConf18
  • 23. Where Are Devs? •Not in our Slack channels, •Not at our a11y conferences, •Not reading our specs •Not reading our blog-o-trons. #AccessConf18
  • 24. Where Are A11y Pros? #AccessConf18
  • 25. Where Are A11y Pros? • Are we on Stack Overflow? • Are we at local tech events? • Are we training teams? • Are we involved in education? • We need better outreach. #AccessConf18
  • 27. Resources Search for terms in your own answers with: user:me is:answer {search term} #AccessConf18
  • 28. Resources Add underlines to links (rosel.li/bookmarklets#SOlink): javascript:(function(){var a=document.createElement('style'),b;document.head. appendChild(a);b=a.sheet;b.insertRule('.post-text a:link, .post-text a:visited, .comment-copy a:link, .comment-copy a:visited{text- decoration:underline !important}',0);})() #AccessConf18
  • 29. Everything I Know About Accessibility I Learned from Stack Overflow rosel.li/guelph (case sensitive) #AccessConf18 Presented by Adrian Roselli (@aardrian) at Guelph Accessibility Conference

Editor's Notes

  • #2: Read the URL, hashtag, Twitter handle As the Help Desk of the web Less “Wisdom of the Crowds” More “Most Popular, Not Most Correct” I am explicitly not including links to posts All questions/answers are paraphrased These slides use the fonts and colors from the SO site (tho I added link underlines) Event hashtag in the bottom right
  • #3: Linger on this slide. Not all HTML questions are HTML.
  • #4: This is an example of answer I saw to a question about writing content only screen readers will see. It was not accepted.
  • #5: One answer cautioned against it, but explained how you could do this with script.
  • #6: The text “No more HTML; React will run the web” on a starfield above a neon horizon line and neon grid. Behind the text is a purple triangle with translucent purple tail. The text is set in neon script (first three words), chrome block letters (for “React”), and oblique block letters (“will run the web”). Everything glows. It has a very retro 80s kitsch feel. Not everybody knows “raw” HTML. Analogous to seeing <cfif> tags in static HTML because of copy/paste
  • #7: Linger on this slide. CSS questions usually have a script aspect to them.
  • #8: Question was about overriding ugly underlines. Really wanted to prevent all users from ruining his/her design.
  • #9: Many questions conflate JS, CSS, and HTML. Do not understand distinction.
  • #10: The text “Did you try jQuery for that CSS issue?” on a starfield above a neon horizon line and neon grid. Behind the text is a yellow-to-orange gradient circle with orange palm tree silhouettes. The text is set in neon script (first three words), chrome block letters (for “jQuery”), and oblique block letters (“for that CSS issue”). Everything glows. It has a very retro 80s kitsch feel. Devs often do not know the difference between CSS and script Many get to it via a library or framework
  • #11: Linger on this slide. As a11y pros we struggle with ARIA ourselves. Think of what we have seen so far. Imagine how out of hand this can get.
  • #12: Question was about making sure a screen reader user never missed instructions. Problem was that they were not in the flow of the form. Also, confusing, so SR users who saw it would struggle.
  • #13: He/she wanted SR user to know there was an image. Was not concerned what it said, but wanted to use to know was missing something. Had inherited somebody else’s code.
  • #14: Conversely, this was a desire to hide everything. Came about because page failed validation for missing alt text. Did not seem to understand blank alt is fine.
  • #15: The text “Just use ARIA everywhere” on a starfield above a neon horizon line and neon grid. Behind the text are neon triangles. The text is set in neon script (first couple words), chrome block letters (for “ARIA”), and oblique block letters (last word). Everything glows. It has a very retro 80s kitsch feel. Not uncommon to see 5,000 word tutorials that are inaccessible When pressed, the author often says “just add ARIA”
  • #17: Dev found table navigation in JAWS confusing. Decided his method for using the tables made more sense. Built a giant library that worked outside an SR, but it fell apart in JAWS.
  • #18: Struggled to make the case for a11y support to bosses. Bosses wanted numbers. Bosses also only considered a separate site, but numbers had to justify effort.
  • #19: The text “We must detect screen readers” on a starfield above a neon horizon line and neon grid. Behind the text is a purple triangle with a rainbow tail. The text is set in neon script (first couple words), chrome block letters (for “Detect”), and oblique block letters (“screen readers”). Everything glows. It has a very retro 80s kitsch feel. Developers see AT as a barrier to be surmounted Rarely do they understand the browser’s role
  • #20: SO ran a survey; let’s look at who participates Between 1.7% and 11.25% of SO survey respondents identified as having a disability (selection bias in inaccessible survey, there may be overlap between two groups) Let’s frame that… “We know developers can experience many forms of disability and difference, from mental health challenges to physical disability. Mental health issues like depression and anxiety are particularly common among our respondents. In the United States, almost 20% of respondents said they deal with either or both.” https://insights.stackoverflow.com/survey/2018#developer-profile-disability-status
  • #21: I put the title in quotes because that is the SO term. 1,702 responses identified as having a physical difference 1.7%
  • #22: I put the title in quotes because that is the SO term. 11,431 responses identified as having a mental difference 11.25%
  • #23: On SO, developers are not working with a11y pros… Who do they ask? What is their regular support channel? Where do these devs learn these things? When do they realize they need to get help? How do they know what to even ask? Why aren’t they find or asking us?
  • #24: They do not just stumble across our things. They find awful tutorials. They follow name brands who do not do it. They see lots of lip service. They see terrible advice in general.
  • #25: As an industry, where do we go to contribute? Are we in an echo chamber? Who here interacts with any devs outside of those in their day job? Is this our fault? Many are already out there.
  • #26: Many are already out there. Maybe choose a place to make your mark. Hang out on a forum. Leave helpful comments at the big sites. Follow-up on the social medias. Go to local tech events. Pester local colleges and universities. Offer to run a course. Accept that sometimes we will be wrong.
  • #27: If you do choose to go to Stack Overflow, I made a couple resources for you. I am taking my annual sanity break.
  • #28: Re-using answers is awesome. A well-documented / -linked / -researched answer should be re-used. This can make it easier to find.
  • #29: I filed an issue forever ago. The bug reporting model is weird. I accepted an answer, but no idea what happens next. Use this in the meantime.
  • #30: Read the URL