Building
Systemsfor
Accessibility
Toronto
PupOwner
Shopify
Toronto
PupOwner
Shopify
@walnuttheassie
Toronto
PupOwner
Shopify
@tiffany_tse
ShopifyGitHub
Repositories
3000+
https://github.com/orgs/Shopify@tiffany_tse
DesignSystem
What is a design system?
@tiffany_tse
Thegenerally-accepteddefinitionof
adesignsystemisthatit’stheouter
circle—itencompassespattern
libraries,styleguides,andanyother
artefacts.Butthere’ssomething
more…
adactio.com/journal/13844
Jeremy Keith on Design Systems
@tiffany_tse
Justbecauseyouhaveacollectionof
designpatternsdoesn’tmeanyou
haveadesignsystem.Asystemisa
framework.It’sarulebook.It’swhat
tellsyouhowthosepatternswork
together.
adactio.com/journal/13844
Jeremy Keith on Design Systems
@tiffany_tse
Content / Writing Patterns / Components Code
Voice and Tone Design
Brand Identity
@tiffany_tse
Shopify’s
Systems
@tiffany_tse
@tiffany_tse
Onesize
doesn’tfitall
Shopify’s
Systems
@tiffany_tse
CodeStyle
Guides
Shopify
Marketing
Design
System
Polaris
Consumedbothinternallyandexternally
Marketing Assets
Projects
62 Polaris React
Weekly Downloads
60k+Polaris
Projects
32
@tiffany_tse
Accessibility
@tiffany_tse
Accessibility
Responsive
ROI
@tiffany_tse
Oneinfour
noninstitutionalizedU.S.
adults(25.7%,estimated

61.4millionpersons)reported
adisability
https://www.cdc.gov/mmwr/volumes/67/wr/mm6732a3.htm
Prevalence of Disabilities and Health Care Access, 2016
@tiffany_tse
This includes
@tiffany_tse
Prevalenceof
disabilityincreases
aspeoplegetolder
@tiffany_tse
UK:Internetuse,55+yearsold
0%
2011 2017
100%
50%
AGES
75+
AGES
65 - 74
AGES
55 - 54
@tiffany_tse ons.gov.uk/businessindustryandtrade/itandinternetindustry/bulletins/internetusers/2017
Internetuseamongthose
aged65to74roseto81%

in2016.
statcan.gc.ca/daily-quotidien/171114/dq171114a-eng.htm
Canadians at Work and Home
@tiffany_tse
WCAG
Do you say “wuh-cag” or “wic-ag”?
@tiffany_tse
WCAGisdevelopedthroughtheW3C
processwithagoalofprovidingasingle
sharedstandardforwebcontent
accessibility.
w3.org/WAI/intro/wcag
WORLD WIDE WEB CONSORTIUM
@tiffany_tse
Foranyauto-updatinginformation
that(1)startsautomaticallyand(2)is
presentedinparallelwithother
content,thereisamechanismforthe
usertopause,stoporhideit
w3.org/TR/UNDERSTANDING-WCAG20/time-limits-pause.html
WCAG Pause, Stop, Hide 2.2.2
@tiffany_tse
WAI-ARIA
“why-ar-i-ah” or “wa-ar-ea”?
@tiffany_tse
@tiffany_tse
LikeCSS

forassistive
technologies
WAI-ARIA
ARIA 1
2
3
4
5
6
7
8
9
10
<div role="status" aria-live="polite" >
<img src="success.svg" alt="">
Success!
</div>
@tiffany_tse
1
2
3
4
5
6
7
8
9
10
<div role="status" aria-live="polite" >
<img src="success.svg" alt="">
Success!
</div>
ARIA
@tiffany_tse
aria-pressed
Toggling pressed states
@tiffany_tse
aria-pressed
migrate transform -C config.yml -O customer customer.csv<div>
<button type="button" aria-pressed="false">
<svg>
</button>
<video>
</div>
1
2
3
4
5
6
7
8
@tiffany_tse
aria-pressed
migrate transform -C config.yml -O customer customer.csv<div>
<button type="button" aria-pressed="true">
<svg>
</button>
<video>
</div>
1
2
3
4
5
6
7
8
@tiffany_tse
ActualImplementation
migrate transform -C config.yml -O customer customer.csvimport { BackgroundVideo } from 'marketing-assets';
const el = document.querySelector('.js-background-
video');
const backgroundVideo = new BackgroundVideo(el);
1
2
3
4
5
6
7
8
@tiffany_tse
ActualImplementation
migrate transform -C config.yml -O customer customer.csv<%= ui_background_video 'styleguide/about-video',
fallback_image: 'styleguide/video-placeholder.jpg',
class: ‘background-video',

autoplay: true,
skin: 'dark',
position: 'bottom-left'
%>
1
2
3
4
5
6
7
8
@tiffany_tse
Maintaining
Systems
@tiffany_tse
Design &
Development
Design
System
Website /
Application
@tiffany_tse
Systemfirst
Applicationssecond
@tiffany_tse
Design &
Development
Design
System
Website /
Application
Design &
Development
Design
System
Website /
Application
@tiffany_tse
Byhavingwell-definedprocessesand
guidelinesforcontribution,wemakesure
thattheextensiveworkdonebyourproduct
teamsarefedbacktothesystemwhen
possible.
booking.design/lessons-learned-building-a-design-system-at-scale
Arda Karaçizmeli - booking.com
Lessons Learned Building a Design System at Scale
@tiffany_tse
Documentation
@tiffany_tse
Focus

management
@tiffany_tse
@tiffany_tse
Colorisnotusedastheonlyvisual
meansofconveyinginformation,
indicatinganaction,promptinga
response,ordistinguishingavisual
element.
w3.org/TR/WCAG20/#visual-audio-contrast-without-color
1.4.1 Use of Color
@tiffany_tse
Building

Empathy
@tiffany_tse
Creatinga
Cultureof
Contribution
@tiffany_tse
NotSoSecret
Benefits
@tiffany_tse
@tiffany_tse
ProgressLoading
WindowsHighContrast
migrate transform -C config.yml -O customer customer.csv@media screen and (-ms-high-contrast: active) {
background-color:
ms-high-contrast-color('disabled-text');
}
1
2
3
4
5
6
7
8
@tiffany_tse
WindowsHighContrast
@tiffany_tse
aria-live
Creating live regions
@tiffany_tse
aria-live
migrate transform -C config.yml -O customer customer.csv1
2
3
4
5
6
<button
aria-label="Copy code sample"
aria-live="polite"
>
Copy
</button>
@tiffany_tse
@tiffany_tse
UnderstandYour
Audience
@tiffany_tse
Shared
Vocabulary
@tiffany_tse
Empathy
@tiffany_tse
BuildingaCulture
ofContribution
@tiffany_tse
Accessibilityis
thenew
responsive.
@tiffany_tse
Accessibilityis
thenew
responsive.
@tiffany_tse
Thanks!
@tiffany_tse

Accessibility At Scale - Tiffany Tse - Shopify