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
Eva Ferreira
October 12, 2022
Programming
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Tales of Accessibility Failures
Eva Ferreira
October 12, 2022
More Decks by Eva Ferreira
See All by Eva Ferreira
Criptografía para enamorados 💖
evaferreira
0
20
Cryptography for lovers 💖
evaferreira
0
49
Bulletproof your Design system
evaferreira
0
85
Good intentions gone bad
evaferreira
0
300
Bulletproof your Design System
evaferreira
0
170
Tales of Accessibility Failures
evaferreira
0
250
La accesibilidad de todos los días - HackAcademy
evaferreira
0
160
Rescue the Dead Horse
evaferreira
0
170
De 45 a 85
evaferreira
0
130
Other Decks in Programming
See All in Programming
The NotImplementedError Problem in Ruby
koic
1
1k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
330
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.2k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
810
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
430
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1k
act1-costs.pdf
sumedhbala
0
140
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
190
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
620
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
250
Performance Engineering for Everyone
elenatanasoiu
0
250
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Designing Experiences People Love
moore
143
24k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
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