Accessibility

Your site should work for everyone who visits it — not just people with the latest hardware and perfect vision.

Why accessibility matters for your business

Accessibility isn't a nice-to-have or a compliance checkbox. It's a design constraint — like gravity. When you build with it from the start, you get a site that works better for everyone:

What WCAG 2.1 AA actually means

WCAG (Web Content Accessibility Guidelines) is the international standard. Level AA is the widely accepted baseline. Here's what it requires in plain language:

Perceivable
All content can be perceived by all users. Images have alt text. Videos have captions. Text has sufficient contrast (4.5:1 for normal text, 3:1 for large text). Nothing relies solely on color to convey meaning.
Operable
Every interaction works with a keyboard. No keyboard traps. Focus indicators are visible. Touch targets are at least 44x44 pixels. Users have enough time to read and interact with content.
Understandable
The page language is declared. Form inputs have labels. Error messages are clear and specific. Navigation is consistent across pages.
Robust
Content works with assistive technologies — screen readers, voice control, switch devices. This means semantic HTML, proper ARIA when needed, and valid markup.

How accessible sites get built

Accessibility isn't bolted on at the end. It's built into every decision from the start:

Semantic HTML first
A <button> is better than a<div role="button" tabindex="0">. Your site uses<nav>, <main>,<article>, <details>,<dialog> — elements that carry meaning, structure, and accessibility for free. ARIA is a last resort, not a first choice.
Keyboard-first interaction
Every interactive element works with Tab, Enter, Space, and Escape. No keyboard traps. :focus-visible for keyboard-only focus indicators that don't clutter mouse interactions.
Respecting user preferences
prefers-reduced-motion,prefers-color-scheme,prefers-contrast — these are the user telling you what they need. Your site honors all of them.
Testing like a user
Automated scanning with axe-core catches the obvious issues. Keyboard walkthroughs catch the interaction issues. VoiceOver spot-checks catch the screen reader issues. Lighthouse accessibility target: 95+.

The AI-generated site problem

The web industry is moving fast toward AI-generated websites. Tools like Bolt, v0, and Cursor can generate a visually polished site in minutes. But there's a catch that most people don't see until it's too late:

AI-generated UI is inaccessible by default.

AI tools optimize for what looks right, not what works right. The browser builds two parallel representations of every page: arender tree (what you see) and an accessibility tree(what screen readers, keyboard users, and assistive technologies use). AI-generated code produces near-zero semantic information for that second tree.

In practice, this means AI-generated components routinely ship with:

This isn't a bug that'll get fixed in the next model update. It's structural: AI training data skews toward <div>-heavy code, evaluation feedback is visual-only, and token economics favor shorter, less semantic output. Theresearch backs this up.

This is exactly why every line of our code is a decision.Using <nav> instead of<div class="nav"> is a decision. Using<button> instead of<div onClick> is a decision. Unreviewed AI output doesn't make those decisions — it makes the statistically likely choice, which is almost always the wrong one for accessibility. We use AI as a tool, but every element gets reviewed for semantic correctness.

As more of the web gets generated without that review step, the accessibility gap is going to widen. Sites that are intentionally built — semantic HTML, proper ARIA, keyboard-first interaction — will stand out even more. That's where we are, and that's where we're staying.

Common questions

How do I know if my current site is accessible?
Try navigating it with only your keyboard — Tab through every link and button, use Enter to activate them, use Escape to close modals. If you get stuck, can't see where you are, or can't reach something, your site has accessibility issues. We can run a full automated + manual audit for you.
Is my Squarespace / WordPress site accessible?
Usually not well. Page builders generate complex DOM structures that confuse screen readers, skip heading levels, and often use<div>s where semantic elements should be. Some themes are better than others, but the platform itself limits how accessible the output can be.
Do I really need to worry about accessibility lawsuits?
ADA web accessibility lawsuits have been rising year over year. Small businesses are increasingly targeted. Proactive accessibility built into the foundation is far cheaper than retrofitting after a demand letter. But beyond legal risk — it's just the right thing to do. 15-20% of your potential customers have a disability.
What's the difference between accessibility overlays and real accessibility?
Accessibility overlays (like accessiBe, UserWay) are widgets that try to fix accessibility issues after the fact. They don't work — they often make things worse for screen reader users, and they don't protect you legally. Real accessibility is built into the HTML and CSS. There's no shortcut.

Is your site accessible?

Get a free accessibility scan

Get automated and manual checks against WCAG 2.1 AA — see what's failing and what it means for your visitors and your business.

Get in Touch