Accessibility at Lectern
Lectern's app is built on the Renkara design system, and on 10/29/2026 we ran axe-core over its main screens in light and dark at phone and desktop widths. That scan found three kinds of serious problem, listed below as known gaps, and the rest passed. Here is what the product supports today and what we have actually checked. We do not claim a WCAG conformance level for the product.

What Lectern supports today
Each line says what the product does, how we know, and where to look. “Not yet tested” means exactly that: we have not checked, and we do not claim it.
Partly supported
Keyboard operation
Document cards are focusable links that open on Enter or Space, and Command-K opens a command palette. The scan found four scrolling tables (History, Assignments, Analytics) that a keyboard cannot scroll at phone width.
Evidence
- frontend/src/components/DocumentCard.tsx: each card is role link with tabIndex 0 and an Enter and Space handler
- frontend/src/components/CommandPalette.tsx: the Command-K palette
- app-axe-scan.json: the scrollable-region-focusable rule fails on the overflow-x-auto table wrappers at 375 pixels, in both themes
- A keyboard-only walkthrough of every flow has not been recorded.
Partly supported
Screen reader landmarks and labels
axe-core checks names, roles, labels, and structure. It found one serious problem, a card whose accessible name is shorter than its visible text, and no other serious name or structure violation. Lectern has not been tested with a screen reader.
Evidence
- app-axe-scan.json: eight routes at two widths in two themes, 32 scans; the label-content-name-mismatch rule fails on the document cards (DocumentCard.tsx sets aria-label to the title only)
- frontend/src/components/chat/ChatPanel.tsx: the assistant's panel and its icon buttons carry accessible names
Partly supported
Contrast in light and dark
Text and controls pass axe-core's contrast rule in the dark theme and almost everywhere in the light theme. The failures are the tinted badges (the accent and warning tints) in the light theme at desktop width.
Evidence
- app-axe-scan.json: color-contrast fails only in the light theme at 1440 pixels, on badges drawn with the design system's accent and warning tints; it passes everywhere else
Partly supported
Reduced motion
The library and the Document Player check the reduced-motion setting in code. No test covers it yet.
Evidence
- frontend/src/pages/LibraryPage.tsx: reads prefers-reduced-motion before animating
- frontend/src/player/DocumentPlayer.tsx: reads prefers-reduced-motion
Not yet tested
Text resize and zoom
Resizing text to 200 percent has not been tested.
Supported
Mobile and touch
The app fits a 375 by 667 phone screen with no sideways scrolling, the collection tree becomes a drawer, and the assistant's controls are at least 44 by 44 pixels.
Evidence
- app-axe-scan.json: no page-level horizontal overflow in any of the 32 scans, including every route at 375 pixels
- frontend/e2e/library.spec.ts: the collection tree lives in a drawer and the library has no horizontal overflow at 375 pixels
- frontend/e2e/chat-panel.spec.ts: every assistant control clears a 44 pixel tap target
No WCAG conformance level is claimed for Lectern. The evidence is an automated axe-core scan run on 10/29/2026 (scripts/app-axe-scan.mjs, results in AVIAN/records/fleet-showcase/lectern/app-axe-scan.json), a few layout tests in the app's end-to-end suite, and reading the code. No one has audited Lectern against WCAG or tested it with a screen reader. The scan checks the top-level page only: a document's own content renders in a sandboxed frame that the scan does not enter.
What does not work yet
- Document cards are named by their title alone, not their visible text (axe label-content-name-mismatch, serious).
- Tinted badges fail the contrast rule in the light theme at desktop width (axe color-contrast, serious). The cause is the shared design system's accent and warning badge tints.
- Scrolling tables on History, Assignments, and Analytics cannot be scrolled by keyboard at phone width (axe scrollable-region-focusable, serious).
- Lectern has not been tested with a screen reader, and reduced motion and 200 percent text resize are not covered by tests.
- The Document Player and the native apps have not been checked for accessibility.
How this site is built and checked
This site targets WCAG 2.2 level AA. That is a target we build and test toward, not a certification, and no one has audited it for conformance.
Structure
A skip link, labeled landmarks (header, navigation, main, footer), one h1 per page, and headings that do not skip levels.
Keyboard and focus
Links and buttons are native elements, so they work from the keyboard. Focus is drawn as a visible ring, and the menu closes with Escape.
Contrast
Text meets 4.5 to 1 in both the light and dark themes, checked against the stylesheet by the test suite.
Motion
Transitions and animation switch off when your system asks for reduced motion.
Small screens and zoom
Layouts hold at 375 pixels wide with no sideways scrolling, text resizes with the browser, and touch targets are at least 44 pixels.
Automated scan
Every page is scanned with axe-core at 375 and 1440 pixels in light and dark, and the checks fail on any serious or critical violation. Automated tools find only part of the problems, so this is a floor, not proof.
Images
Every product screenshot has a text description and comes in a light and a dark version that follows your theme.
Your theme choice
The theme follows your system setting until you pick one with the button in the header.
Tell us what is in your way
If something here or in Lectern does not work for you, write to Renkara Media Group. Say what you were doing, what you used, and what happened, and a person will answer.
Statement last reviewed 10/29/2026.