Command Palette

Search for a command to run...

Accessibility use case

Voice Control Navigation

Voice Control access guidance for Tamil DS

How people operate interfaces by speaking commands, emphasizing WCAG 2.5.3 (Label in Name) and WCAG 2.1.1 (Keyboard).

Detailed guidance for real users, assistive technology, component behavior, testing, and release checks.

Who this supports

People with motor disabilities, repetitive strain injury, tremor, paralysis, temporary injury, or hands-busy work contexts.

Assistive technology

Apple Voice ControlWindows Voice AccessDragonAndroid Voice AccessBrowser voice extensions

Primary risk

Voice users cannot reliably activate controls when names are vague, duplicated, hidden, or different from visible text.

WCAG 'Label in Name' (Voice Navigation Helper)

Speak command tags exactly as written to click button objects by voice. Notice how the mismatched button fails direct speaking!

Pass
🗣️ Command: "Click விவரங்கள்"
Pass
🗣️ Command: "Click பதிவிறக்க"
Fail
🗣️ Command: "Click Close Button"

Visible symbol doesn't match 'Close'

Real user scenario

A person uses voice control to fill a benefits form. They say Show names, choose the field number, dictate the value, say Click Continue, and later say Go back to fix a mistake. If five buttons are all named View, the user must guess or use a slow grid overlay.

How people use this access method

1

Voice-control software maps visible text and accessible names to spoken commands.

2

The person may say the control name, use numbered overlays, or use grid coordinates.

3

Stable labels reduce the need for slow coordinate-based control.

4

The person needs predictable page changes after each command.

5

Error recovery must be voice reachable, including cancel, back, undo, and close.

Design requirements

These requirements are product requirements, not optional polish. If a Tamil DS component or page breaks one of these rules, users may be blocked even when the visual interface looks finished.

Make visible button text match the accessible name whenever possible to ensure WCAG 2.5.3 (Label in Name) compliance.

Ensure all voice controls are reachable via keyboard APIs, satisfying WCAG 2.1.1 (Keyboard).

Avoid duplicate names for different controls on the same view.

Use specific verbs: Edit address, Remove nominee, Download receipt.

Keep primary and secondary actions visually and semantically distinct.

Do not hide key actions behind hover-only UI.

Make close, cancel, undo, and back controls always reachable.

Use stable labels instead of changing button text too frequently.

Avoid tiny controls that force coordinate-grid selection.

Accessible code implementation

Use this correct, semantic React/HTML/CSS implementation pattern as a template when building or styling components for this specific access method:

// UI button observing the "Label in Name" WCAG rule
import React from "react";
import { Search } from "lucide-react";

export function VoiceAccessibleSearchButton({ isTamil }) {
  return (
    <button 
      type="submit"
      // GOOD: The accessible name starts with the exact visible text ("தேடுக" or "Search")
      aria-label={isTamil ? "தேடுக, விண்ணப்பங்கள் தேடல்" : "Search public benefit applications"}
      className="inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground hover:bg-primary/95 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary"
    >
      <Search className="size-4" />
      <span>{isTamil ? "தேடுக" : "Search"}</span>
    </button>
  );
}
Technical breakdown: Under WCAG 2.1 Success Criterion 2.5.3 (Label in Name), if a user interface control has a visible text label, the accessible name (like an aria-label) MUST contain that exact visible string. This allows voice-control users to speak the command 'Click Search' (or 'Click தேடுக') to trigger the action. If the button has only an icon or an aria-label that completely omits the visible text, the voice control software cannot trigger it.

Component behavior implications

Accessibility becomes real at component level. The same page may pass content review but fail when dialogs, forms, menus, cards, or status messages do not expose the right behavior.

IconButton must have clear labels and preferably visible text nearby for critical actions.

Menus and popovers need predictable open and close behavior.

Pagination controls should include page numbers and descriptive next or previous labels.

Form actions must not rely only on icon position.

Dialogs need visible titles and voice-reachable close controls.

Tabs should use concise labels that can be spoken naturally.

Testing script

Run this script before release. Automated checks are useful, but they do not replace trying the actual access method and completing a real task from start to finish.

Turn on Voice Control or Voice Access and activate controls by name.

Use Show names or numbered overlays and check whether names are unique.

Complete one form without touching mouse or keyboard.

Try cancel, back, close, undo, and edit flows by voice.

Check if voice labels still work after language switch or responsive layout changes.

Test repeated card actions like View, Edit, Remove, and Download.

Confirm loading states do not swallow the next spoken command.

Common failures and fixes

Failure

Multiple controls share the same name

Add context to the visible label or accessible name, such as Edit address or Edit bank details.

Failure

Icon-only buttons have no voice target

Add aria-label and use visible text for high-risk actions.

Failure

Hover-only actions cannot be discovered by voice

Keep important actions visible or reveal them on focus as well.

Failure

Button text changes after every state

Preserve the core command label and expose progress separately.

Tamil public-service context

Tamil DS must work for Tamil-first, English-first, and bilingual users across phones, desktops, kiosks, classrooms, offices, and public-service counters. These notes keep the guidance connected to local product reality.

Some users will speak English command words while reading Tamil content, so control labels should remain clear and short.

Official Tamil terms can be long; pair them with simple action verbs where possible.

Voice users may work in noisy public spaces, so avoid flows that require many repeated precise commands.

Release checklist

Controls can be activated by name.

Repeated actions have unique labels.

Critical actions are visible and voice reachable.

Recovery commands exist.

Responsive layouts preserve stable control names.