Accessibility reference¶
Accessibility (0.3.x)¶
This document defines accessibility expectations for LessonKit authors and implementers.
Reduced motion¶
If the OS/browser requests reduced motion (prefers-reduced-motion: reduce), animations should be minimized or disabled.
LessonKit provides:
prefersReducedMotion()— boolean helpergetReducedMotionPreference()—"reduce" | "no-preference" | "unknown"shouldAnimate({ default })— returns false when preference isreduce
Quiz screen-reader announcements¶
Recommended pattern (status region)¶
For correctness feedback, use a status region that is updated when the user answers:
role="status"aria-live="polite"
LessonKit’s Quiz component follows this pattern and displays feedback in a live region.
Avoid duplicate announcements¶
Keep the live region small and stable; update only the text content that must be announced.
Avoid placing an
aria-liveregion inside anotheraria-liveregion.Do not shift focus to the status message; let screen readers announce it naturally.
When to use aria-describedby¶
If feedback should be associated with a specific form control (rather than announced globally), consider aria-describedby on the control pointing at a static feedback element. Use aria-live when the feedback must be announced immediately.