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.