[A11y] Add aria-live Polite Region to Focus Timer Display
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 7
- Avg merge
- 39m
- Merged PRs (30d)
- 39
Description
- Labels:
good first issue,accessibility,difficulty:beginner,area:core - Target File:
src/components/focus/focus-timer-card.tsx - Estimated Time: 10–15 minutes
- Difficulty: Level 1 (Beginner)
Why This Matters
Live countdown timers must notify assistive technology users of active session changes politely without interrupting ongoing screen reader speech.
Current Behavior
The timer display container in src/components/focus/focus-timer-card.tsx updates dynamically but lacks aria-live="polite" region attributes.
Requested Change
Add aria-live="polite" and aria-atomic="true" attributes to the timer display section in src/components/focus/focus-timer-card.tsx.
Acceptance Criteria
-
aria-live="polite"attribute added to active timer container. -
aria-atomic="true"attribute added. - Verification command succeeds:
npm run test:file -- tests/focus-engine.test.ts.
Verification
npm run test:file -- tests/focus-engine.test.ts
Contributor Notes
Self-contained accessibility fix.
🚀 How to Claim and Implement an Issue
- Choose an Issue: Browse our open issues and pick one matching your interest and available time.
- Comment on GitHub: Leave a comment on the corresponding GitHub issue: "I would like to work on this issue. Please assign it to me."
- Follow the Guide: Review our Beginner's Contribution Guide for step-by-step Git instructions.
- Verify Locally: Run the specific verification command listed on the issue before opening your PR.
- Submit PR: Open a pull request against
mainreferencing this issue number!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open src/components/focus/focus-timer-card.tsx and locate the dynamically updating timer display section. Add the requested live-region attributes, then run npm run test:file -- tests/focus-engine.test.ts. Done means the active timer container has aria-live="polite" and aria-atomic="true" and the verification command succeeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 95/100