Shopify Needs a Mirrorfy

Shopify is legitimately angry at drive-by ADA lawsuits, as outlined in its recent post The small business shakedown: Why thousands of entrepreneurs are getting buried in lawsuits. Like thousands of small business owners across the United States, Clay*, an online store owner, was … | Continue reading


@adrianroselli.com | 6 days ago

OpenAI, ARIA, and SEO: Making the Web Worse

OpenAI has announced it’s launched a new browser, Atlas, with ChatGPT built in. For those familiar with ARIA, OpenAI outlines what to expect (I left the code as I found it, other than removing the target): We’ll continue to make Atlas better, and our roadmap includes multi-profil … | Continue reading


@adrianroselli.com | 18 days ago

Talkin’ Tables at A11yTO Conf

Abstract for my session Talkin’ Tables, which I presented in place of another speaker who had to back out the day before: This session will walk through the basics of how to construct an HTML table. More than basic structure, it will talk about support and how it is exposed… | Continue reading


@adrianroselli.com | 24 days ago

Custom Carets and Users: When The Caret Is No Longer a Stick (Yes, That’s a Poor Attempt at a Pun)

Animated example First, let’s define caret. For the scope of this post, I am not talking about the ^ symbol, which evolved from the circumflex. I’m also not talking about the proofreader mark, sometimes rendered as ‸, ⁁, or ⎀. I am talking about the navigation symbol (or insertio … | Continue reading


@adrianroselli.com | 1 month ago

My Thoughts on the State of Surveys

Every few months there’s another State of Something survey. As of this week, the State of CSS 2025 survey results have just become available and the State of HTML 2025 survey is wrapping up. This post is skewed to those, touches on more, and is rather disjointed. “2012 Oregon Cit … | Continue reading


@adrianroselli.com | 2 months ago

1.2.5: Adversarial Conformance

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 3 months ago

Horizontal Scrolling Containers Are Not a Content Strategy

I should clarify that I am not talking about carousels. That said, because users often consider horizontal scrolling containers to be carousels, I will be talking about carousels. Also, this post is written by a monolingual American. While I discuss localization issues, there’s n … | Continue reading


@adrianroselli.com | 3 months ago

#ARTY Could Get You Sued

I can’t actually assert the ARTY overlay will result in a lawsuit, though there is a trend of overlays attracting lawsuits. Attorneys say overlays don’t protect from lawsuits, either. Regardless of the company making it, if you wonder if you should use an accessibility overlay, t … | Continue reading


@adrianroselli.com | 3 months ago

#Accesstive Will Get You Sued

I can’t actually assert the Accesstive overlay will result in a lawsuit, though there is a trend of overlays attracting lawsuits. Attorneys say overlays don’t protect from lawsuits, either. Regardless of the company making it, if you wonder if you should use an accessibility over … | Continue reading


@adrianroselli.com | 4 months ago

Check / Uncheck all in a Table

TL;DR: Unless you have user testing results saying otherwise, maybe put a check-all checkbox outside the table. The rest of this post is an awkward mash-up of my posts Don’t Turn a Table into an ARIA Grid Just for a Clickable Row and Check-All / Expand-All Controls with a little… | Continue reading


@adrianroselli.com | 4 months ago

Where to Put Focus When Opening a Modal Dialog

TL;DR: blanket statements about where to put focus when opening a modal dialog are wrong, including this one. This post is meant to help guide you, an intelligent and thoughtful and empathetic reader, figure out where you should set focus. The scenarios are non-exhaustive. Messag … | Continue reading


@adrianroselli.com | 5 months ago

My Request to Google on Accessibility

Hey, Alphabet or Google or Chrome or whomever in that illegal monopoly continues to release things to the web platform that are full of accessibility barriers, I have what I think is a straightforward request. My Request Please, if your team cannot explain how the thing satisfies … | Continue reading


@adrianroselli.com | 5 months ago

Talkin’ Tables @ AccessU

Abstract for my session Talkin’ Tables: This session will walk through the basics of how to construct an HTML table. More than basic structure, it will talk about support and how it is exposed to screen readers in particular. With that foundation it will walk through patterns for … | Continue reading


@adrianroselli.com | 6 months ago

Selfish Accessibility 2025 @ AccessU

Abstract for my talk Selfish Accessibility: 2025: More than 10 years ago I presented my talk “Selfish Accessibility,” a tongue-in-cheek discussion of how to quietly approach accessibility efforts by appealing to the bosses, clients, and vendors who otherwise might not care about … | Continue reading


@adrianroselli.com | 6 months ago

Do Not Publish Your Designs on the Web with Figma Sites…

…Unless you want to fail all the WCAGs, create litigation risk, close off opportunities in Europe, engage in reputational harm, and oh yeah, throw up barriers to your customers and users. What am I talking about? Figma announced Figma Sites, letting you publish your Figma designs … | Continue reading


@adrianroselli.com | 6 months ago

Automated WCAG Testing Is Grrreat!

I’m a big fan of using automation in WCAG testing. I use bookmarklets, dev tools, browser features & reporting, and a pile of third-party products from assorted vendors. These save me time and effort, letting me focus on more tricky cases. But… Unfortunately, the marketing machin … | Continue reading


@adrianroselli.com | 7 months ago

Tweaking Text Level Styles, Reprised

In 2017 I wrote Tweaking Text Level Styles (terrible name in retrospect) and I made regular updates over the years. Stop reading it. Remove it from your bookmarks. Unlink it from your posts. Print it onto paper and then burn it. Demo Wrap-up The conclusions and… | Continue reading


@adrianroselli.com | 7 months ago

Mainlining Mains

Sometimes you run into a main landmark where you don’t expect one. Like Main Street USA in Hong Kong Disney. So you grab a snack in a diner that serves no hot dogs. You can buy little American flags in the heart of Hong Kong and clothes telling Hong Kong… | Continue reading


@adrianroselli.com | 7 months ago

Tag, You’re It

Eric tagged me into this chain letter of a post. From what I can glean, you are supposed to steal the headings and treat them as questions. Why did you start blogging in the first place? Three key reasons: So I wouldn’t have to keep repeating myself; to act as… | Continue reading


@adrianroselli.com | 7 months ago

CSUNATC 2025 Recap

This post only covers my impressions and experiences from CSUNATC. Others probably had dramatically different experiences. Talk Types The talks seemed to fall into three broad categories this year: product pitches, vendor room sessions (which were product and service pitches), an … | Continue reading


@adrianroselli.com | 7 months ago

Don’t Use Fake Bold or Italic in Social Media

I posted something on Mastodon that uses Unicode math symbols to produce fake bold and fake italic text. I used YayText.com to generate it, but I am not linking it because you I don’t want you to use it. I embedded the post, but you can go to it directly… | Continue reading


@adrianroselli.com | 8 months ago

Be Wary of Accessibility Guarantees from Anyone

TL;DR: anyone promising you that a total solution to digital accessibility is coming, and they are the ones bringing it, may be lying. Background In 2016 I wrote Be Wary of Accessibility Guarantees from Vendors. At the time I was cautioning readers about libraries and frameworks … | Continue reading


@adrianroselli.com | 8 months ago

1.4.10: Adversarial Conformance

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 8 months ago

Generic LLM Chatbot Attestation

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 8 months ago

Which VoiceOver?

You may have seen this as a thread on Mastodon (my primary social short-form platform) or on BlueSky. Imagine these as the opening to a series of conversations between a vendor or client or boss or PO or whomever and me. Variations on Real Life Conversations “We like the way… | Continue reading


@adrianroselli.com | 9 months ago

Don’t Wrap Figure in a Link

In my post Brief Note on Figure and Figcaption Support I demonstrate how, when encountering a figure with a screen reader, you won’t hear everything announced at once: No screen reader combo treats the caption as the accessible name nor accessible description, not even for an ima … | Continue reading


@adrianroselli.com | 9 months ago

aria-description Does Not Translate

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 10 months ago

Brief Note on Figure and Figcaption Support

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 10 months ago

FTC Catches up to #accessiBe

From the FTC on Friday: The Federal Trade Commission will require software provider accessiBe to pay $1 million to settle allegations that it misrepresented the ability of its AI-powered web accessibility tool to make any website compliant with the Web Content Accessibility Guide … | Continue reading


@adrianroselli.com | 10 months ago

Updated Brief Note on Description List Support

TL;DR: Description list support continues to be generally good (with VoiceOver still the outlier), even if you may not like how it is supported. For background, the has existed since HTML+, or 1993, when it was called definition list. In December 2022 I wrote Brief Note on Descr … | Continue reading


@adrianroselli.com | 10 months ago

Development Advent Calendars for 2024

I got myself a coffee advent calendar and I have to admit it was more aspirational than anything. I don’t drink enough coffee. But the packaging is nice. Web developers around the world have for years given a nod to Saturnalia solstice Isaac Newton’s birthday Yule wassailing mumm … | Continue reading


@adrianroselli.com | 11 months ago

Avoid Read-only Controls

It’s weird to me that after I urged everyone not to disable form controls, a bunch of them decided that making them read-only was somehow better. But here we are. What’s in the box? Photo by Michael Heiss, no edits, CC BY-NC-SA 2.0. HTML The readonly attribute is only allowed… | Continue reading


@adrianroselli.com | 11 months ago

A11y Camp: Keynote Slides

Download a 3.6MB tagged PDF of my slides or try the embedded view if your browser displays PDF inline. The text in the slides is set in Atkinson Hyperlegible. The PDF is exported from PowerPoint, after confirming reading order and alternative text. The PDF itself has had no editi … | Continue reading


@adrianroselli.com | 1 year ago

Brief Note on Disclosures in Fieldsets

TL;DR: Probably don’t use disclosure widgets in fieldsets. If you do it anyway, don’t put the trigger in the . Context With / , recent support for the popover attribute, and the never-ending belief that a “clean” page means hiding content, there is a resurgence in stuffing usefu … | Continue reading


@adrianroselli.com | 1 year ago

Under-Engineered Estimated Reading Time Feature

There are plenty of plug-ins, libraries, and tutorials that will add an “estimated reading time” visual cue to your site. There are also browser extensions for users. Most use JavaScript and CSS to calculate based on word count and viewport position. All require more work on the … | Continue reading


@adrianroselli.com | 1 year ago

Semi-Annual Reminder to Learn and Hire for Web Standards

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 1 year ago

Mountain Chicken!

I am mis-using closed captions for a gag. The following video has an audio track and four sets of captions (for now?). Each set of captions is in English. Only one set of captions represents the spoken dialog, the other two represent dialog not in the video. The tracks are… | Continue reading


@adrianroselli.com | 1 year ago

Talkin’ Tables — WebAIM Conference 2024

I spoke at the 2024 Web Accessibility in Mind Conference (in partnership with PopeTech). As soon as the video is available I will embed it. This post is a stub to hold the slides during my talk and will be updated sometime within a few days after my talk with… | Continue reading


@adrianroselli.com | 1 year ago

Before Filing that Keyboard Bug…

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 1 year ago

Things to Do Before Asking “Is This Accessible?”

It is not uncommon for someone to message, call, email, or carrier pigeon me to ask if something is accessible. They almost invariably want a “yes” or “no.” However, I need to understand what the heck they mean and what the other-heck prompted them to ask. Yes, I would be… | Continue reading


@adrianroselli.com | 1 year ago

AT Is More Than Screen Readers

A screen reader is a single element of the overall set of assistive technologies. In practice, however, each is often used as a metonym for the other. Well, hello there. It’s nice to see you. If you’re here because I sent you the link, it’s nothing personal. You’re a lovely… | Continue reading


@adrianroselli.com | 1 year ago

Don’t Use Web•dev for Accessibility Info

Web.dev is a site from Google Chrome developer relations that provides content both to evangelize Chrome and to more broadly support the web platform. Rachel Andrew’s monthly “new to the platform” posts are effectively required reading to try to stay abreast of the browser suppor … | Continue reading


@adrianroselli.com | 1 year ago

Feedback on a Pagination Pattern

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 1 year ago

Be Careful Using ‘Grid’

TL;DR: Be careful when using the word grid on its own. Be certain you have chosen the term that accurately describes the pattern you want. If this post looks familiar to you, that is because it is essentially a redress of my 2023 post Be Careful Using ‘Menu’. It is… | Continue reading


@adrianroselli.com | 1 year ago

Disability:IN 2024 Agenda Bookmarklet

I had some issues using the Disability:IN 2024 Conference Agenda so I made a bookmarklet: 🔗 Fix Disability:IN Agenda You may have seen this originally posted as a CodePen, but I opted to move it here since I can embed videos showing a before-and-after experience. Fixes Re … | Continue reading


@adrianroselli.com | 1 year ago

YouTube and Vimeo Web Component

If you want something done right, post it wrong. In the long history of the innertubes, if you ask for help with code you typically won’t get much of a response. But if you post code and assert it is ideal and perfect and an immutable reflection of your pristine… | Continue reading


@adrianroselli.com | 1 year ago

Maybe Don’t Name That Landmark

TL;DR: You probably don’t need to name that landmark. The Ngong Ping Village tourist trap on Hong Kong’s Lantau Island. All the pricey tourist spots have visible named landmarks on the map, but the ones people generally care about (bathrooms, food, that lovely tea house) are not. … | Continue reading


@adrianroselli.com | 1 year ago

My Approach to Alt Text

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 period of time. You can see all the RSS-only posts at AdrianRoselli.com/category/RSS. Tell your frie … | Continue reading


@adrianroselli.com | 1 year ago