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
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 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
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
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…| Adrian Roselli
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 Contrast Mode Screen Readers…| Adrian Roselli
All Posts Tagged: ARIA| adrianroselli.com
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
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 fields that produce error messages on…| 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
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 for testing or…| 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 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…| Adrian Roselli
Here is the priority I follow when assigning an accessible name to a control: Native HTML techniques, aria-labelledby pointing at existing visible text, Visibly-hidden content that is still in the page, aria-label. Too often folks will grab ARIA first to provide an accessible name for a thing. Or they may…| Adrian Roselli
Remy Sharp asked on the Mastodon about pagination as he found it in the W3C Design System:| 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
The CSS3 logo as a head atop a torso with its arms folded across its chest. 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…| Adrian Roselli
Table of Contents Example The HTML Live Region Button Decoration Accessible Name The Styles Hide the Live Region Color and Contrast Active Animations Text Resize and Reflow Windows High Contrast Mode The Script The Click Event Manipulate Outcomes Screen Reader Output WCAG Success Criteria What This Does Not Do Wrap-up…| 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
As of my 28 January 2024 update at the end of this post, aria-label auto-translation support is seemingly as spotty as when I first wrote this post. It does, actually. Sometimes. One of the big risks of using ARIA to define text content is that it often gets overlooked in…| Adrian Roselli