Accessibility

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.

Illustration: a quiet public reading room in soft light, with a wide level entrance, a low service counter, and clear open aisles between the shelves.
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.

Known gaps

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.
This website

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.