ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Turn a scanned or photographed worksheet into a form a screen reader can read and answer. Runs in your browser, works offline.
EducationJavaScript · CSSGitHub @antonmareo10OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Turn a scanned worksheet into a form a screen reader can read and answer. In-browser, offline. AccessED Hacks.
Taken from the repository README
Loading the full README.
Read the full README ↗Answerable turns a scanned or photographed worksheet into a form that a screen reader can read and a keyboard can answer. It is a static site. The text reader (Tesseract.js) runs in the browser, nothing is uploaded, there is no paid API, and after one visit it works with the network off.
Live demo: https://answerable-accessed.vercel.app (checked at desktop width and 320 px, scan sample reads and builds all 8 questions)
I built it solo for AccessED Hacks, in the "Interact" door.
A teacher hands out a worksheet as a scan or a phone photo. For a learner who uses a screen reader, that file is a picture: no text, no headings, nowhere to type. Today that learner waits for a person to read it out and type for them.
Two made-up worksheets (a flatbed scan and a harder phone photo of "The Water Cycle", 8 questions) live in samples/. Numbers below come from tests/e2e.mjs (output in tests/out/results.json), run on one Windows PC in headless Chromium.
| Image alone | Answerable | |
|---|---|---|
| Text a screen reader can read | 0 characters, no alt text | the full worksheet |
| Headings to jump between | 0 | 5 (title, word bank, 3 parts) |
| Form controls | 0 | 18, all with labels |
| Questions reachable | 0 of 8 | 8 of 8 |
Keyboard only, no mouse: 4 Tab presses to reach the sample button, then 117 key presses to answer all 8 questions (101 of them typed characters), 11 tab stops, then Enter downloads the answers. The exported file contained every answer.
Reading time on this PC: 1.8 s for the scan, 1.4 s for the photo. The first scan downloads the text reader, 7,207,745 bytes. The page itself is 59,296 bytes on first load, so typing or pasting text needs no OCR download.
Misreads happen, so step 2 shows the text and lets you fix it. Results on the two samples:
[Figure: description] under it.Limits I know about: English only; the parser expects numbered questions with A/B/C options; handwriting is not read; two samples is a tiny test set and I make no claim about other worksheets; the OCR files are only cached for offline use after the first scan on that device; I have not tested with a real screen reader or with learners.
tests/contrast.mjs): the lowest pair is 5.33:1 (light input border), text is above 15:1.docs/screenshots/.npx lighthouse to reproduce).tests/a11y-tree.mjs): the roles, names and live-region announcements Chromium hands to screen readers. 8 named question groups, every control named, a main landmark, and about 6 announcements while reading instead of dozens. This is not a real screen reader.npm install
npm start # http://localhost:4173
npm test # unit tests + browser tests (needs Playwright Chromium)
The site has no build step. vendor/ is committed so it works from any static host.
vendor/.scripts/make-samples.mjs.License: MIT.