Hacker News new | ask | show | jobs
by robin_reala 1595 days ago
Yeah, a UI toolkit that doesn’t have even basic accessibility bindings is basically illegal to use for commercial products in multiple major countries now. No specific shame on Slint (everyone has their own roadmaps) but when even big companies are failing* in this way it does seem like we’ve got a long way to go as an industry.

* Flutter has no accessibility bindings on the web and therefore falls under the same “illegal” category.

3 comments

I’m surprised by how much progress we’ve made in this area. I used to make android apps circa 2013-15. Accessibility was an afterthought, a nice to have.

Reading the SwiftUI docs in 2022, it’s front and centre. They tutorial covers accessibility soon after “hello world”. Every module of the tutorial has a section on setting the right accessibility info, rather than a single, optional accessibility tutorial. It makes me happy that doing the right thing is the default.

I’m planning on making a small productivity app just for myself, but it’ll be 100% accessible simply because they’ve made it so easy.

Integrating accessibility into the tutorial is fantastic, but I’d also attribute it to Apple emphasizing accessibility in their developer documentation for a long time. I remember one of the early Interface Builder tutorials explaining accessibility pretty early on.
I wouldn’t attribute this to progress. iOS and macOS have always heavily prioritized accessibility. For Google, you can see in this example and in the flutter example that accessibility is an after thought.
The last time I spoke to a blind person it was quite a different picture, she was more or less forced to exclusively use apple products because nobody else took accessibility seriously enough.
> a UI toolkit that doesn’t have even basic accessibility bindings is basically illegal to use for commercial products in multiple major countries now

Any sources for that? I've never seen such a claim outside of Hacker News. A quick Google search i did about it only shows some court cases in U.S. (and in those cases it seems to be up to the judge with many failing). The closest is a requirement from EU in 2018 that web sites by the member states' government (ie. it is only for government web sites) has to be accessible. That makes sense, but it only covers government web sites specifically, not any other use for a toolkit (e.g. desktop apps) or even private sites.

Sure.

In the US is the ADA which stipulates “reasonable accomodations” to be made for users with disabilities. You could argue that providing e.g. a phone system as an alternative helps to satisfy this, but it’s debatable, and has been debated backwards and forwards in the US court system.

In Canada, from 2021-01-01 the AODA (Accessibility for Ontarians with Disabilities Act) specifically calls out WCAG 2.0 double-AA (with a few, very minor, changes around closed captioning) as the minimum for both public and private sector businesses.

Israel also has a minimum requirement of WCAG 2.0 double-AA codified into law.

Norway, while not specifically mentioning a standard or guideline, has accessibility requirements interpreted by their regulator to meet WCAG 2.1 double-AA.

And the whole of the EU will gain a minimum requirement of WCAG 2.1 double-AA for the private sector from 2025-06-28 (that’s already the case for the EU public sector). Something to be aware of if you’re purchasing software / white-label systems now.

While it’s a little out of date now, a good starting point is https://www.w3.org/WAI/policies/.

US FE engineer here. I have worked with major online retailers for accessibility remediation after they were successfully sued for WCAG failures.

The biggest thing, folks, is your navigation. If you run a large site and users can’t control your navigation with a keyboard at minimum, you’re really leaving people out in the cold - and asking for a lawsuit, depending on the industry and your country. I'm looking at you, dropdowns.

Full WCAG compliance is expensive and requires vigilance, but getting your navigation right should be priority 0.

Hoes do all those translate to UI toolkits not having accessibility functionality being illegal though?

It is largely a legalese infodump that makes it very hard to parse, but i skimmed through the EU proposal (most of its requirements being at the annex) and it largely seems to be for websites or for very specific uses where it'd make sense (Check-in stations, ticket stations, ATMs, E-commerce sites, etc). The closest to a more general requirement would be the requirement for operating systems to provide functionality like text-to-speech (it mentions "more than one sensory channel" so i assume that would fit), zooming, etc but the wording on that seems to be about the complete package - so i guess if that proposal passes, a store wouldn't be able to sell, e.g., a computer with Linux and IceWM preinstalled as the only desktop (no text to speech there).

When you wrote that UI toolkits without accessibility functionality being illegal was there anything more clear and specific or is it this just more of a "just in case" scenario?

An inaccessible toolkit itself wouldn’t be illegal in the EU, but producing an end-user facing interface under the scope of the EU directive[1] (which as you mentioned is rambling but pretty wide ranging – “consumer terminal equipment with interactive computing capability, used for electronic communications services” could apply to most things that HN people work on) using that inaccessible toolkit would be.

But that’s just the EU. In the AODA[2] for example (which is already law), “barrier” is defined as “anything that prevents a person with a disability from fully participating in all aspects of society because of his or her disability, including a physical barrier, an architectural barrier, an information or communications barrier, an attitudinal barrier, a technological barrier, a policy or a practice” and sets out a process for the development / adoption of standards (the aforementioned WCAG 2.0 double-AA) and binds public and private sector to meet those standards to remove the barriers. Use of an inaccessible toolkit would certainly constitute “a technological barrier”.

[1] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv%...

[2] https://www.ontario.ca/laws/statute/05a11

I think even in those the application would matter. For example i don't see how something like an image editor (which was the original application for Gtk, for example, even if nowadays Gtk has some accessibility support) or a specialized tool like [0] would be illegal (i don't know if it has accessibility support but for the sake of argument lets assume it doesn't).

I can see there being an issue with something like a chat program though (i wonder if XChat will now be illegal to sell :-P).

[0] https://shadermap.com/home/

Note: this is all specific to the US.

https://equidox.co/blog/robles-v-dominos-pizza-explained-no-...

Domino's was sued by a man who is blind who was unable to order a pizza online.

Unfortunately, requirements for websites to be considered "accessible" in a legal sense are essentially undefined in the US. Here's how the site above summarizes, emphasis theirs:

> Title III of the ADA mandates that all places of public accommodation and their services must not discriminate against those with disabilities. According to the 9th Circuit Court of Appeals, that includes making websites equally accessible for people who use assistive technology.

Lacking precise guidelines, the thinking in the web community generally is that if your site adheres to WCAG 2.0 or higher, there will be little purchase for folks to sue. Adherence to that standard has also been mandated in the past by courts in settlements.

> How do all those translate to UI toolkits not having accessibility functionality being illegal though?

You put up a non-conforming website using one of these UI toolkits, someone sues you (there are lawyers who specialize in this), you lose and have to pay lots of money. And then you still have to make your site conforming.

Flutter does handle accessibility on the web, but not very well. You need to press a button hidden from non-screenreader users and then Flutter will make a tree of dummy elements with aria attributes that let you use the app. You can see this if you use a screenreader or your browser of choice's accessibility tree inspector on the demo app.
Ah, OK, looks like they’ve progressed a bit since I evaluated it. Thanks for the update.