Source: https://mokxi.com/accessibility/vpat
Updated: 2026-10-12

Accessibility

# Mokxi Accessibility Conformance Report

Based on the ITI VPAT 2.5 Rev, WCAG edition. Covers WCAG 2.1 Level A and Level AA.

Self-assessed. Mokxi LLC wrote this report about its own product. It is not a third-party audit, and no outside firm has tested Mokxi.

Accessibility statement

## Product information

Name of product | Mokxi: the website, the editor at /app, the lessons and the class tools, at mokxi.com

Version | The web service at mokxi.com as deployed on October 12, 2026. Mokxi is updated continuously and has no numbered releases.

Report date | October 2026

Product description | Mokxi is an electronics and microcontroller simulator that runs in a web browser. Students build circuits on a canvas, write and compile code, and run the simulation on their own device. Teachers run classes, assign lessons and review student work.

Contact information | Mokxi LLC. Email support@mokxi.com, phone (719) 246-1726, or the accessibility support form.
Mail: Mokxi LLC, 5142 N Academy Blvd PMB 1021, Colorado Springs, CO 80918, United States

Notes | This report covers the product as a whole. Where the site and the editor differ, the remarks say which. Third-party sign-in pages (Google, Microsoft, Apple, GitHub) and Stripe Checkout are not covered. The printable lesson plan PDFs are covered where they are named.

Evaluation methods used | Review of the source code of the site and the editor by the people who wrote it, against each WCAG 2.1 success criterion. Mokxi’s automated tests, including a mobile playtest that runs the editor and site in Chromium on several phone sizes and a desktop, in the light and dark themes, and checks the contrast of key text against WCAG AA and the size of touch targets. Keyboard use of the editor as documented on the keyboard shortcuts page. No manual testing with screen readers was part of this review.

## Applicable standards and guidelines

Standard or guideline | Included in report

Web Content Accessibility Guidelines 2.0 | Level A (Yes), Level AA (Yes), Level AAA (No). WCAG 2.1 includes every WCAG 2.0 criterion.

Web Content Accessibility Guidelines 2.1 | Level A (Yes), Level AA (Yes), Level AAA (No)

Web Content Accessibility Guidelines 2.2 | No

## Terms

- Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
- Partially Supports: Some functionality of the product does not meet the criterion.
- Does Not Support: The majority of product functionality does not meet the criterion.
- Not Applicable: The criterion is not relevant to the product.

## Summary

Summary: number of success criteria at each conformance level
Conformance Level | Level A | Level AA

Supports | 18 | 11

Partially Supports | 8 | 7

Does Not Support | 0 | 0

Not Applicable | 4 | 2

The main gaps: the circuit canvas is visual, and selecting a single part, drawing a wire and pressing a part while the simulation runs need a pointer; the canvas and the instrument graphs have no text equivalent for a screen reader; the canvas’s single-letter shortcuts cannot be turned off; and the lesson plan PDFs are not tagged. The accessibility statement lists the ways in that do not depend on the canvas.

## WCAG 2.1 Report

Table 1: Success Criteria, Level A
Criteria | Conformance Level | Remarks and Explanations

1.1.1 Non-text Content (Level A) | Partially Supports | Images on the site have text alternatives, and every circuit drawing on a site page is exposed as an image with a text name. Icon-only buttons carry labels. In the editor, the Circuit as text view lists every part on the canvas with its type and settings, every connection as part.pin to part.pin, and, while the circuit runs, what lights, servos, displays and meters are doing. The breadboard’s layout, notes, frames and drawings on the canvas are not described there, and the oscilloscope, serial plotter and logic analyzer draw graphs with no text equivalent. The pictures in the lesson plan PDFs have no alternative text; the same lesson is on a web page.

1.2.1 Audio-only and Video-only (Prerecorded) (Level A) | Not Applicable | Mokxi publishes no prerecorded audio or video. A recording a person makes of their own circuit is their content.

1.2.2 Captions (Prerecorded) (Level A) | Not Applicable | Mokxi publishes no prerecorded video with audio.

1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) | Not Applicable | Mokxi publishes no prerecorded video.

1.3.1 Info and Relationships (Level A) | Partially Supports | Site pages use headings, lists, tables with header cells, landmarks and labeled form fields. The circuit canvas itself is a drawing, but the Circuit as text view gives its structure: a table of parts with header cells and a list of every connection, pin to pin, including pins pushed into a breadboard. Where parts sit on the canvas is not described. The lesson plan PDFs are not tagged, so their headings and reading order are not exposed; each one has a web page with the same content.

1.3.2 Meaningful Sequence (Level A) | Supports | The reading order in the page source matches the visual order on the site and in the editor panels.

1.3.3 Sensory Characteristics (Level A) | Partially Supports | Most instructions name the part and pin. Some lessons and guides also refer to a part by its color or its place on the canvas, for example the red LED or the wire on the left.

1.4.1 Use of Color (Level A) | Partially Supports | Form errors are shown in text as well as color. In the running simulation, an LED shows its state by color and brightness, as a real one does. The Show levels view writes the level and voltage of each net as text, but not every part has a text readout.

1.4.2 Audio Control (Level A) | Supports | Nothing plays sound when a page loads. The only continuous sound is the multimeter continuity beeper, which sounds only while a person holds the leads together and can be muted on the meter.

2.1.1 Keyboard (Level A) | Partially Supports | The site, the menus, the dialogs, the part panel and the code editor work from the keyboard. The canvas is a Tab stop: Tab selects each part in turn, the arrow keys move it, R rotates it, Delete removes it, and Enter opens a dialog that connects a wire from one of its pins to a pin found by typing, as one step of Undo. While the simulation runs, Space and Enter press buttons and flip switches, and the arrow keys turn knobs and sliders. Some canvas work still needs a pointer: bending or rerouting a wire by hand, placing a part at a chosen spot (the part panel puts it in the middle of the view, and the arrow keys then move it), drawing, the joystick and other parts that are dragged, and the oscilloscope and logic analyzer views. Wires are selected and deleted from the wire dialog or the Circuit as text view, rather than on the canvas itself.

2.1.2 No Keyboard Trap (Level A) | Supports | Escape then Tab always leaves the code editor. Dialogs keep focus inside them while open, close on Escape, and return focus to the control that opened them.

2.1.4 Character Key Shortcuts (Level A) | Supports | The editor has single-character shortcuts (such as A, R, D, T, L, C, F, + and -), and the keys that play keyboard-driven parts while the circuit runs. The canvas menu has a Keys setting that turns all of them off or makes each one need Alt+Shift; it is kept in the browser with the other editor preferences. They never fire while focus is in a text field or the code editor. The keys that work on the focused canvas (R, W, V and the arrows) stay on, which the criterion allows for a component that has focus.

2.2.1 Timing Adjustable (Level A) | Supports | Nothing on Mokxi ends a task on a timer. A sign-in session lasts 30 days. The class countdown a teacher can show in a live room is information only: it stops nothing, and the teacher can pause or clear it.

2.2.2 Pause, Stop, Hide (Level A) | Supports | The running circuits on site pages have a Pause button, pause when scrolled out of view, and start paused when the device asks for reduced motion. In the editor the simulation runs only after the person presses Run and stops with Stop.

2.3.1 Three Flashes or Below Threshold (Level A) | Partially Supports | No Mokxi page or interface element flashes more than three times a second. The simulator draws what a person’s sketch tells it to, and a sketch can blink an LED or a display faster than that; Mokxi does not limit it.

2.4.1 Bypass Blocks (Level A) | Supports | Every site page and the editor start with a Skip to content link.

2.4.2 Page Titled (Level A) | Supports | Every page has a title that names it. The lesson plan PDFs carry a document title.

2.4.3 Focus Order (Level A) | Supports | Focus follows the reading order. Dialogs take focus when they open and give it back when they close. The circuit canvas is one stop in the Tab order; inside it Tab walks the parts in the order they were added, then moves on to the next control.

2.4.4 Link Purpose (In Context) (Level A) | Supports | Link text, or the sentence around it, says where a link goes.

2.5.1 Pointer Gestures (Level A) | Supports | Pinch to zoom on the canvas has single-pointer and keyboard alternatives: the Zoom in and Zoom out buttons, and the + and - keys. F fits the whole circuit to the screen.

2.5.2 Pointer Cancellation (Level A) | Supports | Buttons and links act on release. Dragging a part on the canvas can be undone with Undo, and a half-drawn wire is dropped with Escape.

2.5.3 Label in Name (Level A) | Supports | Controls with visible text use that text as their accessible name. Toolbar buttons add the shortcut after the label in their tooltip only.

2.5.4 Motion Actuation (Level A) | Not Applicable | No function is worked by moving or shaking the device.

3.1.1 Language of Page (Level A) | Supports | Every page declares lang="en".

3.2.1 On Focus (Level A) | Supports | Moving focus to a control does not open a new page, submit a form or move focus elsewhere.

3.2.2 On Input (Level A) | Supports | Changing a field or a menu does not take the person to a new page. Forms submit only when the person presses the button.

3.3.1 Error Identification (Level A) | Supports | Form errors are described in text next to the field, and the field is marked invalid for assistive technology.

3.3.2 Labels or Instructions (Level A) | Partially Supports | Form fields built with the shared field component have visible labels. A few inputs, such as the name and school fields on the lab cost calculator’s print form, use placeholder text instead of a visible label.

4.1.1 Parsing (Level A) | Supports | Pages are built from the DOM by script and by the build, so elements are complete and nested correctly. Per the WCAG 2.1 errata, this criterion is always satisfied for HTML.

4.1.2 Name, Role, Value (Level A) | Partially Supports | Site and editor controls use native elements or ARIA roles with names and states (tabs, radio groups, switches, menus). The canvas is exposed as a labeled application with its keys described. Its parts are not separate accessible objects on the canvas: their names and live states are read out as the keyboard selects them and are listed in the Circuit as text view, where buttons and switches have a Press button. Potentiometers and sliders are turned with the arrow keys but are not exposed as sliders with a value.

Table 2: Success Criteria, Level AA
Criteria | Conformance Level | Remarks and Explanations

1.2.4 Captions (Live) (Level AA) | Not Applicable | Mokxi has no live audio. Live collaboration rooms share edits and cursors, not sound.

1.2.5 Audio Description (Prerecorded) (Level AA) | Not Applicable | Mokxi publishes no prerecorded video.

1.3.4 Orientation (Level AA) | Supports | The site and the editor work in portrait and landscape, and the web app manifest allows any orientation.

1.3.5 Identify Input Purpose (Level AA) | Partially Supports | Email, password, name, organization and one-time code fields carry the matching autocomplete value. The class login form turns autocomplete off for the student’s name, on purpose, because students share school computers.

1.4.3 Contrast (Minimum) (Level AA) | Partially Supports | The color tokens are chosen for AA contrast in the light and the dark theme, and an automated playtest checks the key text on phones and a desktop in both themes and fails on any miss. Not every string is checked. Labels drawn on the parts, which copy real hardware markings, are not held to AA.

1.4.4 Resize text (Level AA) | Supports | No page blocks browser zoom, and the site’s layout reflows at 200% zoom.

1.4.5 Images of Text (Level AA) | Supports | Text is real text. The Mokxi wordmark is a logo.

1.4.10 Reflow (Level AA) | Partially Supports | Site pages reflow to one column at 320 CSS pixels without sideways scrolling, and wide tables scroll inside themselves. The circuit canvas needs two-dimensional scrolling by its nature, which the criterion allows; some editor panels have not been checked at 320 pixels.

1.4.11 Non-text Contrast (Level AA) | Partially Supports | Focus rings use the accent color at 2 px. Field borders and button outlines follow the theme tokens. Pin markers, the canvas grid and some wire colors have not been measured against 3:1.

1.4.12 Text Spacing (Level AA) | Partially Supports | Site prose uses flexible boxes that grow with the text. This has not been tested with the criterion’s spacing overrides, and some fixed-height editor toolbar controls may clip text when spacing is increased.

1.4.13 Content on Hover or Focus (Level AA) | Partially Supports | Most hover hints are the browser’s own tooltips. The canvas shows a pin hint while the pointer is over a pin; it closes when the pointer leaves, and Escape closes it only while a wire is being drawn.

2.4.5 Multiple Ways (Level AA) | Supports | Pages are reached from the header menus, the footer, the docs search, in-page links and the sitemap.

2.4.6 Headings and Labels (Level AA) | Supports | Headings name their sections and labels name their fields.

2.4.7 Focus Visible (Level AA) | Supports | Links, buttons and fields show a visible focus ring (:focus-visible) on the site and in the editor.

3.1.2 Language of Parts (Level AA) | Supports | The site is in English. The language menu marks each language name with its own lang attribute.

3.2.3 Consistent Navigation (Level AA) | Supports | Every site page shares one header and one footer, in the same order.

3.2.4 Consistent Identification (Level AA) | Supports | The same function has the same name and icon everywhere it appears.

3.3.3 Error Suggestion (Level AA) | Supports | Error messages say what to do, for example "Type the class code from your card."

3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Supports | Payments go through Stripe Checkout, which shows a review before paying. Deleting a project or a class, and closing an account, ask for confirmation first.

4.1.3 Status Messages (Level AA) | Partially Supports | Many status messages are in live regions (role status or alert), such as copy confirmations, field errors, every keyboard action on the canvas, and changes in the running circuit, which are held to one announcement every two seconds. Some form result lines, such as the class login form’s message, are not yet announced by screen readers.

Table 3, Level AAA: not evaluated.

## Legal disclaimer

This report describes Mokxi as of October 12, 2026, to the best of Mokxi LLC’s knowledge. It is provided for information and is not a warranty. Mokxi changes often, and we update this report when a change affects a row. To report a problem or ask about a row, use the accessibility support form.

“Voluntary Product Accessibility Template” and “VPAT” are registered service marks of the Information Technology Industry Council (ITI). This report follows the format of the VPAT 2.5 Rev, WCAG edition.
