Is this really true? Messaging like this will cause a lot of developers to just give up. Most places I've worked at did accessibility at best as a best effort sort of thing. After reading this, there will be no attempts made to improve the state of affairs.
Perhaps that will be an improvement? I don't know.
Let’s give a concrete and catastrophic example of something I’ve seen in the wild in a professional product. A developer there had obviously seen the application role[1] in the ARIA specs, thought “I’m building a web app”, and added it to their html element.
What role="application" means to assistive tech is: “I’m building a really complex application, so I’m going to handle absolutely everything for you, I don’t want you to have any default behaviour.” This meant that the web app in question was 100% unusable for any people using assistive technology, as that was broadly as far as they’d got with accessibility support.
That does seem catastrophically misguided. I’m more curious about the more common case where tags are used as documented (and I really wish the documentation was better), but perhaps not completely. For instance we have a Finder like UI in our web app that conceptually is a treegrid, but we don’t support all of the keyboard interactions advised at the above website.
Stories like this make me wonder if we could build a Chrome extension with a collection of crowd-sourced site-specific accessibility tweaks. Things like removing that bad ARIA tag or bodging in proper labels or tabindexes. It wouldn't be perfect, but neither is AdBlock and it offers a lot of benefit.
ARIA is often a compensating technology more than a primary solution. I try to not use ARIA in my own code aside from the role attribute. I instead rely on the clear navigation and order HTML content and events as my primary solutions.
This adage has been "the first rule of ARIA" since the beginning.
There are a few ARIA "widgets" that have no HTML equivalent, such as Tabs or a spreadsheet-like Grid. Those are heavily documented so you can basically copy and paste whenever you need them.
Avoiding sprinkling ARIA on already-semantic HTML, because this can lead to confusing or inconsistent behaviors for the end user.
robin_reala|2 months ago
What role="application" means to assistive tech is: “I’m building a really complex application, so I’m going to handle absolutely everything for you, I don’t want you to have any default behaviour.” This meant that the web app in question was 100% unusable for any people using assistive technology, as that was broadly as far as they’d got with accessibility support.
[1] https://developer.mozilla.org/en-US/docs/Web/Accessibility/A...
gampleman|2 months ago
Should we remove the role attributes?
tdeck|2 months ago
austin-cheney|2 months ago
no_wizard|2 months ago
askew|2 months ago
nabla9|2 months ago
If you are developer, just write semantically clear HTML instead. Just doing something is worse than doing nothing in accessibility.
pickpuck|2 months ago
There are a few ARIA "widgets" that have no HTML equivalent, such as Tabs or a spreadsheet-like Grid. Those are heavily documented so you can basically copy and paste whenever you need them.
Avoiding sprinkling ARIA on already-semantic HTML, because this can lead to confusing or inconsistent behaviors for the end user.