Accessibility at Assay
Assay's web app is built on the Renkara design system and keeps a keyboard map for working a run. Here is what the product supports today and what has actually been checked. We do not claim a WCAG conformance level for the product, and Assay has no automated accessibility scan yet.

What Assay 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
A run can be worked from the keyboard: j and k move between cases, J and K between steps, Space toggles a step, and p, f, b, and n record pass, fail, blocked, or not applicable. Shortcuts are ignored while you type in a text box, and the shortcut sheet opens as a dialog. Command-K opens a command palette.
Evidence
- frontend/src/__tests__/keyboard.test.ts in the Assay repo: the guard that stops single-key shortcuts firing while you type treats inputs, textareas, selects, and editable elements as typing targets
- frontend/src/__tests__/commandPalette.test.tsx: Command-K and the header search button open the palette, and choosing a command navigates
- A recorded keyboard-only walkthrough of every page has not been done yet.
Partly supported
Screen reader landmarks and labels
Case status, assignee kind, and run progress carry text labels (the progress bar has a name and a value, the assignee icons are labeled, and filter buttons report whether they are pressed). Assay has not been run through axe-core and has not been tested with a screen reader.
Evidence
- frontend/src/pages/RunView.tsx: progressbar role with value, aria-label on assignee icons, aria-pressed on filters, aria-current on the open case, aria-modal on the shortcut sheet
- frontend/src/__tests__/status.test.ts covers the status labels
Partly supported
Contrast in light and dark
Assay uses the Renkara design system's light and dark tokens. Its tests recompute the contrast of the violet accent on the light and dark card backgrounds and require 4.5 to 1. No other text or control has been measured, and there is no axe-core color-contrast scan.
Evidence
- frontend/src/__tests__/brand.test.ts in the Assay repo: reads --brand-accent from global.css and requires at least 4.5:1 against the light and dark card backgrounds
Not yet tested
Reduced motion
Assay's interface uses the Renkara design system's motion presets, which are designed to honor the reduced-motion setting. Assay's own tests do not check this.
Not yet tested
Text resize and zoom
Resizing text to 200 percent has not been tested.
Partly supported
Mobile and touch
The dashboard, plans, runs, and run view fit a 375 by 667 phone screen with no sideways scrolling, and the result buttons are at least 36 pixels tall. Assay's own tests do not yet hold every control to 44 pixels.
Evidence
- frontend/e2e/mobile.spec.ts: horizontal overflow of at most 1 pixel on the dashboard, plans, runs, and run view at 375 by 667
- frontend/e2e/mobile.spec.ts: the Pass button is visible and at least 36 pixels tall at 375 by 667
No WCAG conformance level is claimed for Assay. Its tests check keyboard handling, status text, and a 375 pixel layout, but no one has run axe-core against it or audited it against WCAG, and it has not been tested with assistive technology.
What does not work yet
- Assay has no axe-core scan, so contrast beyond the accent, names, and landmarks are unmeasured.
- Assay has not been tested with a screen reader, and no keyboard-only walkthrough has been recorded.
- Reduced motion and 200 percent text resize are not covered by Assay's tests.
- The mobile test holds result buttons to 36 pixels, not the 44 pixels this site holds its own controls to.
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 Assay 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.