Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tales of Accessibility Failures
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Eva Ferreira
October 12, 2022
Programming
0
75
Tales of Accessibility Failures
Eva Ferreira
October 12, 2022
Tweet
Share
More Decks by Eva Ferreira
See All by Eva Ferreira
Criptografía para enamorados 💖
evaferreira
0
11
Cryptography for lovers 💖
evaferreira
0
36
Bulletproof your Design system
evaferreira
0
65
Good intentions gone bad
evaferreira
0
270
Bulletproof your Design System
evaferreira
0
160
Tales of Accessibility Failures
evaferreira
0
230
La accesibilidad de todos los días - HackAcademy
evaferreira
0
150
Rescue the Dead Horse
evaferreira
0
150
De 45 a 85
evaferreira
0
110
Other Decks in Programming
See All in Programming
AIプロダクト時代のQAエンジニアに求められること
imtnd
2
750
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1.2k
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
550
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
680
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
7.8k
15年目のiOSアプリを1から作り直す技術
teakun
1
610
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
210
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
720
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
320
Event Storming
hschwentner
3
1.3k
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Tell your own story through comics
letsgokoyo
1
830
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
96
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
We Are The Robots
honzajavorek
0
190
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
460
Embracing the Ebb and Flow
colly
88
5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Speed Design
sergeychernyshev
33
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
Tales of Accessibility Failures Eva Ferreira – SmashingConf, 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 Good
intentions gone bad. @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
Lesson 1
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.
None
None
Assistive Technologies * Also known as AT
Hearing Hearing aids Captions
Visual Preference of keyboard over mouse
Screen readers • JAWS • NVDA • Narrator • VoiceOver
• Orca
Mobility Preference of keyboard over mouse
Mobility Sip-and-puff Eye tracking
Mobility Sip-and-puff Eye tracking 💸
Mobility Switches
None
Lesson 2
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 • Keyboard navigation
Outlines 💅 Skip navigation links @evaferreira92
Outlines
None
@evaferreira92
But they are ugly! Yes, they are!
https://www.sarasoueidan.com Use outlines on your focusable elements
https://mabl.com
Skip navigation links
https://www.sarasoueidan.com
None
Skip navigation links
None
Lots impact, Low code.
Sometimes simple is not that simple “Code debt just called;
it wants your happiness back.” @evaferreira92
Prioritize Impact and easy to solve @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
Lesson 3
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
Lesson 4
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 WCAG
None
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
How many websites do you think pass with no errors?
5%? 20%? 40%?
3.2% WebAIM Million, 2022 https://webaim.org/projects/million
Automated tools • Axe-core 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
Lesson 5
The community & A11y ownership Team effort and gate-keeping
None
None
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