Files
calctext/_bmad-output/implementation-artifacts/14-1-screen-reader-support.md
2026-03-16 19:54:53 -04:00

39 lines
1.6 KiB
Markdown

---
epic: 14
story: 14.1
title: "Screen Reader Support"
status: draft
---
## Epic 14 — Accessibility & Internationalization
**Goal:** Make CalcPad usable by everyone regardless of ability, language, or locale.
### Story 14.1: Screen Reader Support
As a visually impaired user,
I want CalcPad to work with screen readers on every platform,
So that I can perform calculations with the same efficiency as sighted users.
**Acceptance Criteria:**
**Given** the macOS native application
**When** VoiceOver is enabled and the user navigates the sheet
**Then** every input line has an `accessibilityLabel` that reads the expression text
**And** every result has an `accessibilityLabel` that reads the computed value with its unit
**And** error states are announced (e.g., "Line 5: error, division by zero")
**Given** the Windows application built with iced
**When** a screen reader using UI Automation is active
**Then** all input fields, results, buttons, and menus expose proper UI Automation properties (Name, Role, Value)
**And** the user can navigate lines, hear results, and interact with menus entirely through the screen reader
**Given** the web application
**When** a screen reader (NVDA, JAWS, or VoiceOver for web) is active
**Then** all interactive elements have appropriate ARIA roles and labels
**And** the result column uses `aria-live="polite"` so updated results are announced without interrupting the user
**And** navigation landmarks are defined for the editor area, sidebar, and toolbar
**Given** any platform
**When** the user adds, removes, or reorders lines
**Then** the screen reader announces the change (e.g., "Line inserted after line 4" or "Line 7 deleted")