Skip to main content

Accessibility, from markup to shipped

Tested and working code examples mapped to relevant WCAG criteria. Demystifying accessibility, one article at a time.

Results that load in silence are like a food truck that never calls out your order.

aria-live announcements, keyboard focus, aria-disabled (not disabled), and why aria-setsize/aria-posinset aren't reliable across screen readers.

A picture is worth a thousand words, unless a screen reader can’t see it

A missing alt attribute doesn't mean silence. Screen readers can fill the gaps poorly in unexpected ways. Here's how to handle decorative images, write with intention, and why AI isn't a substitute for your own voice.

Doppelgängers in code: Same appearance, different meaning

Strong and em look identical to b and i — but they mean something different. See what the accessibility tree exposes, and why it'll matter more as screen readers get smarter.

Most pages are structural fog for screen readers. Landmarks clear the air for easy navigation.

Semantic tags like header and nav do more than clean up your markup — they create landmarks screen readers use to navigate a page.