Where to Put Focus When Deleting a Thing

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 | 1 year ago

Styling Links and Buttons

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 | 1 year ago

An alt Decision Tree Using Only :has()

I use the CSS :has() pseudo-class to provide an interactive alt text decision tree (from the W3C WAI Tutorial) that uses no script. It is progressively enhanced, so browsers without support for :has() still get all the content. See my post Under-Engineered Dependency Questions if … | Continue reading


@adrianroselli.com | 1 year ago

Progressively Enhanced HTML Accordion

Does what it says on the tin. Uses and with a bit of ARIA to create an accordion that works without JavaScript while working better with JavaScript. Mostly. See the Pen Progressively Enhanced HTML Accordion by Adrian Roselli (@aardrian) on CodePen. Visit the standalone version … | Continue reading


@adrianroselli.com | 1 year ago

Blockquotes in Screen Readers

TL;DR: This post does not assert the correct way to code blockquotes, it will only demonstrate how screen readers announce some existing patterns. Test Details The first four examples are lifted from WHATWG HTML’s entry. The next three are from W3C HTML’s 2019 guidance (the W3C … | Continue reading


@adrianroselli.com | 1 year ago

Under-Engineered Comboboxen?

When I wrote Under-Engineered Text Boxen in 2019 I mentioned (WHATWG, MDN) but did not dwell on it. Partly because support was poor at the time. Once Can I Use’s entry listed Firefox on Android supporting it in version 110, I got excited and started testing to write… | Continue reading


@adrianroselli.com | 1 year ago

No, ‘AI’ Will Not Fix Accessibility

In recent years, a series of new technologies have provided better experiences and outcomes for disabled users. Collectively branded “Artificial Intelligence”, the two biggest breakthroughs have been in computer vision and large language models (LLM). The former, computer vision, … | Continue reading


@adrianroselli.com | 1 year ago

Brief Note on Popovers with Dialogs

This is not a comparison between popovers and dialogs, nor is it a discussion of support. This is me trying to get ahead of a potential issue for users when developers mix and match the patterns. I will let this 32 second video explain: Sorry, your browser doesn’t support embedde … | Continue reading


@adrianroselli.com | 1 year ago

Be Careful Using ‘Menu’

TL;DR: Be careful when using the word menu. Be certain you have chosen the term that accurately describes the control you want. If this post looks familiar to you, that is because it is essentially a redress of my 2020 post Stop Using ‘Drop-down’. It is not as divergent as… | Continue reading


@adrianroselli.com | 1 year ago

#AudioEye Is Suing Me

On Wednesday March 8, 2023, a man who turned out to be a process server came to my house and delivered a stack of papers — a 30 page lawsuit from Akin Gump Strauss Hauer & Feld LLP along with Buffalo-area firm Phillips Lytle LLP, both representing AudioEye, Inc. The… | Continue reading


@adrianroselli.com | 1 year ago

Under-Engineered Patterns for #WCBUF

The slides for my talk are available as a | Continue reading


@adrianroselli.com | 1 year ago

WWW Project Turns 30

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 | 1 year ago

No, APG’s Support Charts Are Not ‘Can I Use’ for ARIA

TL;DR: Despite claims, APG’s support charts are not ARIA support charts and they are not analogous to Can I Use. While brand new and likely to grow, their scope is still strictly APG patterns. Why I Say This I have opinions on the ARIA Authoring Practices Guide (APG). I am… | Continue reading


@adrianroselli.com | 1 year ago

Don’t Override Screen Reader Pronunciation

When many devs, testers, and authors first start listening to content through a screen reader, they are surprised to hear dates, pricing, names, abbreviations, acronyms, etc. announced differently than they expect. With the best of intentions (or branding panic) they may seek to … | Continue reading


@adrianroselli.com | 1 year ago

Exposing Field Errors

This post is about exposing field errors programmatically. I have already shared some opinions (such as a caution about displaying messages below fields or avoiding default browser field validation), but this post dives into using ARIA to convey them to screen reader users. With … | Continue reading


@adrianroselli.com | 1 year ago

CSS-only Widgets Are Inaccessible

Usually. I originally titled this InacCSS-onlyible. I even made this typographically, er, distinct image. Then I realized it was silly and will instead use the neologism in a talk so I can hear the groans IRL. Interactive widgets powered with only CSS are relatively common as peo … | Continue reading


@adrianroselli.com | 1 year ago

#AudioEye Will Get You Sued

This post was written in early 2022 and sat in a corner of my site, hidden from the world, after AudioEye sent me a legal threat over a handful of tweets in April 2022. I opted not to poke this well-funded bully as a self-employed consultant. As such, the videos… | Continue reading


@adrianroselli.com | 1 year ago

ARIA vs HTML

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 | 1 year ago

Avoid Spanning Table Headers

Spanned table headers are not well supported across screen readers. While you can visually style these all sorts of ways to make the spanning clear, I am focusing on the programmatic outcomes. Which essentially means how they are exposed to screen reader users. This post uses onl … | Continue reading


@adrianroselli.com | 1 year ago

Comparing Manual and Free Automated WCAG Reviews

Automated accessibility testing tools cannot test 100% of WCAG. This position is not controversial. Other than overlay vendors, no automated tool maker makes that claim. This is partly because WCAG is targeted at humans, not code, and so nuance and context apply. Free automated a … | Continue reading


@adrianroselli.com | 1 year ago

AI-Generated Images from AI-Generated Prompts

As the world’s leading expert on a people-first approach to computer vision, I am dedicated to providing insights that enable designers, developers, and copywriters to create accessible images at the highest possible velocity. A velocity so high, in fact, you can almost hear the … | Continue reading


@adrianroselli.com | 1 year ago

JAWS, NVDA, and VoiceOver Braille Viewers

First, a very important qualifier — this does not represent how Braille display users experience the web. All this post does is show how to enable the Braille display emulators in JAWS and VoiceOver. This can be handy when testing issues reported by users and you do not have a… | Continue reading


@adrianroselli.com | 1 year ago

The 411 on 4.1.1

There is a non-zero chance that WCAG Success Criterion 4.1.1 Parsing will go away in WCAG 2.2. This isn’t a problem for users, regardless of the problems it may pose for the WCAG process, ACT rules, automated testing tools, or ossified testing processes. The joke here is using an … | Continue reading


@adrianroselli.com | 1 year ago

Brief Note on Description List Support

TL;DR: Description list support is generally good (with Safari being the outlier), even if you may not like how it is supported. This post builds on my 2020 tests when iOS 14 finally added (partial) support for description lists (VoiceOver on iOS 14 Supports Description Lists). T … | Continue reading


@adrianroselli.com | 1 year ago

Web Development Advent Calendars for 2022

It’s a dice advent calendar. I have no idea how five Platonic Solids and some D10s will carry for 24 days, but I am going to fine out. Web developers around the world have for years given a nod to Saturnalia solstice Isaac Newton’s birthday Yule wassailing mummering end of… | Continue reading


@adrianroselli.com | 1 year ago

Brief Note on aria-required Support

TL;DR: Support for aria-readonly is nearly non-existent for the roles I tested. Should you need it, you cannot rely on it. You will be better off revising the pattern where you think you need it. For some background, the aria-readonly property: Indicates that the element is not e … | Continue reading


@adrianroselli.com | 2 years ago

Your Accessibility Claims Are Wrong, Unless…

Now that it is a market differentiator to talk about accessibility in projects, that’s all many do — talk about it. In a sea of pop-dev noise, “accessibility” can be claimed with little risk someone will challenge it. If someone does, the response is often a fine balance between … | Continue reading


@adrianroselli.com | 2 years ago

Accessibility ‘Gaps’ in MVPs

“Tires are foundational to all our concept cars! You can tell because we left a wheel well to hold one!” A common refrain I see from companies is a variation of “Accessibility is a core principle!” They will include it in messaging, brag about their team, talk about how great… | Continue reading


@adrianroselli.com | 2 years ago

Overlays Underwhelm at WordPress A11y Day

I presented this talk for the 2022 installment of WordPress Accessibility Day, a model very much influenced by the ID24 event — 24 hours solid of online talks. Once the video is posted I will link and/or embed it here. The rest of this post is a collection of images,… | Continue reading


@adrianroselli.com | 2 years ago

Under-Engineered Patterns for #a11yTOconf

The slides for my talk are available as a | Continue reading


@adrianroselli.com | 2 years ago

role=dice for #a11yTOgaming

I had the pleasure / terror of presenting a table-top RPG presentation at this year’s accessibility Toronto gaming (#a11yTOgaming) event. My 0riginal PowerPoint presentation, which includes my speaker notes / ignored script as well as the videos (79MB). Or grab the much smaller v … | Continue reading


@adrianroselli.com | 2 years ago

Overlays Underwhelm at ID24

Owing to a last minute cancellation, I had the pleasure of presenting at Inclusive Design 24, a live streaming 24-hour solid conference. In the interest of full disclosure, I am also an organizer and a sponsor. I had to step away from hosting duties to give the talk and then… | Continue reading


@adrianroselli.com | 2 years ago

Brief Note on Super- and Subscript text

Thanks to a conversation on the A11y Slack, I ran desktop browsers and screen readers through a test to see how they announce content marked up as superscript and subscript. I spun up an old demo from mid-2018 for a quick test: See the Pen HTML Buddies: sub & sup… | Continue reading


@adrianroselli.com | 2 years ago

‘Accessibility at the Edge’ W3C CG Is an Overlay Smoke Screen

Another post where I lay it all out in the title. What follows is why I am making this assertion (with a handy table of contents). Timeline 26 May 2022 at 10:58am ET 26 May 2022 at 7:56pm ET 27 May 2022 at 7:38pm ET 28 May 2022 at 5:04pm… | Continue reading


@adrianroselli.com | 2 years ago

Conveying All-Caps Legal Text

I need your help. Legal documents are common on the web. Each site that has a Terms of Service written in impenetrable and indecipherable legalese, like this sentence, delights in that complexity to dissuade users from reading it and realizing just what they are giving up. “Am”, … | Continue reading


@adrianroselli.com | 2 years ago

FTC, Commercial Surveillance, and Overlays

The U.S. Federal Trade Commission on August 11, 2022 announced it is exploring rules cracking down on commercial surveillance and lax data security practices. The sub-heading of that press release plainly states it is seeking public comment on harms from the business of collectin … | Continue reading


@adrianroselli.com | 2 years ago

Brief Note on Calendar Tables

If you build calendars on the web and abbreviate the days in the column headings (you do use column headings, yeah?), this is how it sounds to a JAWS user. Sorry, your browser doesn’t support embedded videos, but don’t worry, you can download it. The caption file is also availabl … | Continue reading


@adrianroselli.com | 2 years ago

AI-Generated Images from AI-Generated Alt Text

Dear sighted reader, I want you to read this post without looking at the images. Each has been hidden in a disclosure. Instead, read the alternative text I provide and visualize how it may look. Then read the automatically generated alternative text, and try to visualize it then. … | Continue reading


@adrianroselli.com | 2 years ago

Irrational Headings

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

Brief Note on Dismissing Selects and Listboxen

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

What Does X% of Issues Mean?

I ran a highly scientific and well-scoped Twitter poll (yes, sarcasm) to ask a question that has been in the back of my head for some time: When you see a claim that an automated accessibility testing tool finds X% of issues, what do you believe the word ‘issues’ means… | Continue reading


@adrianroselli.com | 2 years ago

It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility via Display Properties

It was late 2020 when I last tested how browsers use CSS display properties to break the semantics of elements. I had been waiting for Safari to fix how it handles display: contents for four years now, and was excited when the announcement came in June. Then I started testing… | Continue reading


@adrianroselli.com | 2 years ago

Use Legend and Fieldset

It’s 2022 and people are still afraid to use and . I understand the layout challenges can be frustrating, but swapping to an ARIA group role will result in a more inaccessible experience. A Solution Try this: Choose Choose […] legend:not(:focus):not(:active) { position: absolu … | Continue reading


@adrianroselli.com | 2 years ago

Internet Explorer Still Does Not Go Away Today

At the start of 2016 I wrote Internet Explorer Does Not Go Away Today because back then IE up to version 11 was being retired. But not Internet Explorer 11. I asked an AI (Neural Blender) to give me a picture of the Internet Explorer logo on fire. It’s almost… | Continue reading


@adrianroselli.com | 2 years ago

Keyboard-Only Scrolling Areas

I have spent a few years banging on about ensuring scrolling areas on a page are accessible to keyboard-only users. This is partly because the term “keyboard” maps to other input types that we distill to “keyboard” for ease of reference (speech input, sip-and-puff, on-screen keyb … | Continue reading


@adrianroselli.com | 2 years ago

The Performative A11yship of #GAAD

For context on the title, working backward from the end, GAAD is Global Accessibility Awareness Day. Its purpose, as explained at accessibility.day, is to get everyone talking, thinking and learning about digital access/inclusion and people with different disabilities. A11yship i … | Continue reading


@adrianroselli.com | 2 years ago

24×24 Pixel Cursor Bookmarklet

The proposed WCAG version 2.2 has gone through a bunch of revisions since I covered the first draft in 2020. One new success criterion that persisted is 2.5.8 Target Size (Minimum) at Level AA (its name changed from “Pointer Target Spacing”). For background, WCAG 2.1 introduced 2 … | Continue reading


@adrianroselli.com | 2 years ago

A “Best viewed with…” Gag

I made some pointless things again. The First One See the Pen Best viewed in… by Adrian Roselli (@aardrian) on CodePen. A spinning box for each word is not exactly a compelling interface element, I admit, but I based it off this old tweet that was sitting around in a… | Continue reading


@adrianroselli.com | 2 years ago