Accessibility

Accessibility at Narrative

Narrative's web app is checked with axe-core on every route, and this site is checked with axe-core in light and dark at phone and desktop widths. 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 Narrative 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.

  • Not yet tested

    Keyboard operation

    No keyboard-only walkthrough of the web app has been recorded yet.

  • Partly supported

    Screen reader landmarks and labels

    axe-core, which checks names, labels, and landmark structure, finds no violations on the web app's routes. It has not been tested with a screen reader.

    Evidence

    • frontend/src/accessibility.test.tsx in the Narrative repo runs vitest-axe on the app and on nine routes: dashboard, site dashboard, content list, content editor, build history, site settings, admin, terms, and privacy
    • frontend/src/components/VerificationPanel.tsx gives each build check a Passed or Failed text label for screen readers
  • Partly supported

    Contrast in light and dark

    For the sites Narrative builds, it can pick readable text for a data-driven background color at build time. The web app's own contrast has not been measured in a real browser.

    Evidence

    • backend/lib/color_contrast.py chooses white or dark text so a badge clears 4.5:1, and backend/tests/test_color_contrast.py checks it
  • Partly supported

    Reduced motion

    Three of the five bundled effects (reveal, stagger, and countup) honor the reduced-motion setting. Particles and magnetic do not yet.

    Evidence

    • backend/lib/bundled_effects/reveal.css and stagger.css carry a prefers-reduced-motion rule, and countup.js checks it before it animates
  • Not yet tested

    Text resize and zoom

    Resizing text to 200 percent has not been tested in the web app.

  • Not yet tested

    Mobile and touch

    The web app has no recorded phone-width test yet.

No WCAG conformance level is claimed for Narrative. Its tests run automated checks only, in a simulated browser for the web app, and no one has audited it against WCAG or tested it with assistive technology.

Product notes

More about Narrative

This website

This site is built on the shared showcase kit. Its tests run axe-core on every page at 375 and 1,440 pixels in light and dark, and any serious or critical violation fails the build.

The art heroes are generated illustrations with descriptive alt text, and the page text measures at least 4.5:1 against the pixels behind it in both themes.

Known gaps

What does not work yet

  • The particles and magnetic effects ignore the reduced-motion setting.
  • The web app has not had a keyboard walkthrough, a 200 percent text-resize test, a phone-width test, or a measured contrast pass in a real browser.
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.

Feedback

Tell us what is in your way

If something here or in Narrative 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/30/2026.