Accessibility use case
Cognitive Accessibility
Cognitive Access access guidance for Tamil DS
How users complete tasks with less confusion, supporting WCAG 3.2.1 (On Focus) and WCAG 3.3.4 (Error Prevention).
Detailed guidance for real users, assistive technology, component behavior, testing, and release checks.
Real user scenario
A person applies for a certificate while managing stress and limited time. They need one step at a time, visible progress, saved answers, clear error recovery, and a final review. If the flow suddenly changes or uses official jargon without explanation, they may stop.
How people use this access method
Cognitive access reduces memory load, decision load, reading load, and recovery load.
Predictable layouts help users form a mental model.
Clear progress and saved state reduce anxiety.
Plain language and examples support comprehension.
Error recovery matters as much as error prevention.
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.
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:
// Linear Stepper reducing cognitive memory load in forms
import React from "react";
import { Check } from "lucide-react";
export function LinearStepper({ steps, currentStep }) {
return (
<div className="w-full" aria-label="விண்ணப்ப முன்னேற்றம் (Application Progress)">
<div className="relative flex justify-between w-full">
{steps.map((step, index) => {
const isCompleted = index < currentStep;
const isActive = index === currentStep;
return (
<div key={step.title} className="flex flex-col items-center flex-1 relative z-10">
<div className={`size-10 rounded-full border-2 flex items-center justify-center font-bold text-sm transition-all ${
isCompleted ? "border-success bg-success text-success-foreground" :
isActive ? "border-primary bg-primary text-primary-foreground" :
"border-border bg-muted text-muted-foreground"
}`}>
{isCompleted ? <Check className="size-4" /> : index + 1}
</div>
<div className="mt-2 text-center">
<p className="text-xs font-semibold text-foreground m-0">{step.title}</p>
<p className="text-[10px] text-muted-foreground m-0 font-tamil" lang="ta">{step.titleTa}</p>
</div>
</div>
);
})}
</div>
</div>
);
}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.
Stepper and Progress components should show current, completed, and remaining steps.
Alert and Toast should be persistent enough to read.
Dialog should not interrupt users unless the decision is urgent.
Forms need section summaries and clear recovery paths.
Navigation should keep the user's location visible.
Search should tolerate spelling variation and partial terms.
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.
Ask whether the user can explain the next step at every screen.
Leave the flow and return; check whether progress is preserved.
Trigger an error and verify the fix is obvious.
Review whether all official terms are explained.
Test reduced motion and no-animation settings.
Check whether primary and secondary actions compete.
Confirm the user can review before submitting.
Common failures and fixes
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.
Government terminology can be intimidating; explain terms in plain Tamil and English where useful.
Users may complete forms with family help, so review and save states are important.
Avoid shame-based error text; use respectful recovery language.
Release checklist
Next step is always clear.
Progress is visible and saved.
Errors are recoverable.
Official terms are explained.
Final review exists for high-risk tasks.