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
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…| Adrian Roselli
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 image that lacks one.…| Adrian Roselli
When Rian Rietveld resigned from the WordPress accessibility team on October 9, I decided to track the fallout in an ongoing Twitter thread. The subsequent weeks and days proved to be wonderful insight into how a project can suffer when accessibility is not built in from the start. When subject…| Adrian Roselli
I made a demo for WCAG 2.2 Success Criterion 1.2.5 Audio Description (Prerecorded) AA and have embedded it further down the page. It’s a bit of a download, so either ignore it, be patient, or steal wifi from your local chain restaurant. Conformance Success Criterion 1.2.5 Audio Description (Prerecorded) AA…| 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
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…| Adrian Roselli
WCAG 2.2 is live. Read the W3C’s What’s New in WCAG 2.2 to know what from this wildly outdated post made it into the final spec. The latest (and probably last) WCAG version 2 point release is in draft and the W3C is asking for comments and feedback by 18…| 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
I am not going to dive into the details of and . Go read Scott’s 2019 post How do you figure? for an overview. That said, since Scott’s post there has been movement on the AAPI mapping (partly by Scott). Specifically, the element should not provide the accName…| 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
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…| 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
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: ChooseChoose […] legend:not(:focus):not(:active) { position: absolute; overflow: hidden;…| Adrian Roselli
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 to put this together so I maybe never…| Adrian Roselli
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 HTML spec…| Adrian Roselli
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 Lucien (cropped). CC BY 2.0.…| Adrian Roselli
At the site Rebuilding the Web there is plenty of content questioning the current process and chaos around HTML5 and related specs. A piece that drew my attention echoes the dust-ups I have had over HTML5 (and XHTML2) and whether it’s a good idea to push it so hard when…| Adrian Roselli
Many of us have been following the ongoing progress of HTML5 for some time now, alternately curious and confused by the nascent specification. Comics like the one above (from the CSSquirrel site) demonstrate the frustration many web professionals are feeling with the mixed messages they think they see from the…| Adrian Roselli
This article was originally posted on evolt.org, an online resource for web developers, maintained by web developers. I have granted evolt.org the right to use this article on their web site, and they are the only entity with the right to reproduce it. WebAIM is a non-profit organization within the…| Adrian Roselli
Microsoft revealed some first details of Internet Explorer 9 at the Microsoft Professional Developer’s Conference, as reported by Mashable today. Only in development for three weeks, there’s still quite a lot of time before it gets to market. According to Mashable, Microsoft did have the following to say:On HTML 5:…| Adrian Roselli
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 Description List…| Adrian Roselli
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 filed…| Adrian Roselli
It’s been three months since evolt.org rolled out its new design. People have been asking what we did, why we did it, and how we did it. I’ll try to address these questions in the context of the HTML, the CSS, and the overall site design. (Nobody seems to care…| Adrian Roselli
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…| Adrian Roselli
Using ARIA instead of HTML is generally fine for content, layout, structure, and other static bits of a page. A is the same as as far users and accessibility APIs are concerned. It is unlikely a user will ever notice the difference unless you use both…| Adrian Roselli
I made a demo for WCAG 2.2 Success Criterion 2.4.11 Focus Not Obscured (Minimum). I built it strictly to capture screenshots, so while it is not a good demo as a standalone (which is why it is not embedded here I added it) it is handy to demonstrate something. Conformance…| Adrian Roselli
All Posts Tagged: standards| adrianroselli.com
3 January 2025: This post is out of date. Read my post Updated Brief Note on Description List Support for the most recent results of testing. 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…| Adrian Roselli
This article was originally posted on evolt.org, an online resource for web developers, maintained by web developers. I have granted evolt.org the right to use this article on their web site, and they are the only entity with the right to reproduce it. By now everyone has had the opportunity…| Adrian Roselli
Alex Russell wrote a four-part series a couple weeks ago arguing that modern JavaScript-first framework-focused front-end development is costing the industry and users. Part of his conclusion for organizations: Never, ever hire for JavaScript framework skills. Instead, interview and hire only for fundamentals like web standards, accessibility, modern CSS, semantic…| Adrian Roselli
I made a demo for WCAG 2.2 Success Criterion 2.5.8 Target Size (Minimum) AA and have embedded it further down the page. Unfortunately it is going to be annoying for you, dear reader, as it steals focus. Conformance Success Criterion 2.5.8 Target Size (Minimum) AA with only the first two…| Adrian Roselli
Remy Sharp asked on the Mastodon about pagination as he found it in the W3C Design System:| Adrian Roselli
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 Removes empty trigger link…| Adrian Roselli
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…| 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
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 accessibility testing tools may have even…| Adrian Roselli
Trying Markdown code indicators in my post title, not because I want it to convert, but because I am curious if people will ping me to tell me it broke their RSS readers. Oh, and so it converts to code when pasted into your GitHub issues. ARIA note Role A…| Adrian Roselli
AudioEye has dropped its lawsuit against me as part of a settlement agreement. The specific legal details are at the end of this post. Index for this post: Joint Statement Impact, Abridged SLAPP Everybody Lost Legal Details Wrap-up Related CAO Hire: 8 February 2024 Talk References (Added 7 July 2024)…| Adrian Roselli
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 on a design,…| Adrian Roselli
This post supplements Browser Video Players Review. There I wade into the de facto accessibility of the element based on the default video players provided by browsers. The results of my testing here update the tables in that post. One of the primary challenges of using the browsers’ default…| Adrian Roselli
Before you get too far into this post, maybe read Browser Video Players Review. There I wade into the accessibility of the element based on the video players browsers provide. Then maybe read Scott Jehl’s How to Use Responsive HTML Video (…and Audio!). I am leaning on support in…| Adrian Roselli
Once major browsers started supporting & developers immediately started to play with them to see what sorts of patterns they could enhance or replace. This is a good thing. Experimentation pushes boundaries, improves understanding. However, we need to be careful of christening this new-to-us interaction as the solution…| Adrian Roselli
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…| Adrian Roselli
The Test Page The Code Testing Results Keyboard Screen Readers Voice Control, Forced Colors, Speed Media Queries: 20 December 2023 Audio Description: 20 December 2023 Wrap-up Browsers each provide built-in video players for the element. Nearly four years ago Scott Vinkle wrote How accessible is the HTML video player?,…| Adrian Roselli
Disclaimer: This post and the headline is my opinion. I provide facts throughout to inform that opinion. I say this because accessiBe managed to get $40 million in two rounds of funding from K1 Capital and I am guessing some of that money will be allocated to attorney fees. I…| Adrian Roselli