If you have a <label> and <input>, just set the "for" attribute on the <label> and reference the <input>'s ID value. No need to additionally set "aria-labelledby" on the <input>. ๐ฅฐ
Posts by Ashlee @ SFCG
What seems like a text input for time, and an accompanying list of valid options for the input. In the text box, only a clock icon and "1:" are visible. For the 5 value options that are visible, each has the same visible text of "1..".
When truncated text goes too far:
Hi! If you display a tooltip when an element is focused or hovered, the Accessible Name of that element might need to be the exact same text.
If that element is an icon-only button? Show me an example of when it shouldn't match. In my experience, I think it's just about always necessary!
Hi! If you're using the aria-controls attribute, make sure the elements referenced actually exist on the page. No reason to reference elements that don't even exist! ๐ฅฐ
Hi! Your <button> probably doesn't need a "tabindex" attribute. It's actually focusable by default. ๐ฅฐ
A new blog post is brewing โ
I use a LOT of bookmarklets in a11y work. Been migrating them to @polypane.app Snippets (brilliant feature!) and one I use for checking image alt inspired a new blog.
How to handle visual-only icons โ bc I've used aria-hidden forever but it's a *state* which implies dynamic. Now reconsidering! ๐
Been thinking about writing a history of WAI-ARIA, the APG, and how the most popular frontend component libraries are over-engineered.
The new WebAIM Million report motivates me even more! Their conclusion about worsening accessibility is AI/LLM-assisted coding (aka "vibe coding"). I 100% agree.