Best Practices· 7 min read

The Accessibility Checklist for Website Chatbots

An inaccessible chatbot shuts out real customers and raises legal risk. Use this practical checklist to make your website chat usable for everyone.


A customer who navigates by keyboard opens your chat, types a question, and then can't get back out. Focus is stuck inside the widget. They tab and tab and end up nowhere. For that person, your helpful chatbot just became a trap, and your business became one they won't return to.

Accessibility isn't a nice-to-have bolted on at the end. A chatbot is part of your website, which means the same expectations apply. Get it wrong and you shut out real customers, some of whom were ready to buy. In many places you also take on legal risk. The good news: most of what matters is a short, concrete checklist.

Why this is worth your time

A meaningful share of people use the web in ways that don't involve a mouse and a perfect pair of eyes. Screen readers, keyboard-only navigation, high-contrast modes, reduced motion, voice control. These aren't edge cases. They're customers.

An inaccessible chat widget quietly turns them away. Worse, it does so at the exact moment they were trying to ask for help or make a purchase. And accessibility law in many regions treats your website, chat included, as something that has to be usable by people with disabilities. So there's both a human reason and a practical, risk-shaped one to get this right.

The encouraging part is that accessibility overlaps almost perfectly with good design. A chat that works well for a screen reader also tends to be clearer, faster, and less annoying for everyone. Clear labels help a distracted person on their phone as much as a screen-reader user. Good contrast helps someone reading in bright sunlight. Respecting reduced motion helps anyone who finds bouncing widgets distracting. You're not building a special version for a few people. You're building a better version for all of them, and the accessibility work is what gets you there.

Keyboard: the whole thing, no mouse

Start here, because it's the fastest test and catches the most damage. Unplug your mouse, or just don't touch it, and try to use your chat start to finish.

That last point is the classic failure. When a chat window opens, focus should move into it. When it closes, focus should return to the launcher or the page. Anything that strands the keyboard user is a hard fail, and it's more common than you'd think.

Screen readers: announce and label everything

A sighted user sees a new message appear. A screen-reader user hears nothing, unless you tell the software to speak up. This is where chat widgets fall down most often.

New messages need to be announced automatically. That's done with a live region, so when the bot replies, the screen reader reads it out without the user hunting for it. Every control also needs a real label. A send button that's just an icon means nothing to a screen reader unless it's labeled "Send message." The same goes for the launcher, the close button, and any quick-reply chips.

Run through this quickly:

If you build on a platform, ask how it handles these. In SpideyChat the widget ships with keyboard support and screen-reader labeling built in, so you're not reconstructing this from scratch. Even so, test it on your own site, because your surrounding page can affect focus and order.

Color, contrast, and text size

Plenty of people can see the chat but struggle with low contrast or tiny text. This one's easy to check and easy to fix.

Message text needs enough contrast against its bubble to be readable, and the same goes for buttons and input fields. A pale gray placeholder on a white input might look elegant to you and be invisible to someone with low vision. Don't rely on color alone to signal anything, either. If an error state is only communicated by turning something red, a colorblind user misses it entirely, so pair color with text or an icon.

Let text scale, too. When someone zooms the page or bumps up their default font size, the chat should reflow and stay usable, not clip messages or hide the send button.

Motion, timing, and focus behavior

Animation and timing quietly break accessibility in ways that are easy to overlook.

Some people get dizzy or worse from motion. If your chat bounces, slides, or animates heavily, respect the reduced-motion setting people set in their operating system and tone it down when they've asked for that. Avoid anything that flashes rapidly, which can trigger seizures.

Timing matters as well. Don't auto-close the chat or expire the conversation on a short timer, because people who type slowly, use assistive tech, or just get interrupted need more time. If something must time out, warn the user and let them extend it.

Take Brightpath Clinic, a small practice that added a chat widget to help patients book. A patient using a screen reader emailed to say the bot's replies never got read aloud, so she couldn't tell if it had answered. The fix was a proper live region so new messages announced themselves, plus a real label on the send button. Small changes, but they turned an unusable tool into a working one for every patient who relied on assistive tech.

Test with the tools people actually use

You can't fully judge accessibility by looking at it. You have to operate it the way affected users do.

  1. Keyboard only. Put the mouse away and complete a full conversation.
  2. A screen reader. Turn on the one built into your system and listen through an exchange.
  3. Zoom and large text. Crank the browser zoom and your OS font size, then check nothing breaks.
  4. Reduced motion. Enable it in your settings and confirm the chat calms down.
  5. A quick automated scan. Run a free accessibility checker on the page for anything obvious.

None of these takes long, and together they catch the vast majority of problems before a customer does.

An accessible chatbot isn't a separate project from a good one. The same work that lets a screen-reader user follow the conversation makes the whole thing clearer for everybody. Run the checklist, actually test with a keyboard and a screen reader, and fix what you find. You'll widen the door to your business and lower your risk at the same time. Want to check how a widget behaves on your own page? Put one on a test page from the signup flow and run it through the list.

Frequently asked questions

Do chatbots need to be accessible?
Yes. A chatbot is part of your site, so the same accessibility expectations apply. An inaccessible one blocks real customers and can create legal exposure under accessibility laws.
What makes a chat widget accessible?
Full keyboard operation, screen-reader support with proper labels and announcements, sufficient color contrast, visible focus, and respect for reduced-motion settings.
Can you use a chatbot with a screen reader?
You should be able to. New messages need to be announced, controls need clear labels, and focus has to move logically so a screen-reader user can follow the conversation.
What is the biggest chatbot accessibility mistake?
Trapping keyboard focus or failing to announce new messages. Both leave people who don't use a mouse or who rely on a screen reader unable to actually use the chat.

Keep reading

The Accessibility Checklist for Website Chatbots · SpideyChat