Hacker News new | ask | show | jobs
by criddell 544 days ago
How well integrated with the underlying platform is it? For example, on Windows do you take advantage of accessibility APIs for things like screen readers?
2 comments

I don't think open source GUI toolkit developers should be expected to handle accessibility until OS vendors spend some of their billions of dollars to develop a reasonable cross-platform API.
If you are creating tooling for people to create GUIs, it should always be possible to make those GUIs accessible. I’m not saying this one doesn’t—I don’t know if it does—but in the general case it absolutely should. Not everyone is going to bother, but not even giving people the ability would be deeply irresponsible.
Why is this the responsibility of GUI toolkit developers and not app developers? There's nothing stopping app developers from making a separate version for their app designed specifically for accessibility. This results in a better UX for the users and the toolkit developers.
https://www.accessibility.works/blog/alternate-separate-acce...:

“Why Alternate “Accessible” Website Versions Fail ADA And May Increase Legal Risk.

[…]

1. DOJ: All public accommodation’s websites must comply.

[…]

2. ADA = "Full & Equal Enjoyment"

[…]

3. Is a "Separate But Equal" approach discriminatory?”

I’m not a lawyer, but I don’t think one can draw another conclusion from that than that having a separate app designed for accessibility is a big no-no.

Also, as a developer, you choose a GUI toolkit to make your life easier. Having good accessibility support then is a point in favor of a toolkit, just as, say, having lots of good-looking controls is one.

Possibly even more so, as implementing accessibility support is a huge undertaking. You need to be able to enable high-contrast mode, to set keyboard shortcuts, to use larger fonts, tone down animations, have an on-screen keyboard, etc.

* Your reference is talking about websites. The web is much easier to implement accessibility for than native OSes.

* It's talking about intentionally low quality, minimal-effort ADA compliance. Do you believe most blind people (simple example, there are many types of disabilities) would prefer a version of a tool that has basic (but decent) screen reader support built into a GUI toolkit, to a hand-tuned app built specifically to address their needs?

* Trying to legislate something as subjective as "Full & Equal Enjoyment" is one of the most absurd things I've ever heard. I didn't realize the ADA regulations were that bad. By that definition, anyone with a disability can claim anything about a website that they don't like is preventing them from experiencing "Full & Equal Enjoyment".

* Them comparing websites using cheap ADA solutions to the civil rights movement is chef's kiss

> Also, as a developer, you choose a GUI toolkit to make your life easier. Having good accessibility support then is a point in favor of a toolkit, just as, say, having lots of good-looking controls is one.

I fully agree here. Accessibility is important and it's smart for toolkits to compete on such features. That's not what I'm pushing back against. I'm pushing back against the idea that responsibility for accessibility lies predominantly on GUI toolkit developers. There is nothing wrong with making a GUI toolkit that doesn't support accessibility. Accessibility support can be implemented/improved at multiple layers of the stack, but HN loves bringing this up because it's a meme with high virtue signalling value.

Why should OS vendors spend money devaluing their product? It's up to the cross platform software developers to make abstractions that work across platforms, not on platform developers to make things that work on other platforms.

Just seems absurd.

See response to sibling. Why is this the responsibility of GUI toolkit developers and not app developers?

EDIT: Also, how is this different from any other cross-platform API like POSIX, sockets, TCP, etc?

App developers won't do it if the toolkit doesn't support it and make it extremely easy to use. It's also not that different, because platforms often offer richer/better APIs than POSIX and application frameworks use those with POSIX as a fallback for lower tier targets.
I agree they won't do it, but why does that mean GUI toolkit devs carry the responsibility, when they also aren't provided with a good API?
All of the modern operating systems have good accessibility APIs. You ask why developers should take advantage of them? Because it’s the right thing to do and it’s usually not particularly onerous and accessibility accommodations usually make the software better for everyone.

Would you also question why builders have to make bathrooms wheelchair accessible in public buildings? It costs more and can be uglier and restricts the potential designs. Why shouldn’t the wheelchair builders have to make fancier wheelchairs that can navigate the spaces you want to build, right?

You're not talking about "good" APIs but "the same API." And if you're going to argue that operating system vendors should provide the same APIs for things that are deeply integrated into the value they provide and make money by selling, then you're going to have an uphill battle.

POSIX is a good example of a lowest common denominator that is "good enough" for many kinds of programs, but not consumer software applications with GUIs. That common denominator is the kind of cross-platform GUI toolkit/framework that we're talking about. a11y is a feature of that, not of something like POSIX. And no OS vendor is going to try and create such a standard, or if one is created they won't try and follow it - because anything that makes applications better on other platforms makes their platform worth less.

AccessKit is a really laudable effort to decouple the a11y API from the UI. It would be great if many GUI toolkits adopted it, but it does affect their design in non trivial ways.

Summed up: what you're asking is "why don't Apple and Microsoft make it easier for developers to make software developed on Apple platforms better on Microsoft or vice versa" and the answer should be self evident. These APIs exist to create value for the platform, not for other platforms. Standards don't exist for portability, they exist to create lock-in and entrench existing players.

Those developers have the option to make use of said OS APIs.
So do app developers. The reason everyone assume this is the responsibility of GUI toolkit devs is because it's a meme. See response to sibling.
Apps need an OS to run on.
I agree. Apps need OSes almost as much as OSes need apps.
Are you speaking for the Brisk project?
Do you have some reason to think I am?
Accessibility features are planned and will be included in one of the upcoming major releases.