Accessibility Is a Constraint, Not a Retrofit
Fixing contrast at the end produces a compromised design. Starting there produces a better one.
5 min
read
Accessibility usually enters a project at the worst possible moment: after visual design is signed off, when every change is a negotiation. At that point the options are all bad. Darken the grey and the palette loses its restraint. Leave it and ship something a portion of users cannot read. Handled at the start, the same requirement is not a compromise. It is a constraint, and constraints tend to improve work rather than degrade it. A palette designed to meet contrast requirements from the first sketch does not look worse. It looks more deliberate.
MOST FAILURES ARE STRUCTURAL
Contrast gets the attention because it is easy to measure. The more serious failures are structural and invisible in a mockup.
Heading levels that skip from h1 to h4 because a text style happened to carry that tag. Links whose accessible name is an icon. Form inputs with placeholder text and no label. Interactive elements built from divs.
None of these show up in a design review. All of them make the product unusable for someone.
The fix is not a checklist at the end. It is deciding the semantics while the layout is being drawn: what is a heading, what is a landmark, what is a button and what is a link. That vocabulary is design work.

TEST WITH THE KEYBOARD FIRST
The fastest audit available costs nothing: put the mouse away and tab through the page.
Focus order will reveal the structure. If tabbing jumps around the layout, the DOM order does not match the visual order, and that is a design problem before it is a code one.
Focus indication will reveal whether anyone thought about it. Removing the outline without providing a replacement is common and indefensible.
Modals, menus, and anything that traps attention need explicit handling: focus moves in, Escape closes, focus returns to where it came from. These are behaviours to specify, not bugs to discover.
Done early, none of this is expensive. Done late, all of it is.










