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
Rescue the Dead Horse
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Eva Ferreira
September 07, 2021
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rescue the Dead Horse
A talk about Accessibility Technical Debt
Eva Ferreira
September 07, 2021
Transcript
74 slides
Rescue the Dead Horse Eva Ferreira – Shift Conference, 2021
First trip since Feb. 2020
Hi! I’m Eva :)
Dead horse? @evaferreira92
Beating a Dead horse @evaferreira92
To waste time and effort trying to do something that
is impossible. “ ” Mr. Merriam-Webster
Tech Debt.
TECH DEBT.
Memes as a coping mechanism
@evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
@evaferreira92
None
What is Technical Debt? And… what isn’t Technical Debt?
¿Bad Code?
Bad Code = Lack Lack of knowledge, lack of caring,
lack of quality control
Bad code is usually more harmful than Techical Debt @evaferreira92
¿Tech Debt?
Technical Debt is a conscious Trade-off
It happens when we choose to gain something otherwise-unattainable immediately
in return for paying it back (with interest) later on. “ ” Mr. Harry Roberts
It happens when we choose to gain something otherwise-unattainable immediately
in return for paying it back (with interest) later on. “ ” Mr. Harry Roberts
The Theming Example
!important all the things
This is my garbage and I’m proud of it. @evaferreira92
@evaferreira92
@evaferreira92
Congrats! You have just created Technical Debt! Now… will you
repay? @evaferreira92
None
None
Consequences of not repaying • Accumulates interests • Snowball effect
• Team members are sad @evaferreira92
Repaying Tech Debt The Accessibility Part
An annual accessibility analysis of the top 1,000,000 home pages
How many passed a basic WCAG test?
WCAG includes (but not limited to) • Alternative texts for
images • AA Contrast ratios • Labels for inputs • Document language attribute • Buttons and links with discernable texts @evaferreira92
At least 20%? @evaferreira92 At least 10%? At least05%?
At least 20%? @evaferreira92 At least 10%? At least05%?
At least 20%? @evaferreira92 At least 10%? At least05%?
At least 20%? @evaferreira92 At least 10%? At least05%?
Only 2,6% passed. @evaferreira92
Most common errors • Lack of alternative texts for images
• Non-compliance color contrasts • Lack of labels for inputs • Lack of document language attribute • Buttons and links without discernable texts @evaferreira92
<html lang="es">
Fun facts “Despite being 2021, 14,501 home pages had <marquee>
and 341 home pages had blinking content (<blink> or text-decoration: blink).” https://webaim.org/projects/million/
Why does this happen? Lack of accessibility is more often
than not, a conscious trade-off.
None
How do we begin repaying? Repaying accessibility technical debt
Current Tech Debt Improvements to current a11y bugs
Spare time to improve it • Small, well-defined tasks
15% of sprint • Fix bugs • Rebuild broken components • Build new features Skip navigation, etc. @evaferreira92
Track and document @evaferreira92
None
You can’t repay what you don’t acknowledge @evaferreira92
Avoid creating more (Accessibility Technical Debt)
Long term warning! The following recommendations might take soooome time
Cultural change in the company You need people who care.
@evaferreira92
Update processes • Automated tests Built into CI •
Manual tests • QA Process • Internal demos with Screen Reader @evaferreira92
Design Systems • Fix a11y here! Colors, contrast, font-sizes,
font families Labels and alts • Whatever what Brad Frost and Jina Anne say @evaferreira92
None
https://bradfrost.com/blog/post/enforcing-accessibility-best-practices- with-automatically-generated-ids/ by Brad Frost
@evaferreira92
Hire Front-end developers @evaferreira92
Hire Front-end developers @evaferreira92
No code can fix bad design. If the design is
inaccessible, so is the website.
Bad UX flows
None
None
None
@evaferreira92
Team work It’s not 1999 with webmasters doing the whole
thing anymore
None
You can’t avoid Tech Debt But you CAN avoid putting
the burden on users with disabilities
Thank you! @evaferreira92
More Decks by Eva Ferreira
See All by Eva Ferreira
Fun with flags - Cómo enojar países con i18n
evaferreira
0
40
Fun with Flags - i18n in the AI era
evaferreira
0
94
Criptografía para enamorados 💖
evaferreira
0
45
Cryptography for lovers 💖
evaferreira
0
70
Bulletproof your Design system
evaferreira
0
120
Good intentions gone bad
evaferreira
0
320
Bulletproof your Design System
evaferreira
0
190
Tales of Accessibility Failures
evaferreira
0
110
Tales of Accessibility Failures
evaferreira
0
260
Other Decks in Programming
See All in Programming
Event is what happens
moro
2
4.6k
Modernizing iOS Apps
seyfoyun
0
150
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
330
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
290
オーケストレーション記述言語 Katari
yukikurage
0
250
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
180
Seven New Principles of Software Engineering
yegor256
0
490
Next.js: The final boss of Web Performance
guaca
0
400
LLM 101
dalinaum
0
480
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Documentation Writing (for coders)
carmenintech
77
5.6k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
470
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Raft: Consensus for Rubyists
vanstee
143
7.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Making Projects Easy
brettharned
120
6.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k