April 14, 2025
Let's get one thing straight: accessibility isn't a “nice-to-have” option anymore. It shouldn't be a feature you toss into the backlog to feel morally superior. In 2025, accessibility is just like responsive design was a decade ago. If your site isn't accessible, it's broken. Period.
Beyond ethics, lawsuits, and compliance fines, accessibility matters because it affects real people every single day. We're talking about over 1 billion people worldwide who live with some form of disability. That's a massive chunk of your potential audience and if you're not building for them, you're cutting out voices, users, and opportunities.
Accessibility is also the canary in the coal mine for good design. Sites that prioritize accessibility tend to:
So let's break it down: what does “Accessible by Default” actually mean in 2025?
Not everyone uses a mouse. Whether someone has a motor impairment, is using a screen reader, or is just a keyboard power user, they need to be able to navigate your entire site with the keyboard alone.
Tab
, Shift + Tab
, Enter
, Space
, and arrow keys to try navigating.:focus
styles. Make sure users can see where they are. I generally add styles for hover
, focus
, and active
states by default.tabindex
values aren't misused (use tabindex="0"
for custom focusable elements, avoid -1
unless hiding from keyboard nav).<button>
, <a>
, <input>
, etc.).<a href="#main-content">Skip to content</a>
).Note: For those unaware, skip links help screen reader users and keyboard navigators reach the sites main content or other important sections faster.
I feel like this one has been more easily adopted. But in case you are unaware, it's what lets screen readers, search engines, and assistive technologies understand your site's structure and content.
<div>
and <span>
elements with appropriate tags: <header>
, <nav>
, <main>
, <footer>
, <section>
, <article>
, <button>
, <form>
, <label>
, etc.<fieldset>
and <legend>
for grouped form elements.Bonus Tip: Writing good semantic HTML often improves CSS and JS readability too.
Color is often the first place accessible design breaks down. Users with low vision or color blindness can't distinguish text from background if contrast is too low. And relying on color alone to convey meaning? That's a classic accessibility fail.
Most accessibility problems happen not because teams don't care — but because it's left until the end, when it feels like a burden. If accessibility is part of your workflow from day one, it's cheaper, easier, and more effective. I feel like this happens a lot with testing as well. It's often an afterthought, and it shouldn't be.
Accessible by default means your site works — for everyone. You don't have to be perfect. But you do have to care. And in 2025, that might just be the best thing you can do as a frontend dev.
Now go fix that div
masquerading as a button. Seriously. I'm still watching.
Enjoy my content? You can read more on my blog at The Glitched Goblet or follow me on BlueSky at kaemonisland.bsky.social. I write new posts each week, so be sure to check back often!