SlideShare a Scribd company logo
Building an
Accessible
Component Library
Ari Rizzitano and Mark Sadecki
CSUN Assistive Technology Conference
March 23, 2018
Introductions
Ari Rizzitano
@arizzitano
Mark Sadecki
@cptvitamin
Why Components?
Best Practices
Developer Toolkit
Driving Adoption
Why
Components?
Our Accessibility
Journey
DOJ
Legal

Agreement
Front-loaded
Deliverables
Aggressive

Deadlines
Audits
Reporting
Bug
Identification
Bug
Remediation
Phase 1:

Achieve Conformance
Phase 2:

Maintain Conformance
“We ship too
many a11y bugs.”
“A11Y fixes are hard
and take too long.”
“Developers don’t
know how to write
compliant code.”
“Can’t we just
hire one expert
to do it all?”
Building an Accessible Component Library
“Why do we have 6
different modals?”
“Wash, Rinse, Repeat”
Enter: the
component
library
Modularity
Modularity
•UX and brand consistency

•Faster, easier bugfixes

•No reinventing the wheel
Encapsulation
Encapsulation
•Easier to develop and test

•Consumable by multiple
applications or services

•Highly dynamic functionality
lives in one place
Learning
Learning
•Lower barrier to entry

•Code shared across teams

•Motivation to help other devs

•Easier to review
Best
Practices
Genericize as much
accessible functionality
as possible.
A component library is a great way to do this.
Best practice for focus
is best practice for perf
Encourage focus
management
within
components.
Trap focus when
appropriate
Use API to enforce
best practices
outside
components.
Enforce best practices
Full Name
Enter your name…
Enter your full legal name as it appears on your government ID.
This field is required.
Required Props
Enforce best practices
Reuse behavior
& markup
e.g. for different input types
Developer
Toolkit
Accessibility Testing
audits
code review
manual acceptance testing
unit tests
linting
audits
code review
manual acceptance testing
unit tests
linting
Accessibility Testing
Accessibility
linting
Immediate linter feedback
helps devs internalize
best practices
eslint-plugin-jsx-a11y
Solid unit tests
(this one is just common sense)
Dogfood!
Test and interact with your component library
the way people with disabilities might use it.
Browser extensions
Explore the accessibility tree, check color
contrast, audit your code while working on it
Driving
Adoption
Many devs view a11y as a
chore. How do we fix this?
Paragon
•edX’s (work-in-progress) component library

•Implemented with React and Bootstrap, open
source and released via npm

•15 components (and growing). a11y team built
the first 5 components; developers did the rest

•https://github.com/edx/paragon
Make it easy
•Provide a simple development
environment/playground

•Automate build & release

•Maintain an issue board

•Supportive code reviews

•Extensive documentation & demos
•Sandbox environment doubles as doc
site (https://storybook.js.org)

•100% test coverage

•Release process is fully automated, so
devs can focus on what they do best
Paragon
Make it fun
•Reward first-time contributors

•Pair program as necessary

•Encourage collaboration

•Showcase contributions

•“Accessible code is good code”
Party Time
Tricks & treats
The benefits
Proactive
Developers go straight to the source.
Collaborative
Developers optimize for clarity and
strive to help colleagues learn.
Conscious
a11y use cases become second nature.
Thorough
Different integration environments encourage
feature completeness.
Be soft on people,
hard on code.
Web accessibility
is built on best
practices that
benefit everyone
Thank you.
@arizzitano
@cptvitamin

More Related Content

What's hot (20)

PPT
Automated Testing With Jasmine, PhantomJS and Jenkins
Work at Play
 
PPTX
Best Practices for a Repeatable Shift-Left Commitment
Applause
 
PDF
Awesome Test Automation Made Simple w/ Dave Haeffner
Sauce Labs
 
PPTX
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Ed Blankenship
 
PDF
Web Application Testing with Selenium
Sargis Sargsyan
 
PPTX
Appium vs Espresso and XCUI Test
Perfecto by Perforce
 
PDF
Baking In Quality: The Evolving Role of the Agile Tester
TechWell
 
PDF
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Applitools
 
PDF
10 Benefits of Automated Testing
TestObject - Mobile Testing
 
PDF
SeConf_Nov2016_London
Pooja Shah
 
PDF
CSUN 2017 Success Criteria: Dependencies and Prioritization
Sean Kelly
 
PPTX
Real Devices or Emulators: Wen to use What for Automated Testing
Sauce Labs
 
PPTX
Zero to tested
MagenTys
 
PPTX
Testing for Logic App Solutions | Integration Monday
BizTalk360
 
PPTX
Amalgamation of BDD, parallel execution and mobile automation
Agile Testing Alliance
 
PPTX
Polyglot engineering
Klaus Salchner
 
PPTX
How to scale your Test Automation
Klaus Salchner
 
PDF
Product Vs Craft
MagenTys
 
PPTX
Visual Studio 2010 Testing for Developers
Steve Lange
 
PPTX
Introduction to SoapUI day 1
Qualitest
 
Automated Testing With Jasmine, PhantomJS and Jenkins
Work at Play
 
Best Practices for a Repeatable Shift-Left Commitment
Applause
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Sauce Labs
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Ed Blankenship
 
Web Application Testing with Selenium
Sargis Sargsyan
 
Appium vs Espresso and XCUI Test
Perfecto by Perforce
 
Baking In Quality: The Evolving Role of the Agile Tester
TechWell
 
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Applitools
 
10 Benefits of Automated Testing
TestObject - Mobile Testing
 
SeConf_Nov2016_London
Pooja Shah
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
Sean Kelly
 
Real Devices or Emulators: Wen to use What for Automated Testing
Sauce Labs
 
Zero to tested
MagenTys
 
Testing for Logic App Solutions | Integration Monday
BizTalk360
 
Amalgamation of BDD, parallel execution and mobile automation
Agile Testing Alliance
 
Polyglot engineering
Klaus Salchner
 
How to scale your Test Automation
Klaus Salchner
 
Product Vs Craft
MagenTys
 
Visual Studio 2010 Testing for Developers
Steve Lange
 
Introduction to SoapUI day 1
Qualitest
 

Similar to Building an Accessible Component Library (20)

PPTX
DevOps Friendly Doc Publishing for APIs & Microservices
Sonatype
 
PPTX
Buildmanagment tools mavenandgradle.pptx
praveena210336
 
PDF
DevOps The Cultural revolution
Somenath Ghosh
 
PPTX
ADF Basics and Beyond - Alfresco Devcon 2018
Mario Romano
 
PPTX
How we build project for Open Source
Alexander Zayats
 
PDF
Random thoughts and dev practices / advices to build a great product
Guillaume POTIER
 
PPTX
5 best practices in dev ops culture
Edureka!
 
PPTX
Making software development processes to work for you
Ambientia
 
PDF
Leverage the power of Open Source in your company
Guillaume POTIER
 
PDF
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
PDF
DevSecOps: The Open Source Way
Black Duck by Synopsys
 
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Matt Tesauro
 
PDF
KrishnaToolComparisionPPT.pdf
QA or the Highway
 
PDF
WTFAST Crack Latest Version FREE Downlaod 2025
channarbrothers93
 
PDF
uTorrent Pro Crack Latest Version free 2025
channarbrothers93
 
PDF
Adobe Master Collection CC Crack 2025 FREE
arslanyounus93
 
PDF
AOMEI Partition Assistant Crack 2025 FREE
yazdanwaqar
 
PDF
K7 Total Security 16.0.1260 Crack + License Key Free
birbaahan
 
PPTX
Evolving Scala, Scalar conference, Warsaw, March 2025
Martin Odersky
 
PPTX
DevQAOps - Surviving in a DevOps World
Winston Laoh
 
DevOps Friendly Doc Publishing for APIs & Microservices
Sonatype
 
Buildmanagment tools mavenandgradle.pptx
praveena210336
 
DevOps The Cultural revolution
Somenath Ghosh
 
ADF Basics and Beyond - Alfresco Devcon 2018
Mario Romano
 
How we build project for Open Source
Alexander Zayats
 
Random thoughts and dev practices / advices to build a great product
Guillaume POTIER
 
5 best practices in dev ops culture
Edureka!
 
Making software development processes to work for you
Ambientia
 
Leverage the power of Open Source in your company
Guillaume POTIER
 
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
DevSecOps: The Open Source Way
Black Duck by Synopsys
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Matt Tesauro
 
KrishnaToolComparisionPPT.pdf
QA or the Highway
 
WTFAST Crack Latest Version FREE Downlaod 2025
channarbrothers93
 
uTorrent Pro Crack Latest Version free 2025
channarbrothers93
 
Adobe Master Collection CC Crack 2025 FREE
arslanyounus93
 
AOMEI Partition Assistant Crack 2025 FREE
yazdanwaqar
 
K7 Total Security 16.0.1260 Crack + License Key Free
birbaahan
 
Evolving Scala, Scalar conference, Warsaw, March 2025
Martin Odersky
 
DevQAOps - Surviving in a DevOps World
Winston Laoh
 
Ad

Recently uploaded (20)

PDF
community health nursing question paper 2.pdf
Prince kumar
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PDF
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
community health nursing question paper 2.pdf
Prince kumar
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Lesson 2 - WATER,pH, BUFFERS, AND ACID-BASE.pdf
marvinnbustamante1
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
Ad

Building an Accessible Component Library