Relief

Roadmap

Phases of the project, what has been shown and what is planned.

Relief is developed in phases. Each phase ends with something that runs and has been measured, not with a document.

Phase 0 — Feasibility (done)

  • A spike against a normal Chrome showed that the accessibility tree is enough to understand and operate typical pages.
  • A Chromium 154 fork builds on Apple silicon from a script. Incremental builds of Relief’s own code take seconds.
  • Relief receives the accessibility tree of every tab in the browser process, including cross-site iframes, keeps a semantic page model in a Rust runtime and can trigger an action on a node; the result shows up in the next update.
  • Updating the model takes at most 1.1 ms at the 95th percentile on large real pages (Wikipedia, spiegel.de).
  • The fork touched Chromium in two places outside its own directory at the end of phase 0; today there are nine small patches.
  • VoiceOver works unchanged with Relief running, checked step by step with and without Relief.

Decision on 2026-09-30: go for phase 1.

Phase 1 and later — Assistance

Step What it brings Status
Actions into the page Every operation as a validated plan through Chromium’s accessibility actions done
Inspector See what Relief understands about a page, with findings from shared accessibility rules done
Command bar “What can I do here?”, “open the menu”, numbered choices when a target is ambiguous done
Speech Speech input and output on the device, no cloud service required done, including the live microphone; optional cloud recognition later
Keyboard hints Every actionable element reachable with a few keys, also inside iframes done
Form assistant Required fields, errors and focus after submit, filling fields by command done
Consent and overlays Recognise, describe, decline on request — never accept on the user’s behalf done
Semantic view A simplified view generated from the model; the original page stays available done in the side panel; full tab width deferred
Ability profiles Combinable settings for output, input and presentation — no diagnosis modes done: global or per site, also as reduced-motion and contrast preferences for web pages
Missing names Suggestions for unlabelled controls, on-device where possible, always marked as uncertain resolver built; calibration run pending
Accessible own interface Inspector, command bar and dialogs usable by keyboard and screen reader next

Testing mode

Step What it brings Status
Form assertions Names, error association, focus after errors, status messages, tab sequence done
Real screen-reader output A driver that records what VoiceOver says; NVDA later planned
Headless runs Test files run without a window and report as JUnit done
Playwright Existing Playwright tests can drive Relief and query its page model done

Product basics

  • The build is branded as Relief with its own profile directory, a placeholder icon and translated product texts, and Relief is on by default (done).
  • Before anyone else gets a build: signed, notarised, self-updating releases that keep up with Chromium’s security updates.
  • Windows and Linux follow once build and test hosts exist; a platform only counts as supported when its screen readers and input methods pass the same core tasks.

Deferred

A user study with people who rely on assistive technology is planned once the contacts exist. Until then the project claims technical results, not benefit.

Edit this page on GitHub