← Back to all articles
Sofia Karim

Accessible by Default

Small implementation choices that make a site easier to use with keyboards, screen readers, and zoom.

accessibilityfrontenddesign

Accessibility is easiest when it is part of the first implementation rather than a repair pass at the end.

Start with native HTML

Use a button for an action and a link for navigation. Native elements already bring keyboard behavior, focus handling, and semantics:

<a href="/articles/">All articles</a>
<button type="button">Save article</button>

Replacing both with clickable div elements creates work without creating value.

The visible details matter

  • headings should describe the page hierarchy;
  • images need useful alternative text;
  • focus indicators must remain visible;
  • color should not be the only way to convey status;
  • controls need labels that describe their result.
Test What to check
Keyboard Can every action be reached and activated?
Zoom Does content remain usable at 200%?
Screen reader Are labels and headings understandable?
Contrast Can text and focus states be distinguished?

Accessibility is not a special mode. It is the quality of the default mode.