Accessibility

Accessibility at Nomad

Nomad's app was scanned with axe-core on all eight screens it shows here, in light and dark, at phone and desktop widths, and the last scan found no violations. That is a start, not a finish. This page says what has been checked and what has not.

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 Nomad 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

    The app starts with a "Skip to main content" link. Trips open from the keyboard with Enter or Space, and the rest of the controls are native buttons and links. Dialogs close on Escape but do not trap focus or return it afterward. A full keyboard-only walk has not been done.

    Evidence

    • frontend/src/components/nomad/NomadShell.tsx in the Nomad repo: the skip link and the main landmark it targets
    • frontend/src/components/nomad/a11y.test.tsx: a trip card is one button that opens with Enter and Space, and its name is its visible text
  • Partly supported

    Screen reader landmarks and labels

    axe-core finds every control named, every landmark labeled, headings in order, and no ARIA role misuse on the eight screens scanned. Nobody has listened to Nomad with a screen reader.

    Evidence

    • captures/nomad-a11y.spec.ts in the screenshots harness: axe-core 4.14.0 on eight screens, two widths, two themes (32 scans), zero violations at every impact level on 10/29/2026
    • frontend/src/components/nomad/a11y.test.tsx: the two navigation landmarks have different labels, the search button is named by its visible text, and trip titles are h2 headings under the page h1
  • Partly supported

    Contrast in light and dark

    axe-core's color-contrast rule passes on the eight screens scanned, in light and dark. Five color pairs failed on the first scan and were fixed, each with a test. Screens that were not scanned have not been checked.

    Evidence

    • The same 32 axe-core scans: no color-contrast violation at 1440 or 375 pixels wide, in either theme
    • frontend/src/contrast.test.ts and a11y.test.tsx: the checked-item, itinerary time, amber chip, and primary button colors that failed are pinned, and the teal chip's dark-theme color was darkened
  • Partly supported

    Reduced motion

    CSS animations and transitions switch off when the reader asks for reduced motion, through the Renkara design system's stylesheet. The dialog and the new-trip page animate with framer-motion springs, which ignore that setting. Nothing has been tested in a browser.

    Evidence

    • node_modules/@renkara/design-system tokens.css in the Nomad frontend: the prefers-reduced-motion block (read, not run)
    • frontend/src/components/nomad/Sheet.tsx and frontend/src/pages/NewTripPage.tsx: the framer-motion animations, with no reduced-motion handling
  • Not yet tested

    Text resize and zoom

    Not yet tested. Nobody has checked the app at 200 percent text size or browser zoom.

  • Partly supported

    Mobile and touch

    The app has a labeled bottom navigation bar for phones. The eight screens scanned at 375 by 667 pixels show no horizontal overflow and no axe-core violations. Touch target size has not been measured.

    Evidence

    • The same 32 axe-core scans: the 375-pixel runs report no horizontal overflow on any of the eight screens
    • frontend/src/components/nomad/NomadShell.tsx: the Mobile navigation landmark

No WCAG conformance level is claimed for Nomad or for this website. The checks so far are automated (axe-core) plus a few unit tests. No one has audited Nomad against WCAG or used it with a screen reader, and Nomad is still in development.

Known gaps

What does not work yet

  • Only eight screens were scanned: the trips list, the trip overview, itinerary, bookings, checklists, expenses, journal, and the import-from-a-file dialog. The map, new trip, explore, profile, and settings screens, and the read-only share view, were not.
  • No screen reader test, no recorded keyboard-only walk of every flow, and no measurement of touch targets.
  • Dialogs do not trap focus or restore it on close. The checklist progress bar is not exposed as a progress bar to assistive technology. Springs in the dialog and the new-trip page ignore reduced motion.
  • Text resize has no test, and reduced motion has not been run in a browser.
  • This website passes the kit's axe-core scan at 375 and 1440 pixels in both themes. It has not been tested with a screen reader either.
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 Nomad 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.

Nomad is not open yet. Be the first to know when it is.

Leave your email and we will write when Nomad opens. That is the only thing this list is for.

We will send one email to confirm your address. After that, we write only about Nomad opening, and every email has a one-click unsubscribe. What we keep, and why.