Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Tales of Accessibility Failures
Search
Eva Ferreira
September 19, 2022
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tales of Accessibility Failures
Shift Conference, Croatia / September 2022
Eva Ferreira
September 19, 2022
More Decks by Eva Ferreira
See All by Eva Ferreira
Fun with Flags - i18n in the AI era
evaferreira
0
77
Criptografía para enamorados 💖
evaferreira
0
35
Cryptography for lovers 💖
evaferreira
0
60
Bulletproof your Design system
evaferreira
0
110
Good intentions gone bad
evaferreira
0
310
Bulletproof your Design System
evaferreira
0
180
Tales of Accessibility Failures
evaferreira
0
94
La accesibilidad de todos los días - HackAcademy
evaferreira
0
180
Rescue the Dead Horse
evaferreira
0
180
Other Decks in Programming
See All in Programming
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
460
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Intent as Code
shoppingjaws
6
1.1k
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
App Intentsのビルドプロセスを支える技術
kntkymt
0
490
速習iPhone Duo対応
yuukiw00w
2
920
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
320
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
210
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
330
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
6.1k
WENDY [Excerpt]
tessaabrams
14
40k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Skip the Path - Find Your Career Trail
mkilby
1
240
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Abbi's Birthday
coloredviolet
4
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Git: the NoSQL Database
bkeepers
PRO
432
67k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Done Done
chrislema
187
17k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
Transcript
Tales of Accessibility Failures Eva Ferreira – Shift Conference, 2022
Hi, I’m Eva! Front-end Engineer at mabl Google Developer Expert
& CSSConf Argentina organizer @evaferreira92
Not another “This is how you do a11y” talk Accessibility
mistakes, failed assumptions and myths I mistakenly believed in. @evaferreira92
@evaferreira92 YOU DON’T HAVE TO LEARN FROM YOUR MISTAKES IF
YOU CAN LEARN FROM MINE
⚠️WARNING⚠️ This is a work in progress. I will, most
definitely, keep on messing up. @evaferreira92
A11y personas Understanding disabilities and assistive technologies
What is a disability? “Accessibility is for blind people”
Disability: A failed interaction between the environment and a person
with a medical condition.
Diverse group of people, a wide range of needs @evaferreira92
15% of world’s population. has a permanent disability. @evaferreira92
None
Simplest things tend to have the biggest impact. I went
ALL IN into aria and screen readers
I wrongly prioritized screen readers over keyboard navigation Begin your
a11y journey with simple and impactful changes. @evaferreira92
Simple, impactful • Color contrast • Semantics • Labels on
forms • Keyboard navigation Outlines 💅 Skip navigation links @evaferreira92
Outlines
@evaferreira92
https://www.sarasoueidan.com Use outlines on your focusable elements
https://developer.mozilla.org
Skip navigation links
None
Sometimes simple is not that simple “Code debt just called;
it wants your happiness back.” @evaferreira92
Prioritize Impact and easy to solve @evaferreira92
Impact, use common sense @evaferreira92
Easy to solve, depends on the codebase @evaferreira92
Prioritize • Big impact, easy to solve • Mix with
small impact, easy to solve Ideal for Fridays 💃 • Big impact, hard to solve • Small impact, hard to solve @evaferreira92
People mean well … Most of the time.
Aria-label all the things! The Infobae & the React Testing
Library stories @evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
Why?
@evaferreira92 https://webaim.org/blog/aria-cause-solution
“Every image should have an alt text!” @evaferreira92
Rules for alternative texts • The alt attribute is compulsory
• It can be empty if the image is decorative (alt=“”) • Do not be redundant • If it has an action, describe the action, not the image @evaferreira92
https://www.w3.org/WAI/tutorials/images/decision-tree
The SEO in the room And the story of how
every image had the same alt text. @evaferreira92
Testing correctly Having 98/100 on Lighthouse won’t save you.
None
None
Manual tests @evaferreira92
Manual tests • Axe Developer tools • WAVE • Keyboard
navigation • Screen readers @evaferreira92
What do we test? We test users’ stories. @evaferreira92
Can a user with [assistive technology] do [action]? @evaferreira92
Test users’ stories • Can a user with keyboard navigation
- create an account? • Can a user with a screen reader - add a product to the cart? • Can a user watch this video - using captions? @evaferreira92
Test for people. @evaferreira92
Automated tests @evaferreira92
WCAG • Set of rules created by W3C a long
time ago. • Standard in the industry • What gives the foundation for a11y laws all around the globe • Different success criteria depending on target audience, target country, type of company, etc. @evaferreira92
Of course, always aim for no errors. @evaferreira92
Automated tools • Axe by Deque • Lighthouse • Mabl
• Storybook add-on @evaferreira92
Automated tools • Add these to your pipelines • CI/CD
should fail when requirements are not met. @evaferreira92
The community & A11y ownership Team effort and gate-keeping
You cannot out-code bad design. Accessibility is a team effort.
No gate-keeping allowed. @evaferreira92
So, You made a mistake. What happens when you mess
up.
You try again! * Easier said than done @evaferreira92
None
Mistakes are: • Temporal • Localized • Changeable @evaferreira92
You don’t need to be always right. Aim for making
new mistakes instead of repeating old ones. @evaferreira92
You need to try, you need to care. @evaferreira92
Thanks! @evaferreira92