Skip to content.
Adrian Roselli
AI-Powered Monetization Model CLI

All Posts Tagged: ARIA

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. The accompanying tactile…


Tags: accessibility, ARIA, html, usability, UX

Level-Setting Heading Levels

TL;DR: Avoid setting heading levels greater than six (6). This applies whether using aria-level or the proposed headingstart HTML attribute. Use HTML <h#> elements whenever possible. ARIA The aria-level attribute, when applied to headings (or nodes with the heading role) lets authors set an integer value for a heading level.…


Tags: accessibility, ARIA, Chrome, Firefox, html, Safari, standards, W3C

ARIA `note`

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…


Tags: accessibility, ARIA, standards

Don’t Turn a Table into an ARIA Grid Just for a Clickable Row

Again, title says it all. However, there is an equally bad opposite approach you might be tempted to use, so let me clarify: Don’t use ARIA grid roles simply to make rows clickable in a table, and Don’t put click handlers on table rows (<tr>s) to make them clickable. Step…


Tags: accessibility, ARIA, html, tables, usability

Progressively Enhanced HTML Accordion

Does what it says on the tin. Uses <details> and <summary> 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…


Tags: accessibility, ARIA, css, html, JavaScript, pattern, print, usability, UX

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…


Tags: accessibility, ARIA, rant, standards

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 fields that produce error messages on…


Tags: accessibility, ARIA, browser, html, usability, UX


Using ARIA instead of HTML is generally fine for content, layout, structure, and other static bits of a page. A <div role=”heading” aria-level=”1″> is the same as <h1> as far users and accessibility APIs are concerned. It is unlikely a user will ever notice the difference unless you use both…


Tags: accessibility, ARIA, html, standards, usability, WHCM

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 antique…


Tags: accessibility, ARIA, html, standards, W3C, WAI, WCAG

Brief Note on aria-readonly 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 editable, but is…


Tags: accessibility, ARIA, browser, standards

Brief Note on Dismissing Selects and Listboxen

Native controls can be different from their roled-up ARIA equivalents in a variety of ways. For example, an expanded native HTML <select> on mobile behaves differently when the dismiss gesture is used than when the same gesture is used with an expanded ARIA listbox. Using Android with TalkBack, a down-then-left…


Tags: ARIA, html, mobile, touch, usability, UX

Use Legend and Fieldset

It’s 2022 and people are still afraid to use <fieldset> and <legend>. 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: <fieldset> <legend>Choose</legend> <div aria-hidden=”true”>Choose</div> […] </fieldset> legend:not(:focus):not(:active) { position: absolute; overflow: hidden;…


Tags: accessibility, ARIA, html, standards