As of December 2024, you should prefer using for icons and the like, but for non-interactive decorative contexts that don’t need auto-translation, then alternative text on CSS generated content can get the job done. Even if Safari does some interesting things with it. Relying on images that come from…| Adrian Roselli
Nine years ago I had become fed up with trying to explain to clients, users, friends, co-workers, and strangers that screen resolution, browser chrome, and browser size combine to create some unique viewport sizes. What this meant was that whether a user had a display at 640×480 or at 1,024×768…| Adrian Roselli
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…| Adrian Roselli
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 you, an intelligent and thoughtful and empathetic reader, figure out where you should set focus. The scenarios are non-exhaustive. Messages I’m artificially breaking these into three…| Adrian Roselli
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…| Adrian Roselli
Since the early days of the web, when images could be floated and text would wrap around them, designers have wanted to bring drop caps onto the web. Then we learned how terrible a pattern like atthew is for users, and CSS introduced :first-letter, letting us believe all…| Adrian Roselli
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…| Adrian Roselli
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 useful content…| Adrian Roselli
Susan Weinschenk, Ph.D. wanted to write an article about why it’s harder to read text set in all-caps than text set as mixed case. The argument for this has centered around how people read words — recognizing a word shape from its letters, whereas an all-caps word has no unique…| Adrian Roselli
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…| Adrian Roselli
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. The content reflects my genuinely held beliefs and opinions. My concern with AudioEye has consistently been with the…| Adrian Roselli
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 and SaaS and so…| Adrian Roselli
There is a very good article over at A List Apart today titled “The Myth of Usability Testing.” The article starts off with an example of how multiple usability evaluation teams, given the same task and allowed to run at it as they saw fit, had far less overlap in…| Adrian Roselli
TL;DR: Keep your image alternative text brief, devoid of special characters, empty of URLs, and ideally in one language. Here We Go Sometimes you can have too much alternative text, particularly for an . I don’t mean there is a limit to what is allowed, I mean there is a…| Adrian Roselli
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 embedded…| Adrian Roselli
Yes, that is the bear from Jakob’s clearly spurious alternative text example and yes, that is The Fonz after jumping the shark. If you have been following the saga of Jakob Nielsen, there a few quotes I could use here: Battle not with monsters, lest ye become a monster (Nietzsche).…| Adrian Roselli
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 keyboards, scanning software, etc.). When…| Adrian Roselli
A rambling collection of thoughts from reading through the WebAIM Screen Reader User Survey #10 Results. Most of this was in a Masto thread, but I opted to post it here so I can laugh at myself later. Disability This opening nugget is important for understanding some of my commentary:…| Adrian Roselli
Underlines, the standard, built-in signifier of hyperlinks, the core feature of the web, are beautiful. This is objectively true. They are aesthetically one of the most delightful visual design elements ever created. They represent the ideal of a democratized information system. They are a frail monument to the worldwide reach…| Adrian Roselli