Accessibility
Command-line interface
jsonvet is a command-line program. It should work with a screen reader, in a terminal without colour, and in scripts and CI logs:
- Colour is never the only signal. A coloured message also says in words what it
means, such as
error:orwarning:. - It prints no colour when the
NO_COLORenvironment variable is set or when you pass--color never. - When its output is not a terminal, such as a pipe, a file or a CI log, it prints plain lines, with no spinners, progress bars or cursor movement.
- It writes errors to standard error, and an error about a file names the place as
file:line:col, so an editor or a screen reader can jump to it.
Web playground
The playground runs jsonvet via WebAssembly in the browser:
- Works with keyboard navigation: dialect switches are a radio group navigable with arrow keys, and correction notes and code snippets are focusable.
- Screen reader announcements use semantic roles (
role="radio",role="tablist") and anaria-liveverdict region that announces correction counts on edits. - F8 and Shift+F8 jump to the next and previous problem.
- Colour schemes follow the system's light or dark mode, and a button in the footer switches between them. Both use high-contrast ink, and problem counts and severity indicators accompany colour markings.
Tested with
axe-core at 390 px and 1440 px wide, in light and dark mode, and by hand with the keyboard alone (2026-11-06).
The docs pages: axe-core at 400 px and 1440 px wide, in light and dark mode, with no violations (2026-11-11). Their build tests check landmarks, labels and unique ids on every page.
Known gaps
- No screen reader test yet, so the live announcements are unverified.
- The editor is a plain text area, so it has no code folding or bracket matching.
Contact
If jsonvet is hard to use with your setup, email [email protected]. Say what you tried, what you use (terminal, browser, screen reader, operating system) and what happened.