showAppToast spawns / reuses a single floating toast at the bottom- right of the window for transient status (e.g. "1 new VOD auto-queued", "Cannot start recording", etc). The toast had no a11y semantics — screen readers never announced it, so the entire transient-feedback channel was silent for AT users. Promoted the toast container to a live region: - role="status" for info toasts + aria-live="polite" so the reader waits for a natural break in current speech before announcing - role="alert" for warn toasts + aria-live="assertive" so the reader interrupts whatever it was saying (matches the visual amber-left- border meaning — warn IS urgent) - aria-atomic="true" so the reader announces the whole message at once instead of attempting to diff against the previous toast Critical detail: aria-live attributes have to be in place BEFORE the text changes for AT to register the change as a live-region update. The current implementation now sets role / aria-live first and only then writes the new textContent. WCAG 4.1.3 — Status Messages. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| build | ||
| docs | ||
| scripts | ||
| src | ||
| .gitignore | ||
| eslint.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| README_AI_RELEASE.md | ||
| tsconfig.json | ||