Build circuits by keyboard: the canvas learns to talk to screen readers
The circuit canvas gains a screen-reader representation, keyboard navigation and wiring, precise part placement, and spoken announcements for what just happened.

The circuit canvas has been a picture: fine if you can see it and use a mouse, invisible if you cannot. As of this release a keyboard and a screen reader are enough to read a circuit, build one, and hear what is happening. This shipped for Learn lessons and carries into the simulator editor.
Reading a circuit without seeing it
The canvas now has a parallel screen-reader representation. It opens with a summary (circuit name, how many components, wires, and nets, and whether the simulation is running), then lists components with their pins, wires as "from component.pin to component.pin", and nets with their connection counts.
Arrow keys walk the component list, Left and Right jump between components, Home and End go to the ends, and focusing an entry selects it on the visible canvas and pans it into view. Escape and Tab always leave the list; there is no keyboard trap. Each pin announces the net it is connected to, and a pin sitting in a breadboard hole announces its address, for example "anode on Node 1, at column 12, row A". That last detail is the point: "are my resistor and LED in the same column" is the core question of every breadboard lesson, and it is now answerable by ear.
Building without a mouse
Place a part from the palette, then nudge it one hole at a time with Shift plus arrows, staying on the breadboard grid, with each new hole announced. Wiring is two picks: Enter on the source pin starts a wire, Enter on the target completes it, Escape cancels. A pin that is already connected refuses with a spoken reason instead of doing nothing. Enter also toggles switches and announces the new state, and voltage readings can be read aloud on request.
The editor speaks up on its own where it matters: parts being added or deleted, wiring outcomes (including "hole occupied", with the nearest free hole suggested), and simulation failures in the engine's own words, like an LED exceeding its current rating.
What this is not, yet
Some interactions still need a mouse: dragging a potentiometer knob, bending component leads, and editing wire waypoints. The Module Creator is excluded for now, continuous live voltage narration is deferred (readings are on request), and everything is English-only at this point. We are describing features here, not claiming a conformance level; formal accessibility verification is separate work and has not been published.
If you use a screen reader and try this, we genuinely want to hear what breaks. The feedback option in the Help menu goes straight to us, or start with a lesson at learn.devoltapp.com.