Skip to content.
Adrian Roselli
Series A Trained Routine genAI

All Posts Tagged: ARIAbuse

ARIA Grid As an Anti-Pattern

First I will cover what an ARIA grid is per the ARIA specification, and then I will discuss two patterns proposed by the ARIA Authoring Practices. ARIA 1.1 Data Grids Layout Grids As Defined The Provided Examples 1. Simple List of Links 2. Pill List For a List of Message…

Posted:

Tags: accessibility, ARIA, ARIAbuse, rant, standards, UX

Avoid aria-roledescription

HTML has all sorts of built-in features that, when used correctly, are accessible, will localize, and which just work. For example, if I want a button, I use <button>, and a screen reader will announce it as button. For users in other languages, they will hear whatever is their word…

Posted:

Tags: accessibility, ARIA, ARIAbuse, browser, rant, standards, UX

Role-up

transitive verb [ ‘rōl əp ] roled-up, roleing-up, roles-up Definition of role-up To use an ARIA role on an HTML element to change its semantics and/or force it to accept an accessible name (via aria-label, aria-labelledby, or even aria-describedby). To add ARIA roles everywhere without understanding, often via framework or…

Posted:

Tags: accessibility, ARIA, ARIAbuse

My Priority of Methods for Labeling a Control

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…

Posted:

Tags: accessibility, ARIA, ARIAbuse, css, pattern, usability, UX

aria-label Does Not Translate

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…

Posted:

Tags: accessibility, ARIA, ARIAbuse, Chrome, Edge, i18n, L10n

Stop Giving Control Hints to Screen Readers

TL;DR: for standard HTML controls and standard ARIA patterns (widgets), you do not need to add instructions for screen readers on how to use them nor what they are. When a screen reader encounters an element on the page that invites interaction beyond reading, it typically provides users with instructions…

Posted:

Tags: accessibility, ARIA, ARIAbuse, browser, html, standards, WCAG

Basic Custom Control Requirements

If you are working on a custom control, a complex widget, or a novel interface element to integrate into a project, library, or framework, there are some core features you need to build. These represent not just what works for users across the most contexts and preferences, but also what…

Posted:

Tags: accessibility, ARIAbuse, pattern, usability, UX

Uncanny A11y

The pun in the title is that some people pronounce the a11y numeronym as “alley”. That makes the full title sound like uncanny valley, the concept of human-looking things seeming almost, but not quite, human and therefore creepy. In accessibility, the same thing can happen. Developers can try so hard…

Posted:

Tags: accessibility, ARIAbuse, css, html, JavaScript, usability, UX

Don’t Use ARIA Menu Roles for Site Nav

Once again, the advice is in the title of the post. But I will ramble anyway since you scrolled this far. First run with the advice, and then review some background on ARIA and how navigation and menu items are defined. This way you can tap out quickly when it…

Posted:

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

Be Wary of Nesting Roles

As a web developer, you may take it for granted that you cannot nest a hyperlink. I mean, you can nest a hyperlink, but more likely than not you already know how problematic that can be — and not just because the validator will kick that back as an error.…

Posted:

Tags: accessibility, ARIA, ARIAbuse, html, standards, UX