Simple accessibility
THE BARE MINIMUM FOR COMPASSIONATE DEVELOPMENT
Melissa Avery-Weir
@averymd
Slide 2
Slide 2 text
Our jobs, our passions
oWe are creators
oWe are empowered
oWe are… constrained
Slide 3
Slide 3 text
Accessibility and “Disability”
o Auditory: hard of hearing, deafness
o Visual: low-vision, blindness, color blindness
o Neurological or Cognitive: memory impairments,
distractibility, learning disabilities
o Motor: reduced response time, inability to use a
mouse, lack of fine motor control
Slide 4
Slide 4 text
Bring forth the compassion
“Deep awareness of the suffering of
another, coupled with the wish to relieve
it.”
—Wiktionary
Slide 5
Slide 5 text
“They’ll have someone to help
them do it.”
—Someone I don’t want to work for
Slide 6
Slide 6 text
How do we do better?
o Semantic markup and ARIA roles
o Explicitly connect content with descriptors
o Provide text alternatives
o Keyboard accessibility
Slide 7
Slide 7 text
Accessible Rich Internet Applications
“ARIA”
o Part of Web Content Accessibility Guidelines (WCAG) 2.0
o Provides optional roles, state information, and “live
regions” for more semantic markup
o Example roles: banner, navigation, search, main, form
Slide 8
Slide 8 text
ARIA roles example
Slide 9
Slide 9 text
Semantic markup and ARIA roles
o Use h1-h6, p, ul/ol/dl, header, nav, aside, footer
Why?
1. Screenreaders will announce “landmarks”,
headers, and lists
2. Allows users to customize their view of pages
Slide 10
Slide 10 text
https://www.youtube.com/watch?v=jiA9RJBwXvw
Slide 11
Slide 11 text
Semantic Markup and Roles
1. Use semantic HTML5 markup (headers, lists)
2. Use the “role” attribute to indicate
landmarks: banner, navigation, search, main,
form
Slide 12
Slide 12 text
Connect content with descriptors
Visual users have visual context
Slide 13
Slide 13 text
ARIA label, labelledby, describedby
o aria-label: Text label for an object
o aria-labelledby: ID references to elements that label
a focusable object
o aria-describedby: ID references to elements that
describe an object
Slide 14
Slide 14 text
Split label – the better way
Slide 15
Slide 15 text
Provide text alternatives
o Concise, accurate alt attributes on images
o Don’t treat “title” on images as a text alternative
o Descriptions of charts and diagrams
o Encourage video/audio content creators to provide
closed captioning and transcripts
Slide 16
Slide 16 text
Why provide text alternatives?
o Screenreaders
o Slow connections
o Triggering content
Slide 17
Slide 17 text
Keyboard accessibility
o Events that trigger on hover, mouseover, or
mouseout should probably also trigger on focus and
blur
o onclick isn’t mouse-specific
o Functionality should be available to keyboards
o JS widgets get complicated
Slide 18
Slide 18 text
Widget Libraries
o jQuery UI is not accessible
o Kendo UI seems pretty awesome
o Drag and Drop/Sortables: not accessible in the big
libraries
o You can hack extend toolkits by adding keypress
event bindings
Slide 19
Slide 19 text
Our four techniques
1. Use semantic markup and ARIA roles
2. Associate content with descriptors
3. Provide text alternatives
4. Ensure keyboard access to all functionality
Slide 20
Slide 20 text
Are we doing it right?
o Navigate the site/app without a mouse
o Can you complete every form, navigate to any page?
o Give yourself a custom stylesheet that overrides base
styles
o Turn off CSS
o WAVE: Web Accessibility Evaluation Tool
o JAWS has a 40-minute trial
Slide 21
Slide 21 text
Compassionate culture
“Sympathetic consciousness of others' distress
together with a desire to alleviate it.”
—Merriam-Webster
Slide 22
Slide 22 text
Raising the bar
o Video/audio captioning and transcripts
o Care for color contrast
o Use ARIA “live regions”
o Eliminate time restrictions
o Font scalability
o Interactive element size
o Clarity of interactive elements
o Access keys
o Skip links for repetitive content (nav)
o Allow users to disable flashing content
o Add breadcrumb trails
o Give expect input formats
o Link to or provide pronunciations
o Allow undos or restores
o Don’t disguise one element as another
o Pursue accessibility certification
Slide 23
Slide 23 text
Resources
o ARIA: http://www.w3.org/TR/wai-aria
o WebAIM (Web Accessibility In Mind): http://webaim.org/
o WAVE: http://wave.webaim.org/
o SSB Bart Group: https://www.ssbbartgroup.com/index.php