Slide 1
Accessibility is a Marathon Not a Sprint
React Conf 2019
Brittany Feenstra - Developer at Formidable
Slide 2
What we're discussing
React Conf 2019
@brittanyirl
Slide 3
What We’re Discussing
React Conf 2019
@brittanyirl
Slide 4
Our Goal
React Conf 2019
@brittanyirl
Slide 5
Accessibility Starting Points
React Conf 2019
@brittanyirl
Slide 6
What’s the problem?
React Conf 2019
@brittanyirl
Slide 7
Why we “save” accessibility for later
React Conf 2019
@brittanyirl
There’s no time
Our designs are limited or evolving
Users don’t need it
The documentation is a doozy
Slide 8
html suxxx and styling is the worst. I’m a REACT developer, I have component libraries I can use. I don’t want to admit weakness.
Slide 9
You know what else is intimidating?
Slide 10
Slide 11
Slide 12
Slide 13
Breaking down the process
Semantic HTML > Aria > Patterning, Navigation, Focus Traps
Best Practices
Slide 14
Slide 15
Which one is easier to read?
Slide 16
Which one is easier to read?
Slide 17
<h3>Heading Structures</h3>
Slide 18
Using our headings better
DEMO with heading outline
Slide 19
Slide 20
Slide 21
Slide 22
Slide 23
Button guidelines to remember
- Buttons are action items in your app
- Use anchors not buttons when clicking/entering sends the user to a new view
- Let
<button>
do your heavy lifting for you! - Give your clickable elements meaningful text to display
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
Slide 36
When you use Aria, ask yourself why
Slide 37
Next steps
- Reference patterns
- Navigation regions
- Focus Traps
- Best Practices
Slide 38
2. We get better nutritional habits
Slide 39
Slide 40
If you use one tool here, use Axe
Slide 41
HeadingsMap for strong html outlines
Slide 42
What great outlines look like
Slide 43
What OK outlines look like
Slide 44
What a sad outline looks like
Slide 45
Tools to look at your UI in different ways
Slide 46
Look at your app differently
Slide 47
Look at your app differently
Slide 48
Slide 49
3. Cross-train and Stretch
Slide 50
3. Cross-train and Stretch
Slide 51
Testing out our earlier forms Bad form vs good form
(video)
Slide 52
Slide 53
Slide 54
Resources used in this slidedeck
Axe by Deque Lighthouse (used by chrome in dev tools)
This heading maps outliner for chrome
This make your browser color blind
This allows you to experience different visual impairments on screen
Color contrast analyzer
NPM link to eslint-plugin-jsx-a11y
Writing Automated Tests for Accessibility (Marcy Sutton)
My demo code sandbox
Slide 55
Accessibility Resources & References
● A11y Project: great blog about accessibility, helps easily communicate concepts
● React’s docs on accessiblity have lots of links
● Checklist for making your UI accessible
● Stripe’s blog for choosing colors
● HTML semantics explained by internetingishard
● Web semantics by MDN
● Reakit library of accessible react components
● WCAG - the official accessibility standards
● Any course by Marcy Sutton on A11y you can find!
● How to use voice over for safari
● A11y podcasts
● Twitter accounts I follow for a11y content (no particular order): @knitcodemonkey, @standardista, @marcysutton, @dboudreau, @thebillygregory, @karlgroves, @heydonworks, @aspittel, @resource11