@lessonkit/accessibility
v1.7.3
Published
Accessibility utilities for LessonKit packages and apps.
Downloads
4,817
Maintainers
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
