Everything I Know About
Accessibility I Learned
from Stack Overflow
rosel.li/a11yTOConf (case sensitive)
#a11yTOConf
Presented by Adrian Roselli (@aardrian) for a11yTO
HTML
#a11yTOConf
HTML
A: You can use <img alt=""> (no
src attribute) to provide helpful
content to screen readers.
#a11yTOConf
HTML
Q: Why can’t I activate a link on
focus with this?
<a href="#"><div tabindex="0">Tab
focus me, then ⏎</div></a>
#a11yTOConf
CSS
#a11yTOConf
CSS
A: You can disable link underlines
that are added by user style
sheets with !important.
#a11yTOConf
CSS
Q: I used jQuery to add border=0
to links, but everything gets a
weird border. How do I remove it?
#a11yTOConf
ARIA
#a11yTOConf
ARIA
A: Use aria-labelledby to
associate each form field with the
paragraph of instructions.
#a11yTOConf
ARIA
Q: VoiceOver won’t announce this
image. What ARIA do I need to
add to make it work?
<img src="foo.gif" alt="">
#a11yTOConf
ARIA
Q: Can I avoid adding alt text if I
just add aria-hidden="true" to
every image?
#a11yTOConf
Assistive Technology
#a11yTOConf
Assistive Technology
Q: How do I override how JAWS
navigates tables and replace the
keystrokes with my better
keystrokes?
#a11yTOConf
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.
#a11yTOConf
Where Are Devs?
#a11yTOConf
Where Are Devs?
•Not in our Slack channels,
•Not at our a11y conferences,
•Not reading our specs
•Not reading our blog-o-trons.
#a11yTOConf
Where Are A11y Pros?
#a11yTOConf
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.
#a11yTOConf
Resources
#a11yTOConf
Resources
Search for terms in your own
answers with:
user:me is:answer {search term}
#a11yTOConf
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);})()
#a11yTOConf
Everything I Know About
Accessibility I Learned
from Stack Overflow
rosel.li/a11yTOConf (case sensitive)
#a11yTOConf
Presented by Adrian Roselli (@aardrian) for a11yTO

Everything I Know About Accessibility I Learned from Stack Overflow

  • 1.
    Everything I KnowAbout Accessibility I Learned from Stack Overflow rosel.li/a11yTOConf (case sensitive) #a11yTOConf Presented by Adrian Roselli (@aardrian) for a11yTO
  • 2.
  • 3.
    HTML A: You canuse <img alt=""> (no src attribute) to provide helpful content to screen readers. #a11yTOConf
  • 4.
    HTML Q: Why can’tI activate a link on focus with this? <a href="#"><div tabindex="0">Tab focus me, then ⏎</div></a> #a11yTOConf
  • 5.
  • 6.
    CSS A: You candisable link underlines that are added by user style sheets with !important. #a11yTOConf
  • 7.
    CSS Q: I usedjQuery to add border=0 to links, but everything gets a weird border. How do I remove it? #a11yTOConf
  • 8.
  • 9.
    ARIA A: Use aria-labelledbyto associate each form field with the paragraph of instructions. #a11yTOConf
  • 10.
    ARIA Q: VoiceOver won’tannounce this image. What ARIA do I need to add to make it work? <img src="foo.gif" alt=""> #a11yTOConf
  • 11.
    ARIA Q: Can Iavoid adding alt text if I just add aria-hidden="true" to every image? #a11yTOConf
  • 12.
  • 13.
    Assistive Technology Q: Howdo I override how JAWS navigates tables and replace the keystrokes with my better keystrokes? #a11yTOConf
  • 14.
    Assistive Technology Q: Howcan I check if a user has a disability or is using a screen reader? You know, to justify making a design accessible. #a11yTOConf
  • 15.
  • 16.
    Where Are Devs? •Notin our Slack channels, •Not at our a11y conferences, •Not reading our specs •Not reading our blog-o-trons. #a11yTOConf
  • 17.
    Where Are A11yPros? #a11yTOConf
  • 18.
    Where Are A11yPros? • Are we on Stack Overflow? • Are we at local tech events? • Are we training teams? • Are we involved in education? • We need better outreach. #a11yTOConf
  • 19.
  • 20.
    Resources Search for termsin your own answers with: user:me is:answer {search term} #a11yTOConf
  • 21.
    Resources Add underlines tolinks (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);})() #a11yTOConf
  • 22.
    Everything I KnowAbout Accessibility I Learned from Stack Overflow rosel.li/a11yTOConf (case sensitive) #a11yTOConf Presented by Adrian Roselli (@aardrian) for a11yTO

Editor's Notes

  • #2 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 Only 3.4% of SO survey respondents identified as having a disability (selection bias in inaccessible survey) 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 Linger on this slide. CSS questions usually have a script aspect to them.
  • #7 Question was about overriding ugly underlines. Really wanted to prevent all users from ruining his/her design.
  • #8 Many questions conflate JS, CSS, and HTML. Do not understand distinction.
  • #9 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.
  • #10 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.
  • #11 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.
  • #12 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.
  • #14 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.
  • #15 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.
  • #16 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?
  • #17 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.
  • #18 As an industry, where do we go? 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.
  • #19 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.
  • #20 If you do choose to go to Stack Overflow, I made a couple resources for you. I am taking my annual sanity break.
  • #21 Re-using answers is awesome. A well-documented / -linked / -researched answer should be re-used. This can make it easier to find.
  • #22 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.
  • #23 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 Only 3.4% of SO survey respondents identified as having a disability (selection bias in inaccessible survey) These slides use the fonts and colors from the SO site (tho I added link underlines) Event hashtag in the bottom right