Under-Engineered Multi-Selects

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 Responsive Tables Under-Engineered Select Menus Under-Engineered Dependency Questions This post is … | Continue reading


@adrianroselli.com | 2 years ago

Brief Note on Buttons, Enter, and Space

Keyboard interaction note for just one control from the entire panoply of HTML controls: A native

My Cease & Desist from AudioEye

On Tuesday April 5, 2022, a FedEx driver dropped off an overnight envelope from Manhattan. It contained a three page Cease & Desist letter from Cozen O’Connor, the law firm representing AudioEye, Inc. On Thursday April 14, 2022, I received a follow-up letter by the same delivery … | Continue reading


@adrianroselli.com | 2 years ago

Keyboard Challenges for Twitter’s New ALT Badge

This post is part of RSS Club, rewarding those who still use RSS to read and/or share content. These posts are embargoed from my regular post feed and the socials for an arbitrary number of weeks. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your fri … | Continue reading


@adrianroselli.com | 2 years ago

Accessible Description Exposure

If you have little experience with ARIA, screen readers, or testing in general, understanding accessible descriptions can be trickier than understanding accessible names (already confusing for many). I have written explanations so many times for clients and in fora that I opted t … | Continue reading


@adrianroselli.com | 2 years ago

Foolishly Responsive

Honoring April Fools’ Day I have created a foolishly responsive accordion control. Typically a responsive effort shoehorns a large pattern into a narrow viewport, often based on iDevice screen sizes. Less typically a responsive layout will also consider viewport height, and far l … | Continue reading


@adrianroselli.com | 2 years ago

Maybe Don’t Use Flow Charts on GitHub

This post is only visible to RSS feed readers, unless you got here by manually parsing the feed (weirdo) or someone shared the link with you (they probably should not have). It is part of RSS Club, rewarding those who still use RSS to read and/or share content. You can… | Continue reading


@adrianroselli.com | 2 years ago

You’re Unselectable

This post is only visible to RSS feed readers, unless you got here by manually parsing the feed (weirdo) or someone shared the link with you (they probably should not have). It is part of RSS Club, rewarding those who still use RSS to read and/or share content. You can… | Continue reading


@adrianroselli.com | 2 years ago

ADA Web Site Compliance Still Not a Thing

Photo courtesy Steve Faulkner, taken outside the CSUNATC 2022 venue after we had chicken and rice, free from the food desert of the venue. Who has two thumbs and is not a lawyer? For years I have worked with clients who refer to digital/web accessibility as ADA work. They have… | Continue reading


@adrianroselli.com | 2 years ago

#FACILiti Will Get You Sued

Disclaimer: This post and the headline is my opinion. I provide verifiable facts throughout to inform that opinion. I am also not a lawyer and this post does not constitute legal advice. FACIL’iti is one of many vendors that claims its accessibility overlay product can make your … | Continue reading


@adrianroselli.com | 2 years ago

Overlays Underwhelm: a11y NYC

A collection of images, videos, tweets, articles, and links referenced in my a11y NYC talk in March 2022. 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… | Continue reading


@adrianroselli.com | 2 years ago

Support for Marking Radio Buttons Required, Invalid

The required set of radio buttons. The white whale to many a developer who is trying their darnedest to ensure they are conveyed accessibly while not also making it sound like every individual radio button must be toggled. 1961 Cadillac Wonderbar dashboard radio by Nicholas Lucie … | Continue reading


@adrianroselli.com | 2 years ago

Column Headers and Browser Support

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 … | Continue reading


@adrianroselli.com | 2 years ago

Accessible Cart Tables?

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… | Continue reading


@adrianroselli.com | 2 years ago

More Google and Afterthought Accessibility

This post is only visible to RSS feed readers, unless you got here by manually parsing the feed (weirdo) or someone shared the link with you (they probably should not have). It is part of RSS Club, rewarding those who still use RSS to read and/or share content. You can… | Continue reading


@adrianroselli.com | 2 years ago

Experimenting with Text and CSS background-clip

This post is only visible to RSS feed readers, unless you got here by manually parsing the feed (weirdo) or someone shared the link with you (they probably should not have). It is part of RSS Club, rewarding those who still use RSS to read and/or share content. You can… | Continue reading


@adrianroselli.com | 2 years ago

Under-Engineered Dependency Questions

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 c … | Continue reading


@adrianroselli.com | 2 years ago

Web Development Advent Calendars for 2021

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 coveri … | Continue reading


@adrianroselli.com | 2 years ago

Overlays Underwhelm: Web Directions AAA 2021

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… | Continue reading


@adrianroselli.com | 3 years ago

Switch Role Support

Whether you use a

Reference: SRs and Extended Characters

This post is only visible to RSS feed readers, unless you got here by manually parsing the feed (weirdo) or someone shared the link with you (they probably should not have). It is part of RSS Club, rewarding those who still use RSS to read and/or share content. You can… | Continue reading


@adrianroselli.com | 3 years ago

Blaming Screen Readers 🚩×5

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 🚩 … | Continue reading


@adrianroselli.com | 3 years ago

Beware False Negatives

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 testin … | Continue reading


@adrianroselli.com | 3 years ago

#UserWay Will Get You Sued

Thanks to a comment on my post #accessiBe Will Get You Sued, I found UserWay had taken the meat of that post, re-cast as its own effort, and was using it as a marketing effort to frame its overlay as a better product than accessiBe. Excerpts from the post that… | Continue reading


@adrianroselli.com | 3 years ago

Sentence Forms (not Mad Libs)

Whether you call them sentence forms, narrative forms, fill-in-the-blank forms, or Mad Libs forms, you are probably describing a form where the fields are interspersed within words in a sentence. Unlike more traditional forms, laid out with simple pairings of labels and fields, t … | Continue reading


@adrianroselli.com | 3 years ago

Scroll Snap Challenges

Though JS-free fixed table row and column headers have been possible for quite some time, Safari’s and Chrome’s recent fixes got some people pretty excited. Enough that folks are copying code samples in whole, without always paying attention to necessary considerations. That same … | Continue reading


@adrianroselli.com | 3 years ago

Stop Using ‘Pop-up’

TL;DR: Stop using the word pop-up. Instead choose a term that accurately describes the control you want. I encourage you to read my post Stop Using ‘Drop-down’, which provides the set-up for this post. Along with another term I would prefer everyone stopped using. As you embark o … | Continue reading


@adrianroselli.com | 3 years ago

Using CSS to Enforce Accessibility

I am a big proponent of the First Rule of ARIA (don’t use ARIA). But ARIA brings a lot to the table that HTML does not, such as complex widgets and state information that HTML does not have natively. A lot of that information can be hidden to the average… | Continue reading


@adrianroselli.com | 3 years ago

Multi-Column Sortable Table Experiment

This post expands on what I covered in my April 2021 post, Sortable Table Columns. You may want to read that first to understand the broader challenges and techniques for making a table sortable by one column at a time. That last statement is what matters here. ARIA 1.1 says… | Continue reading


@adrianroselli.com | 3 years ago

Embracing Design Constraints

Form ever follows function. Louis Sullivan Louis Sullivan, the father of the modern skyscraper, espoused this belief throughout his work. He recognized that the purpose of the building, when entering a place with no prior art, had to drive how it would look. With both the technol … | Continue reading


@adrianroselli.com | 3 years ago

XPath for In-Browser Testing

Both Chrome and Firefox support XPath searches when in the DOM view of their dev tools. Because the browser cleans whatever HTML it encounters (closing tags, correcting nesting), XPath can operate on the code as XML. Simple checks like finding a unique ID value can result in mult … | Continue reading


@adrianroselli.com | 3 years ago

Sortable Table Columns

An accessible sortable table is not necessarily the same as a usable sortable table. Outline: Basics Let The User Know This Thing Has Sorted Screen Reader Announcement Sort Arrows Column Background Column Background via Let The User Know This Thing Sorts SVGs Layout Windows High … | Continue reading


@adrianroselli.com | 3 years ago

Under-Engineered Responsive Tables

I have written a bunch about responsive tables. Maybe too much. I keep trying to give developers the information they need to make informed decisions — ARIA attributes, screen reader & browser pairing results, bugs, and so on. I have spread things out over years of posts. I have … | Continue reading


@adrianroselli.com | 3 years ago

What’s New in WCAG 2.2

The latest (and probably last) WCAG version 2 point release is in draft and the W3C is asking for comments and feedback by 18 September 2020 either via GitHub or via email. The new success criteria address cognitive and learning disabilities, mobile devices, and ebooks. Read more … | Continue reading


@adrianroselli.com | 4 years ago

Disclosure Widgets

A disclosure widget is a simple control whose sole purpose is to hide or show stuff. Native HTML has one built in via the

and elements. Until recently, if you wanted to use it in modern browsers you needed to use a polyfill. In most cases it was… | Continue reading


@adrianroselli.com | 4 years ago

Web Sites as ‘Public Accommodation’ Under a Pandemic

When an organization receives an accessibility complaint about its web site, a common defense is that there are physical places available for a customer / constituent / user to complete transactions. With a brick-and-mortar available, the web site is simply an added service and s … | Continue reading


@adrianroselli.com | 4 years ago

Avoid Aria-Roledescription

HTML has all sorts of built-in features that, when used correctly, are accessible, will localize, and which just work. For example, if I want a button, I use

When Is a Vetted Pattern No Longer a Vetted Pattern?

The moment you change it. As soon as you start to tweak the underlying code or aspects of the design, you run the risk of introducing bugs. That part should be easy for any developer to understand. The tougher part to get your arms around is that once you add… | Continue reading


@adrianroselli.com | 4 years ago

I Don’t Care What Google or Apple or Whoever Did

It is not uncommon that I raise an accessibility or usability issue with a client’s design or implementation and am met with either “But Google does this,” or “But Apple does this.” Mostly it is the default response to any issue I raise, but it is far worse when it… | Continue reading


@adrianroselli.com | 4 years ago

Stop Using “Dropdown”

TL;DR: Stop using the word drop-down. Instead choose a term that accurately describes the control you want. I have worked both with native platform developers and web developers. While control names might differ, if a control was functionally the same then it was not an issue. A … | Continue reading


@adrianroselli.com | 4 years ago

Web Development Advent Calendars for 2019

Web developers around the world have celebrated Saturnalia solstice Isaac Newton’s birthday Christmas with advent calendars covering web-related topics. As a result, you may recognize some of the ones listed below. Every year I miss a few on day one, so add a comment or tweet me … | Continue reading


@adrianroselli.com | 4 years ago

Table with Expando Rows

I regularly work on projects with HTML tables that have been pushed to the edge with styles, scripts, and widget features. A common pattern is where rows are hidden until the user opts to show them. Unfortunately, the pattern is often over-complicated with unnecessary script and … | Continue reading


@adrianroselli.com | 5 years ago

So You Think You’ve Built a Good Infinite Scroll

So you’re saying there’s a chance … that I’ll make it to the footer. Last week Derek Featherstone posted Automatic infinite scrolling and accessibility, a quick rundown of why having your page just keep going without user input to do so can be such a hassle for users. Also, don’t … | Continue reading


@adrianroselli.com | 5 years ago

Under-Engineered Toggles

Toggle buttons feel like a favorite way for devs and designers to show off their animation, design, and pun skills. There is even a Codepen collection dedicated to toggles. Other writings on toggle and switch patterns Toggle Buttons by Heydon Pickering, 31 March 2017 Building Inc … | Continue reading


@adrianroselli.com | 5 years ago