Accessibility is frequently deferred as an enhancement. In most markets it is a legal obligation, and in practice it overlaps so heavily with general usability that accessible sites are simply better sites — particularly on forms, which is where revenue and, for a reporting site, real help is won or lost.

Start with the keyboard

Navigate your key journeys using only the Tab, Enter, Escape, and arrow keys. You will find unreachable controls, invisible focus indicators, focus traps in modals, and a tab order that jumps unpredictably. This one exercise surfaces a substantial share of real problems and requires no tooling.

Use semantic HTML before ARIA

A real button element is focusable, keyboard-operable, and announced correctly with no additional work. A div with a click handler requires role, tabindex, and key handlers to approximate the same behaviour, and usually does so incompletely. Native form controls, headings in order, lists as lists, and landmarks do most of the job. ARIA exists to fill gaps, and incorrect ARIA is worse than none.

Forms deserve particular attention

  • Every input has a visible, associated label — placeholder text is not a label.
  • Errors are described in text next to the field, not conveyed by colour alone.
  • Error summaries are announced and move focus to the first problem.
  • Required fields are marked in text as well as visually.
  • Grouped inputs use fieldset and legend.

Colour and contrast

Check text contrast against the WCAG AA ratios, including placeholder and disabled states, which fail most often. Never use colour alone to convey meaning — pair it with text or an icon. Dark interfaces like ours need particular care, because low-contrast grey on near-black is easy to design and difficult to read.

Test with real assistive technology

Automated checkers catch perhaps a third of issues and cannot assess whether a page makes sense when heard. Spend twenty minutes with VoiceOver or NVDA on your main journeys. It is uncomfortable the first time and it is the fastest way to understand what your markup actually communicates.

Where to begin if nothing has been done

In order: keyboard navigation with visible focus, form labels and errors, heading structure, contrast, then images and alternative text. That sequence addresses the most common barriers first and is achievable incrementally rather than requiring a dedicated project.