Works For Me, a Piece

The design

The idea

An automated checker can tell whether a page has the right parts, such as headings, alt text and a skip link. It can't tell whether the page works for the person using it. That takes someone who uses a screen reader, magnification, a switch or braille every day, and those are exactly the people who find the bugs.

Most bug reports go nowhere. Someone writes in, nobody replies, and if anything is ever fixed, they find out by accident. This design keeps the person who found the bug in the loop, and makes them the test.

The loop

  1. The report. Someone emails fix@ at the site's domain. Cloudflare Email Routing passes the message to a small program that keeps the report and starts a fix. The reporter's address never goes into the site's code or its history.
  2. The fix. Claude reads the report, finds the problem and fixes it on a branch of its own, away from the live site. The site is rebuilt and checked: the build, the headings, the links, an automated accessibility scan, phone width and the Markdown version. Every fix also comes with a new test for the bug it fixes, so the reporter finds a failure once and the checks look for it on every build after that.
  3. The mirror. The branch is put online at an address of its own, a copy of the site with the fix in. Search engines are told to ignore it.
  4. The question. The reporter gets an email with the link: try it the way you found the problem, and reply to say whether it works. If it doesn't, their reply becomes the next report and the loop goes round again.
  5. The merge. When the reporter says it works, the owner gets one email with what was reported, what changed, the reporter's answer and the check results. One word, "ship", puts the fix live. The reporter is thanked and told.

The two gates

A fix goes live only when two people have said yes:

The reporter can't be the only gate, because the person who asks for a change and the person who approves it would then be the same. Anyone could write in asking for anything, see it on the mirror and reply "works for me". Reports are treated as information about the site, never as instructions to follow. The owner's email says plainly whether any words or links have changed, because those changes need the closest look.

What a "yes" covers

One reporter's yes covers one setup: their screen reader, their browser, their device. That's why the automated checks still run on every fix. The reporter proves the fix works for the people it was for. The checks make sure it hasn't broken anything for everyone else.

Privacy

Reports are kept only as long as the fix takes. Reporters' names and addresses are never published or put in the site's code. A site using the loop says so in its accessibility statement.

Where it starts

On unremarkable.me first. It's the studio's own site, and if the loop is going to be wrong about something, it should be wrong there.

More about this

About the author

Blind Ant is written and run by Charlotte Joanne. About Blind Ant says more.