HTML Child / The Page as a Contract

Accessibility is mostly ordinary correct markup, not an extra layer

The great majority of what makes a page usable to everyone is already yours for free, if you describe things honestly.

Beginners often imagine accessibility as a separate discipline, added late, requiring special knowledge and probably a specialist. That framing is discouraging and largely inaccurate. The bulk of the benefit comes from things this magazine has already described: headings that form a real outline, lists marked as lists, links that navigate and controls that act, images that carry a decision about their description, tables reserved for data, and fields with labels attached to them. None of that is exotic. It is simply the practice of writing down what things are, which you had to do anyway.

It helps to know why this works. Assistive software does not have access to your intentions and cannot see your design. It reads the same description the browser reads and builds the same model. When the model is truthful, that software has everything it needs: it can announce what each part is, offer sensible ways to move between parts, and expose the behaviour that comes attached to each kind of element. When the model is a fiction assembled to produce a picture, the software is being asked to interpret something that was never meant to be interpreted, and it fails through no fault of its own.

There is one further reason to think of this as ordinary craft rather than an added layer. Work that is added at the end is work that gets cut when time runs short, and work that lives in a separate checklist is work that somebody else is presumed to own. Correctness written into the description is neither. It is the cheapest possible version of the job, done at the only moment when it costs nothing, by the only person who knows what the content actually means. That person, at that moment, is you.