Skip to content

Month: August 2026

A11y 101 – 4.1.3 Status Messages

In the Sherlock Holmes story “Silver Blaze,” the key clue is that a dog did nothing. The dog didn’t bark when an intruder entered. That silence was the evidence.

Your website has the same problem.

A user submits a form. The page doesn’t reload. A loading spinner appears. It vanishes. Something happened—maybe success, maybe failure, maybe the system just gave up. But nothing spoke. Nothing announced. The status message was painted on the screen for sighted users and completely invisible to anyone who couldn’t see it.

Comments closed

A11y 101 – 4.1.2 Name, Role, Value

Here’s the thing about screen readers that most developers never learn until it’s too late: they don’t see what you see. They don’t render pixels. They don’t read CSS. They read the accessibility tree.

And if your HTML is a <div> with a click handler and no label, the accessibility tree has nothing to say. To a screen reader, that <div> doesn’t exist.

That’s the core problem WCAG 4.1.2: Name, Role, Value addresses. And honestly, it’s the single most important criterion for making your interface visible to assistive technology.

Comments closed

The R2 Unit We Deserve vs. The Cloud We’re Selling Our Souls Into

Ever since A New Hope dropped in 1977, and I saw how R2-D2 helped Luke & Han rescue Leia, I’ve wanted my own Droid. Not a marketing gimmick, not a surveillance drone—just a little friend to help organize my life. A pocket R2-D2. For decades, I chased every piece of tech that came out, hoping to find the magic. Digital notebooks, mini laptops, PDAs, iPads, iPhones, Verizon’s Official Star Wars themed Droid phone (yeah, I’m that nerdy). Nothing stuck.

Comments closed

A11y 101 – 3.3.7 Redundant Entry

You’re shopping online at your favorite store. You set up an account for future visits. You fill out your name, email, shipping address, billing info, card details. You save the info.

You start shopping and add some items to the cart. The checkout form asks for all that information again. Name, email, address, card. All of it. Fresh blanks.

You stare at the screen. “Didn’t you already know this?”

Comments closed

A11y 101 – 3.3.4 Error Prevention

Imagine buying a car. You sign a contract. Then you discover the dealership changed the interest rate after you clicked “Accept.” Or you transfer money to a bank account. You confirm the transaction. Then you realize you sent it to the wrong person—and the funds are gone.

These aren’t typos. These aren’t forgotten passwords. These are consequential actions with legal, financial, or irreversible data implications.

And if your interface doesn’t protect users from making these mistakes, you’re not just violating WCAG—you’re exposing yourself to liability.

That’s the core of WCAG 3.3.4: Error Prevention. Unlike 3.3.3, which is about helping users fix field-level validation errors, 3.3.4 is about preventing catastrophic mistakes before they happen.

Comments closed