Slide 1

Slide 1 text

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