Real talk: Pixel perfect

2 minutes read

You've built a "pixel-perfect" UI.

Every shadow, every animation, every nothing-out-of-place detail. It's shiny, it's new, it's banger! It pops!

But to make all that pop, you've buried everything under 17 nested <div>s, a mountain of !important CSS and lots of conflicting ARIA roles. It shows you're desperately trying to fake what proper HTML could have done in the first place.

Your banger design is a nightmare for accessibility.

Screen readers don't care about your shadows or animations. They need structure.

When your markup is just a pile of <div>s with no headings, landmarks or real buttons, you're forcing assistive tech to hack their way through it all with no map.

Keyboard users? Forget about it! They're tabbing through fake interactive elements that have no chance of working.

The next dev that comes along to maintain this? Not a chance. They can only make it worse.

Semantic HTML is the bare minimum.

A <button> isn't just a <div> with some CSS and ARIA on top. A <nav> isn't a styling limitation. They're the foundation of a web that works for everyone.

So before you reach for another wrapper <div> or aria-role to patch your bad markup, ask yourself.

Are you designing for screenshots or for human beings?

Fix your HTML. Then we'll talk about shadows and animations.

Sent on

Did you enjoy this bite-sized message?

I send out short emails like this every day to help you gain a fresh perspective on accessibility and understand it without the jargon, so you can build more robust products that everyone can use, including people with disabilities.

You can unsubscribe in one click and I will never share your email address.