Linux Accessibility: an unmaintained Mess

Why I won’t be using Linux for a while

Devin Prater
10 min readMay 8, 2022

Linux is mainly known as a server operating system. It performs impressively on that front, being used by just about every company out there. But through the years, some people in the tech community have made it their personal, home computer operating system as well.

There are several podcasts where people talk about the viability of Linux on the desktop. However, as Linux reaches more and more mainstream users, it brings to light the disappointing truth that not everyone can use it. Those with disabilities, who could be the most helped by its open-source nature, are instead left for the for-profit companies which, regardless of what else they’ve done, at least have made their offerings more or less accessible.

In this article, I’ll overview my experiences in the past years with Linux. I am not the only user with disabilities that has tried Linux, but I can only speak on my experiences, and what I know of workarounds to the worst parts.

Vinux and Sonar — the Early Days

I started with Linux back in the days when Gnome 2 was the desktop of choice. It was accessible, easy to use, and all the Vinux maintainers needed to do was have Orca, the Linux GUI screen reader, start during the installer and on the new system. It wasn’t perfect — nothing is — but it was a great start. I used it on an old laptop that, for whatever reason, the hard drive was locked. That poor hard drive, with only 74 GB of storage.

At some point, Sonar came along, around 2015, as an alternative. It was based on Antergos, which was based on Arch Linux. It had an easy installer, and enabled Orca during and after installation. Both projects are no more. Infighting and blaming broke both of them apart as they planned to merge.

The Shattering — Now

After Vinux and Sonar were abandoned, many blind Linux users simply moved to mainstream distributions. Arch was the preferred distro for many people, since its packages are up-to-date. This means that any accessibility fixes are in their hands as soon as the package maintainers release them. There have been a few tries at a distro for the blind, like F123, Stormux, and Slint, but F123 failed, Stormux is for the Raspberry Pi and has one maintainer. Slint only has one maintainer as well and is based on Slackware. Thus, everyone has mostly gone their own way, some to Arch, some to Ubuntu Mate, some to Mint, some to Debian, and some to Fedora. Only a few of those distros, mainly Arch and Debian, even actively and knowingly support blind users during the installer, providing a speech mode and options to install the Mate desktop or enable accessibility on the new system.

I’d like to talk for a moment about Gnome 2. It was simple, accessible, and clean. When you first start the system, you log in using your login manager, and then you get to the desktop. Pressing Alt + F1 opens your list of applications, sorted by category, and Alt + F2 opens your run box. Simple and clean. The settings categories are in the applications’ menu too, so no having to deal with a settings manager.

Gnome 3 changed all that. They remade practically the whole desktop. And if you remake something, you have to remake the accessibility. Except they forgot that part. No one knew about it. No one listened. Their excuse, I’d think, is that they’re not accessibility experts. Surely, someone would come in who was paid to do this. But that has never happened.

Now, we’re at Gnome version 4. When you press the Super key to open the applications screen and search tool, you hear “window.” That’s it. An advanced user will know to just start typing, but a new Linux user will not have any idea where they are, or even think something bad happened.

Let’s not fixate so much on Gnome, then. What about KDE? They’re a very usability focused desktop, right?

Not until very recently, I’m afraid. We cannot yet use the KDE desktop effectively. Work is being done, but as is everything in the world of access technology, it’s very slow. Things happen practically only when a new sighted person is inspired to help, until they get burnt out by the lack of help from the open source community and lack of interest from the wider blind community.

The only desktop environment we have left to cling to is Mate. That’s only because that is a continuation of Gnome 2 with rebranded apps. It works, yes. But it’s starting to decay from age.

Using the Mate desktop, if you quit a Chromium-based app, Orca, or the accessibility services, will be lost with nothing in focus unless you immediately go to the desktop or if you invoke an Orca dialog box. This is probably only the beginning. My only hope is that another desktop can take its place before Mate falls completely into disrepair.

Okay, fine, let’s forget about the desktops. How about text-based interfaces? The command-line is accessible, right?

Technically, yes. Text is very conducive to accessibility for many disabilities. But who uses the command line for checking email, browsing the web, using Facebook, listening to YouTube Music, browsing, reading, and interacting with Reddit, Twitter, Hacker News, Medium, Mastodon, Telegram, text messages, video games, and books in many formats? If you can use the command line for all of that, then I’d like to hear how you do it. There are a few people who use the command line for a good bit of their computing, but they don’t do all the things I’ve listed? Oh, did I mention Salesforce? Good luck interacting with that beast on the command line. I have to use it for work. You’re lucky if you don’t.

My experiences with Fedora

As I wrote above, after Vinux and Sonar broke, we were left with the mainstream distros. I chose Fedora, finding it a good compromise between the slow release cycle of Debian and Ubuntu, and the harder installer of Arch Linux. Even after Arch added their installer script, one still has to enable Wi-fi with a strange iwconfig command, and I had no idea how to use that. So, I put in the Fedora Mate 35 USB I made using Rufus on Windows, and booted up the computer.

After pressing Enter a few times, I scanned the screen with my phone, open to an app which does OCR on whatever the camera sees. I finally heard a part of the Mate user interface, I pressed the usual keyboard command to start Orca — Alt + Windows + S. Nothing happened. If I were a normal blind person, I wouldn’t even know about the actually hidden keyboard command to start Orca. If I did, and that command didn’t work, I would have scurried back to the safety of Windows. I should have done that anyway.

But alas, I am not a normal user. Instead of being happy with good ol’ Windows, I want the power of Linux, the support for everything a developer or power user might need. If only I were that normal user. My life would be much, much simpler and stress-free, and I’d probably have a better job.

So, I pressed Alt + F2 to run a command, typed orca and pressed Enter. Orca ran. I was able to install Fedora, and after a reboot, the login manager appeared. But there was no speech. That’s okay though, I just did the same command, and Orca began speaking. I logged in, and was on the desktop.

Exporting Assistive Technology

After Orca was turned on at the desktop, yes I had to turn it on there, I updated the system and tried Firefox. It didn’t read anything. If our dear general user had gotten this far, thanks to some advanced Linux user on a forum, this is where they’d either turn back and reinstall Windows, or seriously consider it. After slap in the face after slap in the face, however, I was ready for more punishment. I’m good at that, I suppose. Turtle Bear, anyone?

What you have to do is go into Application settings, go to personalization, then to Assistive Technologies. In there, you’ll find a switch to turn on or off assistive technologies support. This enables Orca to turn with stuff like Gnome GTK apps, and to let apps know that there are Assistive Technologies running. Why anyone would want this off, I have no idea. I guess it’s a part of Linux’s tradition of having “good” defaults. Luckily, if your hardware supports Debian, and you use the accessible installer, this will be turned on for you.

The fact that this has to be turned on by anyone shows just how ableist much of open source culture is. No other operating system needs this. When you turn on VoiceOver on a Mac, you can access every accessible program. When you turn on Narrator or NvDA on Windows, you can access every accessible program. When you turn on ChromeVox on a ChromeBook, you can access every accessible program. It’s only on Linux, where you have to check a box to enable accessibility.

But wait, there’s more! After you do that, you can access GTK programs. What about Chromium? No. You have to export an accessibility variable, which I don’t have on hand, to use any Chromium-based app or browser. From Etcher to web torrent to Element to Chrome, Electron is becoming a very popular way for developers to make cross-platform apps. If our user isn’t driven away by needing to check a box, they definitely will be by needing basically a cheat code to enable the rest of accessibility.

I persisted, however, and found a blog post where I put all the export lines I’d used a year or so ago when I tried Arch. I pasted them into the “.bashprofile” file, sourced it, and was able to use Chrome, and VS Code. Oh yeah, did I mention VS-Code uses Electron? That app basically all developers use? Isn’t it great?

The Leaky Pidgin

Pidgin has been the second-coolest app for Linux I’ve ever used, next to Emacs with Emacspeak. The ability to use the same, accessible interface with just about every messaging platform is wonderful. But I found that, over time, if I type a long message in Pidgin, maybe two paragraphs long, it crashes, and can take the whole accessibility stack down with it. This isn’t good. I thought it was the cause of Secure Boot, as some folks said it can mess with a system like that, but after disabling it and reinstalling Fedora, it still happened after a while.

It turns out that lib purple has a memory leak. So, so much for Pidgin. Lib-purple is what gives Pidgin all its abilities to connect to Telegram, IRC, Matrix, all that. And I use Matrix for work, so I need to be able to connect to that quickly.

“Okay,” I thought, “I’ll just use Element on Linux, even though Element is less accessible than Pidgin, and just use Irssi for IRC.” The next day, the biggest slap in the face ever hit me with a thunderous finality that ended my respect, and much of my love, for Linux.

The End

After updating Fedora, I found that after going through a few pages, Chromium browsers became unusable. Orca could see the Chrome user interface, but not the webpage. In desperation, I tried Microsoft Edge and Brave. Both of those had the same problem. I heavily rely on profiles to separate home, my full-time job, and my part-time job. Yeah, it’s a lot to keep separate. Firefox doesn’t have any way to separate all that and quickly switch between them. So, with a heavy heart, and a few hours before work, I reinstalled Windows and started on getting my stuff back in order.

So, how do others do it?

I mentioned earlier that I’m not the only Linux user who is blind. Other people use different strategies to cope with Linux’s poor accessibility.

  • Window Managers: Some use Rat-poison with custom scripts to cut out any of Mate’s decay or have a lighter system.
  • CLI: Some do as much with the CLI as they can, using X11 for a web browser.
  • Fall Back: When something, like Pidgin, burns away too much memory, they just fall back to IRSSI. I heard talk of even just running Android as a desktop system.

Conclusion

This article was written so that focus can be brought to the accessibility of the Linux desktop. As Raspberry Pi computers become more prevalent in schools, I want blind students to be able to enjoy learning to code, manage systems, and explore computing. I want blind people to be able to grow up learning about computers to the point that, when they’re in their early 20s, they can build apps, make emulation layers for older systems, or automate their jobs. I want blind kids to have the opportunities I didn’t have. Furthermore, I want them to be able to learn Python, not Quorum. I want them to learn the innards of Linux, not to have to fight Windows for every advanced setting or change. And if a blind person is tired of their blind-specific job, I want them to be able to easily learn to be a system administrator by administering their own Linux system.

All of these situations are more or less easy for a sighted computer enthusiast. In fact, The Odin Project doesn’t support using Windows at all, preferring you to use Linux from the start. You can also use macOS or ChromeOS. This shows that it won’t be long until being a developer means using Linux. And people with disables, more than just about any other group, should be able to get their feet in the door. We’re often destitute, either don’t have a job, or have a low-paying, entry-level job with no sign of a way to move up the chain, and use technology for helping with so much of our daily lives. We just need the open source community to care enough to clean up the accessibility mess they started.

--

--