← All issuesIssue № 07 · Published 22 September 2026

The machine caught me.

I built a tool that finds accessibility failures. Then I pointed it at my own site.

Last time I wrote, I put three versions of the same website side by side and argued that the difference between them was not the prompt. It was everything I did before opening the builder.

That was the 20th of August. Since then, a holiday, a client project, and most evenings spent making my audit tool better. Four weeks with nothing from me.

I said weekly when I started this, and this gap was far too long. I am sorry for it. I have also changed my mind about the promise. I would rather write to you when I have something worth your time than fill a Tuesday for the sake of filling it. So from here, I write when there is something real to share.

Here is what I was doing instead.

I audited my own site

I built alexandra-ciobanu.co.uk in Lovable around April. It was not my first build. Maybe the fifth, maybe the seventh. I had none of the skills I have now. No brief skill, no brand framework, no colour system. I looked up references by hand, fed them in as inspiration, and prompted until it looked the way I wanted it to look.

I knew enough to catch some accessibility problems by eye, and I fixed those. What I never did was a real pass. Keyboard, screen reader, zoom. The things you cannot judge by looking at a screenshot.

So on the 31st of August I put it through my own tool. Fifty-five requirements. Ten a machine can decide, forty-five that need a person, which is the entire argument the tool exists to make. Twenty-six meet. Nineteen do not apply to a page like mine. Nine fail. One needs review.

Those nine are what is left after the things I had already fixed by eye. Every visual correction I made before the scan held.

This is the accessibility report for my website, unedited.

The gradient I asked for

I wanted a few words in each headline filled with a gradient. I knew colour was the obvious risk, so I had it built from stops of matching luminosity, with separate gradients for light and dark, because one set cannot serve both.

The colour was fine. I checked it by eye and ran every pair through a contrast checker until it cleared the minimum.

The structure was not, and I had no way of seeing that. You only find it by listening to the page with a screen reader or moving through it with a keyboard, and I had never done either on my own site.

Each styled phrase was built as its own separate piece of code, sitting loose inside the sentence rather than joined to it. A screen reader, the software a blind person uses to have a page read aloud, treats each of those pieces as its own thing. So the sentence arrives in fragments instead of as one thought. It is not one heading. It runs across the whole site. And it runs across every site that has a different typeface treatment in the same phrase: an underline, a different color, an italicised word.

This is the finding that goes furthest beyond me. Any coloured word, any highlighted phrase, any gradient inside a paragraph can do the same thing, and nearly every AI-generated site uses that treatment. On a client’s site I hit the other half of it, where the model simply picked a second colour that failed contrast. Same feature, two different ways to break.

The fix is structural. The look survives it.

You cannot see where you are

Plenty of people never touch a mouse. They move through a page with the Tab key, and the only thing telling them where they have landed is a visible outline around the link or button.

On my site, pressing Tab on a laptop made the outline disappear. I could not see where I was. The only clue was the web address that flickers up in the corner of the browser.

The cause is simple once you know it. My site has two menus, a full one for laptops and a folded one for phones. On a laptop the phone menu is hidden from view, but it was still there in the page, so pressing Tab walked straight into it. The outline was moving through links nobody could see.

To a keyboard user, the page just goes blank for several presses and then comes back somewhere else.

Labels that disappear as you type

A form field should carry a label that stays put, a few words above or beside the box telling you what goes in it.

Several of mine use the faint example text inside the box instead. You@company.com, that sort of thing. The moment you start typing, it vanishes, and the box stops telling you what it was ever for.

If you have a sharp memory and one field to fill, you will not notice. If you get interrupted halfway, or you have a memory or cognitive difficulty, you are now looking at a box with your own half-typed answer in it and nothing else.

The panel I installed on purpose

Claude advised me not to put an accessibility panel on my site. I installed one anyway, because I wanted to test every part of one myself rather than hold an opinion about them.

It took a great deal of manual work and back and forth. The inverted mode ignored my own light and dark themes entirely.

Then I found the same flaw somewhere else. You may remember the stranger who messaged me on LinkedIn months ago, asking if I would look at the accessibility evaluator he had built. His report was the one I could not understand, and the one that eventually pushed me to build my own. His panel had the same bug as mine, inverting some sections of the page and leaving the rest alone. I told him. He said he had fixed it. He had not tested it.

Mine still failed. When I first tried zooming the site to 200%, nothing grew at all. It took several fixes before the page would scale. Once it did, one thing still refused: the accessibility panel itself, which stays its original size and ends up smaller and harder to read than everything around it. The one control built for people who need to zoom is the one that will not.

That matters well beyond my site. In 2025, 983 US accessibility lawsuits, close to a quarter of all filings that year, were brought against websites that already had one of these widgets installed. Five providers account for 88% of those cases. In April 2025 the FTC fined accessiBe $1 million for marketing its widget as a route to WCAG compliance.

A panel is not a fix. Mine is not either. It is a convenience, and it has to meet the standard like everything else on the page.

The rest of them

Two carousels a screen reader never announces, so there is no way to know they exist or to move between slides. Content colliding and getting clipped at 400% zoom, with the site name landing on top of the navigation. Two buttons that do the same job with two different names, which a screen reader user will reasonably hear as two different things. And a subscription confirmation that appears on screen and stays completely silent for VoiceOver.

There would have been more. I had already corrected the gradient colours and caught a pattern I keep finding since: eyebrow text set in the palette’s lowest-contrast tone at the thinnest available weight, which is what these tools reach for by default. That one is its own story, and it belongs in the post about rebuilding my site seven times.

What I am doing about it

I have fixed none of it yet.

The plan is the one that worked on a client project last month. A Lovable build writes to a GitHub repository, so instead of prompting at the surface I pointed Claude Code straight at that repository and had it read the code properly.

On the client’s site it found exactly what a year of visual prompting leaves behind. Spacing values that never repeat. Fonts that accumulated and were never cleared out. Dead code nobody removed. I expect the same on mine. The visual corrections are small. What sits underneath is the real work.

The report has its own rough edges too, and you will see them if you open the link. It is far too much text for a business owner to take in. Turning it into something you can read at a glance is next on my list after the site.

This week’s move

Before you run anything, think about who you are keeping out. Not in the abstract. The person whose hand shakes and cannot land on your button. The one reading on a phone in bright sun. Your customer’s mother. Someone holding a baby and typing with one hand.

Then put your own site through the free website accessibility scan and read the part that tells you what a machine cannot decide.

Your site works for you. Who have you never found out it was failing?

Alexandra