SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Accessibility: A Practical
Getting-Started Guide
Josh Justice
ReactATL July 21, 2020
1 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Accessibility (A11y)
…the practice of making your websites usable by as many people as
possible. We traditionally think of this as being about people with
disabilities, but the practice of making sites accessible also benefits
other groups such as those using mobile devices, or those with slow
network connections.
https://developer.mozilla.org/en-US/docs/Learn/Accessibility/
What_is_accessibility
2 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
3 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y:
A lot to learn.
Hard to know how to
get started.
4 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Purpose:
To give you what you need to
get started improving the
a11y of your app.
5 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
About Me
Josh Justice
Twitter: @CodingItWrong
Email: jjustice@bignerdranch.com
6 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
7 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Outside-In Frontend
Development
https://outsidein.dev
8 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21,
2020 - @codingitwrong
Caveat: I'm an a11y
beginner.
9 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y: Three Steps
1. Read background information.
2. Run automated tools.
3. Manually test.
10 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y: Three Steps
1. Read background information.
2. Run automated tools.
3. Manually test.
11 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
https://reactjs.org/docs/accessibility.html
12 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
• Start with docs if you like to read the instructions, or want the big
picture.
• Start with automated tools if you like to dive right in, and learn just-
in-time.
13 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y: Three Steps
1. Read background information.
2. Run automated tools.
3. Manually test.
14 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
2. Run automated a11y
tools.
• eslint-react-jsx-a11y
• react-axe
• Siteimprove Accessibility Checker
15 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
2. Run automated a11y
tools.
• eslint-react-jsx-a11y
• react-axe
• Siteimprove Accessibility Checker
16 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
eslint-react-jsx-a11y
https://www.npmjs.com/package/eslint-plugin-jsx-a11y
• Runs as part of your ESLint setup
• Some rules enabled by default in Create React App apps
• Warnings in editor
• A lot it can't catch
17 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
eslint-react-jsx-a11y
DEMO
18 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
2. Run automated a11y
tools.
• eslint-react-jsx-a11y
• react-axe
• Siteimprove Accessibility Checker
19 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
react-axe
https://www.npmjs.com/package/react-axe
• axe is general accessibility tools
• react-axe hooks in to React (dev environment only)
• Warnings in browser web console
20 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
react-axe
DEMO
21 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
2. Run automated a11y
tools.
• eslint-react-jsx-a11y
• react-axe
• Siteimprove Accessibility Checker
22 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Siteimprove Accessibility
Checker
https://bit.ly/siteimprove-ext
• Chrome extension
• Run it on-request on a page
23 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Siteimprove Accessibility
Checker
DEMO
24 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
2. Run automated a11y
tools.
• eslint-react-jsx-a11y
• react-axe
• Siteimprove Accessibility Checker
25 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y: Three Steps
1. Read background information.
2. Run automated tools.
3. Manually test.
26 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
3. Manually test.
• Keyboard-only usage
• VoiceOver
27 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
3. Manually test.
• Keyboard-only usage
• VoiceOver
28 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Keyboard-Only Usage
• Visible focus indicators
• Tab order
29 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Keyboard-Only Usage
DEMO
30 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
3. Manually test.
• Keyboard-only usage
• VoiceOver
31 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
VoiceOver
• A macOS and iOS screen reader technology.
• Shows you how non-sighted users experience your app.
32 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
33 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
34 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
35 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
VoiceOver
DEMO
36 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
VoiceOver
https://www.apple.com/voiceover/info/guide/_1121.html
37 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
3. Manually test.
• Keyboard-only usage
• VoiceOver
38 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
A11y: Three Steps
1. Read background information.
2. Run automated tools.
3. Manually test.
39 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
40 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Questions?
41 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
Thanks!
@codingitwrong
me@codingitwrong.com
Links:
- React Accessibility
- eslint-react-jsx-a11y
- react-axe
- SiteImprove Accessibility Checker
- VoiceOver
42 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong

Más contenido relacionado

Similar a Practical Accessibility (A11y)

Privacy by Design workshop for Developers - School for Computer Science (HBO-...
Privacy by Design workshop for Developers - School for Computer Science (HBO-...Privacy by Design workshop for Developers - School for Computer Science (HBO-...
Privacy by Design workshop for Developers - School for Computer Science (HBO-...
Anne Marleen
 

Similar a Practical Accessibility (A11y) (20)

AT&T Mobile App & IoT Hackathon @ Catalyst
AT&T Mobile App & IoT Hackathon @ Catalyst AT&T Mobile App & IoT Hackathon @ Catalyst
AT&T Mobile App & IoT Hackathon @ Catalyst
 
IdeaSpace-DLSU Presentation
IdeaSpace-DLSU PresentationIdeaSpace-DLSU Presentation
IdeaSpace-DLSU Presentation
 
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...IRJET-  	  Socially Smart an Aggregation System for Social Media using Web Sc...
IRJET- Socially Smart an Aggregation System for Social Media using Web Sc...
 
OSDC - Open and Accessible
OSDC - Open and AccessibleOSDC - Open and Accessible
OSDC - Open and Accessible
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
Privacy by Design workshop for Developers - School for Computer Science (HBO-...
Privacy by Design workshop for Developers - School for Computer Science (HBO-...Privacy by Design workshop for Developers - School for Computer Science (HBO-...
Privacy by Design workshop for Developers - School for Computer Science (HBO-...
 
Hadoop, Iot and Analytics- The Three Musketeers
Hadoop, Iot and Analytics- The Three MusketeersHadoop, Iot and Analytics- The Three Musketeers
Hadoop, Iot and Analytics- The Three Musketeers
 
Who needs spwyare when you have COVID-19 apps?
Who needs spwyare when you have COVID-19 apps?Who needs spwyare when you have COVID-19 apps?
Who needs spwyare when you have COVID-19 apps?
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Mobile App Ecosystem: IdeaSpace Ateneo
Mobile App Ecosystem:  IdeaSpace AteneoMobile App Ecosystem:  IdeaSpace Ateneo
Mobile App Ecosystem: IdeaSpace Ateneo
 
Lecture #3 activities and intents
Lecture #3  activities and intentsLecture #3  activities and intents
Lecture #3 activities and intents
 
SeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilitySeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and Observability
 
SIGNA11Y - Speaker Presentations
SIGNA11Y - Speaker PresentationsSIGNA11Y - Speaker Presentations
SIGNA11Y - Speaker Presentations
 
Smart life: Hands on training on property automation design and commissioning...
Smart life: Hands on training on property automation design and commissioning...Smart life: Hands on training on property automation design and commissioning...
Smart life: Hands on training on property automation design and commissioning...
 
Internet of things - انترنت الأشياء
Internet of things - انترنت الأشياءInternet of things - انترنت الأشياء
Internet of things - انترنت الأشياء
 
What companies need to know about web accessibility in 2020
What companies need to know about web accessibility in 2020What companies need to know about web accessibility in 2020
What companies need to know about web accessibility in 2020
 
sustainability-open presentation during BEMNext hack fest
sustainability-open presentation during BEMNext hack festsustainability-open presentation during BEMNext hack fest
sustainability-open presentation during BEMNext hack fest
 
Hybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stackHybrid vs native mobile development – how to choose a tech stack
Hybrid vs native mobile development – how to choose a tech stack
 
Why should we care about Digital Accessibility?
Why should we care about Digital Accessibility?Why should we care about Digital Accessibility?
Why should we care about Digital Accessibility?
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 

Más de Josh Justice

Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022
Josh Justice
 

Más de Josh Justice (16)

Effective Detox Testing - React Advanced 2023
Effective Detox Testing - React Advanced 2023Effective Detox Testing - React Advanced 2023
Effective Detox Testing - React Advanced 2023
 
Designing Effective Tests with React Testing Library - React Summit 2023
Designing Effective Tests with React Testing Library - React Summit 2023Designing Effective Tests with React Testing Library - React Summit 2023
Designing Effective Tests with React Testing Library - React Summit 2023
 
Testing React Native Apps - Chain React 2023
Testing React Native Apps - Chain React 2023Testing React Native Apps - Chain React 2023
Testing React Native Apps - Chain React 2023
 
Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022Designing Effective Tests with React Testing Library - React Day Berlin 2022
Designing Effective Tests with React Testing Library - React Day Berlin 2022
 
Building for Mobile and Web with Expo - React Day Berlin 2022
Building for Mobile and Web with Expo - React Day Berlin 2022Building for Mobile and Web with Expo - React Day Berlin 2022
Building for Mobile and Web with Expo - React Day Berlin 2022
 
Intro to React Native Testing Library
Intro to React Native Testing LibraryIntro to React Native Testing Library
Intro to React Native Testing Library
 
Building for Mobile and Web with Expo - React Advanced London 2022
Building for Mobile and Web with Expo - React Advanced London 2022Building for Mobile and Web with Expo - React Advanced London 2022
Building for Mobile and Web with Expo - React Advanced London 2022
 
Getting Better All the Time: How to Escape Bad Code
Getting Better All the Time: How to Escape Bad CodeGetting Better All the Time: How to Escape Bad Code
Getting Better All the Time: How to Escape Bad Code
 
Sustainable Learning - ReactATL Jan 2022
Sustainable Learning - ReactATL Jan 2022Sustainable Learning - ReactATL Jan 2022
Sustainable Learning - ReactATL Jan 2022
 
Building an App for Mobile and Web with Expo
Building an App for Mobile and Web with ExpoBuilding an App for Mobile and Web with Expo
Building an App for Mobile and Web with Expo
 
User-Modifiable Software: Smalltalk and HyperCard
User-Modifiable Software: Smalltalk and HyperCardUser-Modifiable Software: Smalltalk and HyperCard
User-Modifiable Software: Smalltalk and HyperCard
 
Old Solutions to New Testing Problems
Old Solutions to New Testing ProblemsOld Solutions to New Testing Problems
Old Solutions to New Testing Problems
 
Test-Driven Development in Vue with Cypress
Test-Driven Development in Vue with CypressTest-Driven Development in Vue with Cypress
Test-Driven Development in Vue with Cypress
 
Test-Driven Development in React with Cypress
Test-Driven Development in React with CypressTest-Driven Development in React with Cypress
Test-Driven Development in React with Cypress
 
Newbie's Guide to Contributing to Babel
Newbie's Guide to Contributing to BabelNewbie's Guide to Contributing to Babel
Newbie's Guide to Contributing to Babel
 
Outside-in Testing in Vue with Cypress
Outside-in Testing in Vue with CypressOutside-in Testing in Vue with Cypress
Outside-in Testing in Vue with Cypress
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Practical Accessibility (A11y)

  • 1. Accessibility: A Practical Getting-Started Guide Josh Justice ReactATL July 21, 2020 1 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 2. Accessibility (A11y) …the practice of making your websites usable by as many people as possible. We traditionally think of this as being about people with disabilities, but the practice of making sites accessible also benefits other groups such as those using mobile devices, or those with slow network connections. https://developer.mozilla.org/en-US/docs/Learn/Accessibility/ What_is_accessibility 2 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 3. 3 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 4. A11y: A lot to learn. Hard to know how to get started. 4 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 5. Purpose: To give you what you need to get started improving the a11y of your app. 5 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 6. About Me Josh Justice Twitter: @CodingItWrong Email: jjustice@bignerdranch.com 6 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 7. 7 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 8. Outside-In Frontend Development https://outsidein.dev 8 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 9. Caveat: I'm an a11y beginner. 9 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 10. A11y: Three Steps 1. Read background information. 2. Run automated tools. 3. Manually test. 10 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 11. A11y: Three Steps 1. Read background information. 2. Run automated tools. 3. Manually test. 11 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 12. https://reactjs.org/docs/accessibility.html 12 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 13. • Start with docs if you like to read the instructions, or want the big picture. • Start with automated tools if you like to dive right in, and learn just- in-time. 13 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 14. A11y: Three Steps 1. Read background information. 2. Run automated tools. 3. Manually test. 14 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 15. 2. Run automated a11y tools. • eslint-react-jsx-a11y • react-axe • Siteimprove Accessibility Checker 15 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 16. 2. Run automated a11y tools. • eslint-react-jsx-a11y • react-axe • Siteimprove Accessibility Checker 16 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 17. eslint-react-jsx-a11y https://www.npmjs.com/package/eslint-plugin-jsx-a11y • Runs as part of your ESLint setup • Some rules enabled by default in Create React App apps • Warnings in editor • A lot it can't catch 17 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 18. eslint-react-jsx-a11y DEMO 18 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 19. 2. Run automated a11y tools. • eslint-react-jsx-a11y • react-axe • Siteimprove Accessibility Checker 19 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 20. react-axe https://www.npmjs.com/package/react-axe • axe is general accessibility tools • react-axe hooks in to React (dev environment only) • Warnings in browser web console 20 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 21. react-axe DEMO 21 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 22. 2. Run automated a11y tools. • eslint-react-jsx-a11y • react-axe • Siteimprove Accessibility Checker 22 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 23. Siteimprove Accessibility Checker https://bit.ly/siteimprove-ext • Chrome extension • Run it on-request on a page 23 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 24. Siteimprove Accessibility Checker DEMO 24 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 25. 2. Run automated a11y tools. • eslint-react-jsx-a11y • react-axe • Siteimprove Accessibility Checker 25 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 26. A11y: Three Steps 1. Read background information. 2. Run automated tools. 3. Manually test. 26 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 27. 3. Manually test. • Keyboard-only usage • VoiceOver 27 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 28. 3. Manually test. • Keyboard-only usage • VoiceOver 28 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 29. Keyboard-Only Usage • Visible focus indicators • Tab order 29 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 30. Keyboard-Only Usage DEMO 30 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 31. 3. Manually test. • Keyboard-only usage • VoiceOver 31 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 32. VoiceOver • A macOS and iOS screen reader technology. • Shows you how non-sighted users experience your app. 32 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 33. 33 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 34. 34 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 35. 35 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 36. VoiceOver DEMO 36 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 37. VoiceOver https://www.apple.com/voiceover/info/guide/_1121.html 37 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 38. 3. Manually test. • Keyboard-only usage • VoiceOver 38 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 39. A11y: Three Steps 1. Read background information. 2. Run automated tools. 3. Manually test. 39 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 40. 40 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 41. Questions? 41 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong
  • 42. Thanks! @codingitwrong me@codingitwrong.com Links: - React Accessibility - eslint-react-jsx-a11y - react-axe - SiteImprove Accessibility Checker - VoiceOver 42 Accessibility: A Practical Getting-Started Guide - Josh Justice - ReactATL July 21, 2020 - @codingitwrong