Accessibility at Rostrum
Rostrum's app is built on the Renkara design system. A scripted axe-core run covers nine of its views in light and dark at phone and desktop widths, and the same run walks the keyboard on two pages and checks for sideways scrolling. It found no serious or critical violation, and it found 40 smaller ones that we list below. 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 Rostrum 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
Every control is a native link, button, or form field, and a skip link comes first. In a scripted run, Tab walked 40 stops on the dashboard and 60 on an engagement page, and every stop showed a focus indicator except where focus left the page. Nobody has walked every flow with a keyboard alone.
Evidence
- captures/rostrum-a11y.spec.ts in the fleet screenshot harness: a 40-stop Tab walk of the dashboard and a 60-stop walk of an engagement page, 11/03/2026; no stop inside the page lacked a focus indicator
- e2e/journey.spec.ts in the Rostrum repo drives its main journey in a real browser in both themes
- No one has walked every flow with a keyboard alone.
Partly supported
Screen reader landmarks and labels
axe-core, which checks names, labels, roles, and landmark structure, found no serious or critical violation on nine views. It found two smaller kinds of problem, listed under known gaps. Rostrum has not been tested with a screen reader.
Evidence
- captures/rostrum-a11y.spec.ts runs axe-core 4.14.0 on nine views in light and dark at 1440 and 375 pixels, 36 scans: 40 violation nodes, all of moderate impact (heading-order and landmark-unique), none serious or critical
- captures/rostrum.spec.ts fails a capture on a serious or critical axe-core violation in each captured view
- e2e/helpers.ts in the Rostrum repo fails its browser tests on a serious or critical axe violation
Supported
Contrast in light and dark
Text and controls are checked for contrast in both the light and dark themes, and the brand color is held to 4.5 to 1 on the card colors by a test.
Evidence
- axe-core color-contrast rule on nine views in both themes and at both widths (captures/rostrum-a11y.spec.ts): no violations
- frontend/src/__tests__/Brand.test.ts in the Rostrum repo recomputes the accent's contrast ratio from the stylesheet in both themes
Partly supported
Reduced motion
The stylesheet shortens animations and transitions to a moment when the visitor asks for reduced motion. The dashboard runs no animation with or without that setting, so the scripted run could not tell the two apart, and drawers and toasts were not exercised.
Evidence
- frontend/src/global.css disables animation and transition durations inside a prefers-reduced-motion rule
- captures/rostrum-a11y.spec.ts counts running animations on the dashboard with and without the preference: 0 and 0
Not yet tested
Text resize and zoom
Resizing text to 200 percent has not been tested.
Partly supported
Mobile and touch
All nine views fit a 375 pixel and a 320 pixel wide screen with no sideways scrolling of the page. At 375 pixels nearly every control is at least 44 pixels tall, but the header's menu and theme buttons are 36 pixels wide, and the checklist checkboxes are 24 by 24 pixels inside a larger row.
Evidence
- captures/rostrum-a11y.spec.ts: horizontal overflow of the page at 375 and 320 pixels on nine views, none (18 checks)
- The same scan counts interactive targets under 24 and 44 pixels and lists the smallest.
- e2e/helpers.ts in the Rostrum repo checks controls for 44 pixels tall at phone width and fails on any shorter one
No WCAG conformance level is claimed for Rostrum. Its checks are automated and scripted only; no one has audited it against WCAG or tested it with a screen reader or other assistive technology.
What does not work yet
- Rostrum has not been tested with a screen reader or walked end to end with a keyboard alone.
- On every page a card title is a level-3 heading directly under the page's level-1 heading, so the heading levels skip one (axe heading-order, moderate).
- The Scout's recommendation cards repeat the same landmark names (Suggested talk, Topic ideas, Materials needed) once per card (axe landmark-unique, moderate).
- At desktop width the header's links are 32 pixels tall, and at phone width the header's menu and theme buttons are 36 pixels wide and the checklist checkboxes 24 by 24.
- 200 percent text resize is not covered by any test.
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.
Statement last reviewed 11/03/2026.