Why this matters
Accessibility is often treated as a late visual audit. In reality, it concerns structure, keyboard operation, focus, language, contrast, error recovery and understandable content.
Many improvements benefit everyone: clear labels help screen-reader users, but also reduce mistakes for people using a mobile device, working in glare or dealing with temporary limitations.
How to do it well
Define accessible acceptance criteria
State keyboard behaviour, labels, focus order, error messaging and contrast expectations.
Use semantic structure
Choose native controls and meaningful headings before adding custom ARIA.
Test without a mouse
Complete important journeys using only the keyboard and verify visible focus.
Check assistive output
Use a screen reader for key flows and verify names, roles, states and announcements.
Automate basic checks
Run accessibility scanners in CI while recognising that they find only part of the problem.
Include people and contexts
Test zoom, small screens, motion preferences and, where possible, users with disabilities.
What to avoid
- Using colour as the only indicator of status.
- Removing focus outlines for visual reasons.
- Adding ARIA to repair an unnecessarily custom control.
- Assuming an automated score proves accessibility.
- Fixing individual pages while inaccessible shared components remain.
Practical example
A form error should identify the field, explain the problem and move or announce focus appropriately. A red border alone is not sufficient.
A native button provides keyboard and assistive behaviour by default; a clickable div requires the team to recreate it correctly.
Lesson for practice
Accessibility is quality because it determines whether people can complete the task. The strongest approach combines semantic design, keyboard testing, assistive technology and automated safeguards.
A good practice does not have to be complicated. It should be intentional, repeatable and explainable: the team should understand why the control exists, what evidence it provides and how feedback will improve the next iteration.
