File: src/components/gameplay/QuestionContainer.tsx + src/components/gameplay/Question.tsx
Problem
- When
timeLeft reaches 0, the interval stops but nothing else happens — no auto-submit, no failure state, no toast.
- The countdown timer has no
role="timer" / aria-live="polite", so screen-reader users get no warning that time is running out.
Expected
- Add a handler for the
timeLeft === 0 case that:
- Auto-submits as incorrect (or whatever the game design decides)
- Triggers the existing game-over modal in
Gameplay.tsx
- Wrap the visible timer in
<span role="timer" aria-live="polite" aria-atomic="true"> so AT users hear updates.
- When ≤30s remain, expose a
prefers-reduced-motion-safe pulse / color change (already partially styled via Time Warning Alert setting — use it).
Acceptance
- Running the clock down ends the level/game via the same flow as a wrong answer.
- Screen readers announce remaining time.
File:
src/components/gameplay/QuestionContainer.tsx+src/components/gameplay/Question.tsxProblem
timeLeftreaches0, the interval stops but nothing else happens — no auto-submit, no failure state, no toast.role="timer"/aria-live="polite", so screen-reader users get no warning that time is running out.Expected
timeLeft === 0case that:Gameplay.tsx<span role="timer" aria-live="polite" aria-atomic="true">so AT users hear updates.prefers-reduced-motion-safe pulse / color change (already partially styled viaTime Warning Alertsetting — use it).Acceptance