#rightBadCode
Reading through a design systems docs and trying not to crash out LOL!

"...and role="button" on tags for accessibility."

This team should listen to my talk about building accessible components.

#a11y #WebDev #RightBadCode
August 19, 2025 at 1:04 PM
role="text" on a paragraph tag is wild!

First off, role="text" is not a valid attribute, so why is it even in the code? And second, the paragraph tag does not need help conveying its semantic meaning.

#A11y #FrontEnd #RightBadCode
August 14, 2025 at 2:12 PM
Because I saw it, you get to. What's really bad is that this is code from the site of an accessibility company.

#a11y #frontEnd #DontDoThis #rightBadCode
August 4, 2025 at 2:13 PM
Inspired by products I've reviewed and designers I have spoken with, I have a new blog post coming this week on rightbadcode.com that touches on perception and why icon buttons need labels.

#accessibility #a11y #ux #ui #rightBadCode
Right Bad Code
Right Bad Code is an accessibility-focused blog where you will find information and resources to help build inclusive products.
rightBadCode.com
July 21, 2025 at 9:51 PM
Garbage in, Garbage out.
When your design system components are not accessible. For example, when your Text Input component lacks a label entirely or a label that's not programmatically associated with the text Input, it's not accessible.

#a11y #designSystem #rightBadCode
June 9, 2025 at 8:01 PM
Quick accessibility code hygiene tip:
When your label and aria-label contain the same text, you don't need the aria-label. Also, be sure to associate the label with the input by providing the same text in the "for" and "id" attributes.

#a11y #frontEndDev #html #rightBadCode
May 16, 2025 at 4:17 PM
Heading to an event downtown where I'll speak with various company leaders about building accessible design systems.

#a11y #designSystems #rightBadCode
January 30, 2025 at 3:04 PM
Just gonna leave this here

#a11y #webDev #rightBadCode
January 29, 2025 at 2:09 PM
In spite of the nonsense going on, I had several accessibility wins today.

#a11y #rightBadCode
January 22, 2025 at 11:09 PM
I had an ugly Christmas sweater made for the meetup in a few days. What do you think?

#a11y #accessibility #RightBadCode #UglyChristmasSweater
December 8, 2024 at 5:06 PM
Here's something I see that trips developers up. The
landmark by default is equal to role="banner". I know... naming is hard.

So if you have a
or with role="banner" and a landmark on the same page, it causes a conflict.

#a11y #webDev #rightBadCode
December 4, 2024 at 9:49 PM
Improving A11y is not always a heavy lift. For example, reducing the noise is one thing I focus on because bad code is loud. This stems from the incorrect use of or overuse of ARIA attributes and HTML that isn't semantic.

#a11y #webDev #rightBadCode
November 27, 2024 at 3:39 PM
I saw someone recommend the incorrect way today and it bugged me so...

❌ The incorrect way to label an input:
Age


✅ The correct way:



#a11y #html #rightBadCode
November 19, 2024 at 10:08 PM
In an effort to help improve accessibility on this app, we can start by providing alt text for our images. Here are some general tips on how to write alt text.

rightbadcode.com/tips-for-wri...

#a11y #accessibility #rightBadCode
Tips for Writing Alt Text
html + accessibility
rightbadcode.com
November 16, 2024 at 1:10 PM
It doesn't matter if you use React, Angular, Vue, Svelte, or any other javascript framework. Accessibility errors are framework agnostic.

#a11y #rightBadCode
May 12, 2023 at 1:41 AM