Data tables need column headers. Monolitten, a granite column of humans (each with a head) at Vigelandsanlegget, a sculpture park in Frognerparken in Oslo, Norway. What they probably do not need is a new set of column headers every few rows, particularly not when they change the meaning of the…
The online holiday shopping coupled with my need to make a new invoice template got me looking at a common table structure that is harder to expose to screen readers than it seems at first glance. One I first coded in, checks watch, 1997 when I was an ecommerce developer…
Google has an extensive history of releasing products and tools that fail basic accessibility. This is not a function of individuals — Google has some very talented and capable accessibility practitioners. Instead, this is an organizational failure. Failure to require accessibility in its products or services. Failure to support teams…
Moving and Flashing Warning: Each of the examples in this post has animations. Continuous animations honor your system settings to reduce animation. You can also hide the rendered HTML in the embedded CodePens by hitting the “Result” control. The CSS background-clip property controls how much a background extends under a…
Others in this sorta-series: Under-Engineered Custom Radio Buttons and Checkboxen Under-Engineered Toggles Under-Engineered Toggles Too Under-Engineered Text Boxen Under-Engineered Select Menus A common interface pattern allows users to choose one item from a pre-defined set of choices, while still allowing them to add a custom selection if nothing else fits.…
Got myself one of those Bonne Maman jelly/jam advent calendars and am very much looking forward to opening the first day and all subsequent days. Web developers around the world have given a nod to Saturnalia solstice Isaac Newton’s birthday Christmas with advent calendars covering web-related topics. As a result,…
A collection of images, videos, tweets, articles, and links referenced in my talk for Web Directions AAA 2021. This may not make much sense if you did not attend the talk. Or even if you did. Intro I had the title before I had the content. I tried to shoehorn…
The open source collaboration platform Mattermost invited me to be a guest on its What Matters podcast for the episode What Matters – Episode 28 – Accessing Accessibility with Adrian Roselli. You can probably guess the topic. I am particularly pleased with this announcement from Mattermost that came with the…
Whether you use a <button> or <input type=”checkbox”> as the basis for your switch depends on a few factors: Use <button> if: you can count on JavaScript being available, and flipping the switch has an immediate effect. Go read Under-Engineered Toggles Too. Use <input type=”checkbox”> if: you want to progressively…
This post serves no purpose other than to demonstrate the fidelity of screen readers when announcing non-emoji Unicode characters when using default settings. There is no judgment on which is correct. This is simply for reference. I grabbed the following tweet and recorded it across common screen readers (WordPress ate…
The title of this post is pretty specific. It relates to the meme on Twitter where users identify a trait or preference that they see as problematic, and identify it as a red flag. The emoji represents the red flag. For example: A stylized red flag Blaming Screen Readers 🚩🚩🚩🚩🚩…
Automated accessibility testing tools are rightly wary of giving false positives. You don’t want to flag something as an error in a test only to have the team rebuild an entire thing for no reason (never mind the risk of introducing errors). We know automated accessibility testing tools can really…