SixtyFPS Becomes Slint
slint-ui.com
slint-ui.com
* Flutter has no accessibility bindings on the web and therefore falls under the same “illegal” category.
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.
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.
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/.
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.
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?
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%...
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).
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.
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.
Likewise, if you're building apps, prefer to build them using native toolkits if you value accessibility. The major platforms have it built in. When building an app, did you ever consider VoiceOver gestures [1]? Providing a readable text for the text-to-speech engine as an alternative to a UI element?
https://support.apple.com/guide/iphone/learn-voiceover-gestu...
Edit: accessible -> inaccessible
Why not? The approach of creating an accessibility tree can take extra work from developers instead of it just working. It's convenient to be able to just use an image without writing alt text for it. For example in a group chat.
Or what about a chart, or an assembly or measurement diagram? Can current image recognition reliably reproduce that information?
At the end of the day, the extra work by developers is part of what it means to be a developer. If you’re not doing that work then is the end product really meeting your users’ needs?
Because this isn’t true unless you’re using a nonnative framework like Flutter. If you write your apps in HTML or native frameworks, the tree is built automatically. You only have to fiddle with it if you’re doing really custom stuff (which almost no one is).
You can't "just OCR stuff" without losing all the visual meaning in a page. Just like we use borders and paddings and colors to hierarchize information, screenreaders use an information hierarchy too so users can conveniently navigate around.
Of course i don't know that it is possible, it could be impossible, i'm just having the impression that there hasn't been much effort towards that approach. And TBH it kinda feels like it'd be much better to have a solution that works with "everything" without that "everything" knowing about it (or at least with very little participation from that).
Also FWIW i often use a "simple" web browser like Dillo or Elinks to read articles since it bypasses all the cruft and the usual suspect for making things unreadable isn't CSS but JavaScript.
I’ve sort of known this for a while, but I got to see a demo a few years ago. A friend set up an old amiga demo on a modern fpga, and I saw him get all the timings right for it to finally look smooth as silk on the monitor he had. Then he attached the original signal to a second monitor and the difference was night and day side by side. One was smooth, the other jerky. Both the same fps.
I'm not saying we should be stuck on old compilers forever, but in C++ land, especially when I have to integrate with other frameworks or game engines, the assumption that I can choose my compiler or will always be on latest kinda irks me. Even Qt has versions for the last few MSVC releases (though thankfully the ABI stopped changing every release after VS2015).
That being said, this still looks pretty new, and by the time it's a mature framework C++20 itself may be more available.
C++ has a lot more tangled dependencies going on especially when you're stuck with a vendor's compiler.
Make no mistake: the problem here isn't necessarily technological.
Otherwise let me just fork Clang into the "Gnalc" compiler for the "Sulpsulpees" language which happens to be exactly compatible with the programming language that the clang++-13 binary supports. Takes me a whole 15 minutes, most of which will be taken by forking the LLVM repo on github, and I can guarantee than porting to it will be less effort than porting to Rust. I can even provide the backing of a proper non-profit foundation established on two continents for your legal team's needs.
And yes, you are making my point. We are in violent agreement.
You can't write Rust either, which is why C++ support would be initially exciting, until you learn you can't use just any C++ compiler and the one you can use is excluded.
It does not make sense: the problem is even worse for rust in that case, since you cannot even use it ?
However, I realise the point is moot since there would be no way to compile the library. I've been living too long in "Compiles to C" languages this month I guess.
SDL: https://www.discogs.com/artist/707518-SDL
Slint is the other way around, if anything.
https://www.theguardian.com/music/2014/may/01/spiderland-sli...