Skip to content

Voice control lets people run a computer or phone by speaking: "click Sign in," "scroll down," "type hello." People with limited hand use, repetitive strain injuries, tremors, or paralysis rely on it. It works when the words on screen match the names in the code, and falls apart when they don't.

Someone sees a button labeled "Submit" and says "click Submit." The software looks for a control with that name in the code and presses it. If the visible word and the name in the code don't match, it usually fails.

When there's nothing to say, like an unlabeled icon, they can ask for a number on every clickable thing ("show numbers") or a grid over the screen, then call out a number. It works, but it's slow, and every detour adds up over a day.

Dictation has its own needs. Voice users speak whole phrases into fields, so fields that block paste, split one answer into several boxes, or reformat while you type all get in the way.

Common tools

Dragon
Windows. Paid.
Voice Control
Built into Mac, iPhone, and iPad.
Voice Access
Built into Windows 11. A free Google app on Android.

Most of these are small changes in the code. Where WCAG covers one, we link the success criteria it falls under.

  1. Names that don't match what's on screen

    A button reads "Search," but its name in the code is "Find products." Someone says "click Search," and nothing happens, or the wrong thing does. It often starts with an aria-label added to help screen readers that quietly replaced the visible text.

    The fix

    Make the name in the code start with the visible words. Often the best fix is deleting the aria-label and letting the visible text name the button.

    Before
    <button aria-label="Find products">
      Search
    </button>
    After
    <button>Search</button>
  2. Icons with nothing to say

    A gear, a heart, a pencil. Is it "settings" or "preferences"? "Favorite," "save," or "like"? With no name in the code, there's nothing to say at all, and the person falls back on numbers or a grid.

    The fix

    Give every icon button a name in the code that matches what most people would call it. A visible text label takes out the guessing. A tooltip helps, but only once someone hovers.

  3. Clickable things the software can't find

    Voice control finds things to click by reading the code. A div with a click handler has no role and often no clear name. Some tools spot it and give it a number anyway, others skip it, and it won't work from a keyboard either.

    The fix

    Use real buttons, links, and form fields. If it does something when clicked, it should be one of them.

  4. Dragging, swiping, and multi-finger gestures

    Sliders, drag-to-reorder lists, swipe-only carousels, and pinch-to-zoom maps. Some tools can drag one numbered item onto another, but landing on a precise spot, like a slider value, turns into a string of grid and drag commands.

    The fix

    Offer a simple alternative for every gesture: a number field beside a slider, up and down buttons on a sortable list, next and previous buttons on a carousel, plus and minus on a map.

  5. Single-key shortcuts that fire by accident

    Some sites use single letters as shortcuts: J for the next post, L to like it, E to archive an email. When voice software types out what someone says, it can set them off by accident, archiving an email or liking a post mid-sentence.

    The fix

    Let people turn single-key shortcuts off or remap them, or only listen for them when a specific part of the page has focus. Shortcuts with a modifier key, like Control + S, avoid the problem.

  6. Forms that fight dictation

    Verification codes split into six boxes, password fields that block paste, phone numbers that reformat while you type. Each is an extra hurdle when every character comes through speech.

    The fix

    Use one field for codes, with autocomplete="one-time-code". If you use separate boxes, make sure pasting the whole code fills them all. Never block paste. Add autocomplete attributes to name, email, address, and payment fields so the browser can fill them in.

    Example
    <input name="code" inputmode="numeric"
      autocomplete="one-time-code">
    <input name="email" type="email"
      autocomplete="email">

Most computers and phones come with voice control, or can get it free. Expect a few minutes of setup.

  • Mac

    Turn on Voice Control in System Settings, under Accessibility. Say "show names" to see what each control is called, and "show numbers" to see everything it can click.

  • iPhone

    Turn on Voice Control in Settings, under Accessibility. Say "show names" or "show numbers," then "tap" and a name or number.

  • Windows 11

    Turn on Voice Access in Settings, under Accessibility, then Speech. Say "click" and the name of a button, or "show numbers."

  • Try

    Sign in, search, and fill out a form using only your voice. Say the words you see on each button. Do they all work?

We're collecting stories from people who use assistive tech every day. Yours can help the people who build websites and apps see what gets in the way.

To know the road ahead, ask those coming back. We test with the same tools your users do.

No prep, no formal brief. A few sentences is plenty. Let us know what you're building and we'll take it from there. We typically respond within one business day.