Eight presses of the Tab key
A design QA review finds a keyboard trap that cannot be fixed where it was found. After eighteen months of architecture arguments, this is the version that moves people.
Design QA review this morning. One of our designers went through a page that had already shipped, moving with the keyboard the way someone using a screen reader would.
Getting from the account picture to the first menu link took eight presses of the Tab key. No skip link. The primary navigation had no accessible name.
They reported it. The engineer's answer was correct: the behaviour comes from a shared component, so it is not a bug in that page. It is a bug somewhere else. So it became a ticket in another repository's backlog.
The same page had a second problem. The title said "Dashboard", which was not the approved title — the approved wording lives in a spreadsheet, and the page shipped before the spreadsheet was finished.
Nobody did anything wrong. The designer ran the review. The engineer read the code correctly. The product manager protected the release. I would have made the same calls in each seat.
Which is exactly why this is the most useful thing that has happened to my argument all year. When every person makes the right call and the result is still a keyboard trap, the problem is not judgement or care or priorities. It is when we allow the question to be asked.
Keyboard order and page titles are invisible in a drawing. They only exist once something runs. So they arrive after the build, as findings, which makes them tickets, which puts them behind work that already shipped.
I have been making the decoupling case for eighteen months in the language of architecture. This morning handed me the version that fits in one sentence and that any person in this company can verify for themselves in thirty seconds. I have learned to recognise that moment and to spend it immediately rather than save it — an argument like this has a short half-life, and the organisation is only briefly willing to look straight at it.
So here is what I am going to build on the back of it. A world where this specific review happens while the screen is still a draft, on a designer's own machine, on the morning they make it — where the answer costs an afternoon rather than a sprint, and where nobody has to be persuaded because the trap never reaches a queue.
We are closer to that than anyone here currently believes. I intend to show them rather than tell them.