Package Exports
- @lessonkit/accessibility
Readme
@lessonkit/accessibility
Focus management, reduced-motion helpers, and screen-reader utilities for LessonKit apps.
When to install
- Custom interactive UI outside
@lessonkit/reactblocks - Modal dialogs, custom carousels, or roving-tabindex toolbars in your course shell
@lessonkit/react uses this package internally (for example Quiz labels and compound keyboard nav).
Install
npm install @lessonkit/accessibilityUsage
import {
trapFocus,
focusFirst,
prefersReducedMotion,
shouldAnimate,
createRovingTabIndex,
} from "@lessonkit/accessibility";
const release = trapFocus(dialogElement, { onEscape: closeDialog });
// call release() when the dialog closesAPI
| Export | Purpose |
|---|---|
prefersReducedMotion() |
Media-query check |
shouldAnimate({ default }) |
Respect user preference |
focusFirst, getFocusableElements |
Focus discovery |
trapFocus(container, opts) |
Focus trap for modals |
createRovingTabIndex(opts) |
Roving tabindex groups |
visuallyHiddenStyle |
Screen-reader-only content |
Docs
Accessibility reference · Theming & accessibility guide · Accessibility conformance · TypeDoc API index
License
Apache-2.0