Email or username:

Password:

Forgot your password?
Casey Reeves

So, this morning, after years and years of using the GUI in Linux, I gave up. The state of the GUI does nothing but deteriorate over time for accessibility, and it's exhausting. It's only getting worse. We're far, far away from what it used to be, years ago. Certainly, the QT framework has improved since 5 and now 6 came out, but GTK? Oh dear, oh dear... So, let's dive into it. #linux #xorg #wayland #a11y #accessibility #blind

17 comments
Casey Reeves

So, at the beginning, Linux started with console only for us blind folks. It is only in 2007 or so that the GUI really started taking off. Back in the days of gnome 2, the accessibility was extremely impressive. The UI was fluid, and every program in ubuntu (that's what I was using back then) was seemingly designed with accessibility in mind. Reality was probably different, but to me, it seemed this way. I loved it. Ubuntu 8.10 was the first Linux I ever used. Of course, QT was not even on the table yet when it came to accessibility, but, it was the glorious days of GTK.

So, at the beginning, Linux started with console only for us blind folks. It is only in 2007 or so that the GUI really started taking off. Back in the days of gnome 2, the accessibility was extremely impressive. The UI was fluid, and every program in ubuntu (that's what I was using back then) was seemingly designed with accessibility in mind. Reality was probably different, but to me, it seemed this way. I loved it. Ubuntu 8.10 was the first Linux I ever used. Of course, QT was not even on the table...

Casey Reeves

But then, you may be wondering, why did it change? There are probably a lot of reasons why that is, but I can think of a couple.

One, technology keeps on evolving. When GTK 3 got introduced, it took quite some time for the single GUI screen reader to catch up with it. Regressions were also a thing. Not to mention that the orca screen reader has only one really active developer.

Casey Reeves

Another reason for this is sadly, that accessibility isn't a wildly known thing. Developers don't care about it for the most part, and if they do, it is never enough, due to the behavior of other developers.

How many times did the orca folks and various associations for the blind have to slap the gnome people on the wrist for taking out accessibility features or causing regression without caring? Too many, that's how much this happens. That's how regular it has become for us to have to fight over every version of gnome released to keep the accessibility more or less working.

Another reason for this is sadly, that accessibility isn't a wildly known thing. Developers don't care about it for the most part, and if they do, it is never enough, due to the behavior of other developers.

How many times did the orca folks and various associations for the blind have to slap the gnome people on the wrist for taking out accessibility features or causing regression without caring? Too many, that's how much this happens. That's how regular it has become for us to have to fight over...

Casey Reeves

Another good example of this is GTK. When GTK 3 came out, there was a bit of fighting over accessibility, but nothing alarming. The GTK folks were generally happy to make the toolkit in a way that it had built-in accessibility support. Default widgets came with accessibility from the get go, a bit like html 5 does nowadays for websites. And it was great this way.

Casey Reeves

When GTK 4 came out, on the other hand, things had shifted. No longer were the GTK people happy to provide accessibility for us. No longer did they care about it. Their grand plan was to remove accessibility from GTK altogether, claiming that it was up to the applications themselves to become accessible. It took several weeks, and even days during fosdem for them to recognize this wasn't the way forward, thanks to the orca developer and the Hypra folks, but they got the idea. Or did they?

Casey Reeves

It seems that they haven't gotten the idea, after all. I got interested in a nice GUI app for mastodon recently, called tuba. I discovered that it used GTK 4, however. I knew there were rumors about accessibility problems, of course, but what better way to learn than to experience it for yourself? So that's what I did.

Oh dear, was I disapointed! The first thing that struk me when launching the app, is the fact that the flat review of orca stopped working. Second, that it appears that GTK 4 and orca are fighting over the keyboard. I can't make orca stop talking, I can't know on which element on the UI I'm on until it finished talking the previous thing it was saying and moves onto this one. I can't use any screen reader shortcut, either.

It is exactly, if not worse, than QT 4 was, when accessibility was barely considered.

It seems that they haven't gotten the idea, after all. I got interested in a nice GUI app for mastodon recently, called tuba. I discovered that it used GTK 4, however. I knew there were rumors about accessibility problems, of course, but what better way to learn than to experience it for yourself? So that's what I did.

Casey Reeves

But, enough about GTK. I'm now moving on to xorg and wayland.

Xorg was good. It was buggy, it was not especially secure for various things, but it worked. More importantly, it allowed the screen reader to perform relatively good.

Wayland, on the other hand, is the complete oposite. Oh sure it works for general use. But the minute you try to use mouse emulation to click on an element of the interface, be it on a website or in a program, orca crashes. Don't ask me why, I don't know. Orca is now no longer allowed to provide a clipboard, either. The excuse the wayland folks gave was security. Applications that lack a window, focused window at that, will not be allowed to use the clipboard. Well, guess what? To be able to copy the content of a window for example an error message to share it with people for assistance, one needs to focus that window. Not orca. Oh, and by the way, it's been *years* orca has had a window.

But, enough about GTK. I'm now moving on to xorg and wayland.

Xorg was good. It was buggy, it was not especially secure for various things, but it worked. More importantly, it allowed the screen reader to perform relatively good.

Wayland, on the other hand, is the complete oposite. Oh sure it works for general use. But the minute you try to use mouse emulation to click on an element of the interface, be it on a website or in a program, orca crashes. Don't ask me why, I don't know. Orca is now no...

Casey Reeves

This all filled the glass of my patience pretty quickly, I do have to admit. I went through this for months. What put the figurative nail into the coffin for me was that I realized that somehow, GTK 4 programs are actually even worse on wayland than they were on xorg. The accessibility and usability degraded further! How's that possible? No clue. The very same program will behave a miniscule bit better on xorg than on wayland. Go figure that one out.

Casey Reeves

So then, you might ask me, why don't you just use QT programs if they work better? Well, the fact that QT 6 is out is great, but it also cause regressions. QT is nowhere near perfect. It is nowhere as usable as gtk 2 and 3 ever were, when things used to be done properly.

That aside it seems that QT accessibility features are opt-in rather than opt-out. I could be wrong about that, and as a matter of fact, I hope I am.

Casey Reeves

And, even if it was that simple, there remains the fact that wayland complicates my life even more due to the so-called security and the problems it creates for assistive technology. And I'm tired.

I'm done dealing with this. I'm done trying and trying to summon the energy to make yet another bug report and feeling like deep down it won't matter in the end. I'm officially jaded.

As of this morning, I've gone back to windows for any program with a GUI. Granted so far it is only for web browsing, as the rest of my activities are doable in console, and I do enjoy the console.

But there you have it.

And, even if it was that simple, there remains the fact that wayland complicates my life even more due to the so-called security and the problems it creates for assistive technology. And I'm tired.

I'm done dealing with this. I'm done trying and trying to summon the energy to make yet another bug report and feeling like deep down it won't matter in the end. I'm officially jaded.

Casey Reeves replied to Casey

Maybe some other people will pick up where I left. Maybe noone will. But at this point, I'm done. I can't keep on damaging my own mental health for the benefit of reporting bugs that might get fixed, but most likely won't. I can't keep dealing with this. As of today, I'm done with this entire thing.

To whoever resist out there, I can only wish one thing. Good luck, and don't sacrifice your mental health for it. Don't do the same thing I've done. Please be safe, and remember that going back to windows for some thing is nothing to be ashamed of. There comes a time where open source doesn't matter and accessibility gets the priority for everyone. Mine has been reached, and then some.

Maybe some other people will pick up where I left. Maybe noone will. But at this point, I'm done. I can't keep on damaging my own mental health for the benefit of reporting bugs that might get fixed, but most likely won't. I can't keep dealing with this. As of today, I'm done with this entire thing.

Mx Jookia replied to Casey

@xogium It's really depressing like that, and I'm not sure if we'll have another corporation 'let's try to get Linux usable on the desktop' moment again. Everything is moving to the web and mobile. Which means only hardcore Linux users get punished for being blind.

Casey Reeves replied to Mx

@jookia To be fair, to use Linux as a blind person these days, you do need to be a power user in the first place. But that.s for another thread...

Mx Jookia replied to Casey

@xogium A lot of this makes me wonder if the current solution should be to just write applications that provide accessibility itself. Like bundling espeak in to an app, colorblind modes, etc.

It's not a pretty solution but it's becoming clear that we can't rely on infrastructure to stay accessible.

Casey Reeves replied to Mx

@jookia Nah, I doubt it. It would just lead to programs not being usable at all. Next to no dev would bother.

x0 replied to Casey

@devinprater @jookia @xogium Or the ones that would would all do so differently, requiring the users to learn every program as if it were an entirely different AT stack, like switching between JAWS and NVDA and VoiceOver and different browsers and... Perhaps the mainstream understandable Linux equivalent would be being required to know how to totally use both emacs and vim without any adaptation scripts to make one feel like the other.

x0 replied to x0

@devinprater @jookia @xogium And to switch constantly between those each hour depending on what you need to do

Go Up