Accessibility is a really important field. Everyone should have the right to use a free and friendly Operating System.
But its a pretty nieche topic, and I also think current ways of implementing it are not perfect.
I created a Thread on Fedora Discussion (Link) but Lemmy is way more active so I would love to spread attention to this topic, and collect your ideas.
- How should a blind Desktop be structured?
- Are there any big dealbreakers like Wayland, TTS engines, specific applications e.g.?
- What do you think would be the best base Desktop to build such a setup on?
- Would you think an immutable, out of the box Distro like “Fedora Silversound”, with everything included, the best tools, presets, easy setup e.g. is a good idea?
- How privacy-friendly can a usable blind Desktop be?
Also, how would you like to call it? “A Talking Desktop”?
I am excited for your comments!
There’s a whole instance of people you should ask: https://rblind.com/
Thanks! Thats a good tip.
What would it “look” like?
[This comment has been deleted by an automated system]
Prior art is instructive: Orca.
To sum it up. Screenreaders are the main assistive interface required by blind users to interact with system applications. Linux screenreaders such as Orca interface with the AT-SPI (Assistive Technology Service Provider Interface) to provide two core functionalities:
- Structured navigation of GUI elements via a keyboard interface
- Navigation feedback via a Braille monitor or TTS
So that’s the core. At a minimum, the desktop environment needs to ship with a bundled screenreader and AT-SPI coverage across all GUI system components. Fortunately this desktop environment already exists – it’s called Gnome.
Beyond just… shipping Gnome, the rest of the job would involve curating a list of accessible applications to be included in the out-of-box install, including blind-friendly default configurations. Ideally, there should be multiple configurations to choose from driven by a community wiki plus supporting configuration manager on the OS-side.
As for the underlying base distro – I don’t really think it matters. Immutable distros only provide declarative management for system components and most of what this project would need to cover are userland. It makes sense to borrow many of the children of such distros when building a configuration manager (e.g.: toolbox, home-manager), though these will conveniently work anywhere you want to bring them and thus won’t constain the field of available options. With that being said, the ideal base distro would have the following characteristics:
- Well known, well maintained, well documented
- Official support for Gnome as an out-of-box, first-class desktop environment
- Strong package repository game including current versions of all major assistive software
- Very strong track record of stable releases that consistently boot all the way up to the display server
GUI scale 200% with a high contrast theme maybe?
Ubuntu All Black Everything Edition.
I feel like this would be a question best addressed where the online blind community hangs out (er… I don’t actually know where that is), and there may be plenty of blind users here (?) but I also wouldn’t be surprised to hear there are not. I certainly would tear my hair out if I had to work through comments audibly to try to work out what might be worth reading. But I don’t know and I’m not trying to speak for blind people.
The one blind developer I knew was heavily into Emacs, which has historically had a speech interface and can operate very well purely text-based, that I think made it a good choice. His ability to be productive was awe inspiring. I don’t know if anything else has taken over, but I expect if I lost my sight it might become my entire environment since I already know it. But I wouldn’t be surprised (and hope) there are more suitable options for less technical users.
Yes this is really interesting, purely text based would be perfect!
I think gnome could be a good de. Fedora is pretty clean and straightforward. I think they probably also have good accessibility features since they are a bigger distro.
I’m a bit of terminal nerd, so probably not the best person to talk about desktop. I don’t have many thoughts with regards to app development or layout for accessibility. What I really would like is for distros to be accessible from the ground up, even before the desktop is up.
The best example of accessibility from the ground up I saw for linux was talking arch, an Arch Linux spin with speech. Sadly the website is gone, but we can find it in the web archive
in particular there was an audio tutorial to help you install the live cd (you can still ear it in the archive):
Here are a few resources, which are pretty dated but I wish they were the norm in any install:
- your system can boot up talking, using speakup http://www.linux-speakup.org/speakup.html
- even if the desktop is not fully accessible or breaks, your console or the terminal in your desktop can speak using yasr https://yasr.sourceforge.net/
Now going into your points:
How should a blind Desktop be structured?
To be honest I don’t expect much here. As long as context/window switching signals you properly you are probably fine. I have not used gnome with orca in a long time, but this used to be ok. The problems begin with the apps, tabs and app internal structure.
Are there any big dealbreakers like Wayland, TTS engines, specific applications e.g.?
Lots.
Some times your screen reader breaks and its nice to have a magic key that restarts the screen reader, or the entire desktop. Or you just swap into a virtual console running speakup/yasr and do it yourself :D
TTS engines are probably ok. Some times people complain about the voices, but I think it is fine as long as it reliably works, does not hang, responds quickly.
Specific applications are tricky. The default settings on a lot of apps wont work well by default, but that is not surprising.
I do think that a lot of newer apps have two problems
- they are not configurable or scriptable at all, there is only one way to do things and no way to customize it. Opening tickets to patch each and every feature is not feasible.
- They frequently go through breaking release cycles that nuke old features, so you need to relearn all your tricks on the next major release and find new hacks
I can give you two good-ish examples, both Vim and Mutt can work very well with a terminal screen reader, but it is a lot of work to configure:
- with vim you need to disable all features that make the cursor jump around and draw stuff (like line numbers and the ruler)
- with mutt every single string in the screen can be customized, so you even insert SSML to control speech and read email
I think you can find similar examples in desktop apps too.
What do you think would be the best base Desktop to build such a setup on?
no idea to be honest. Gnome use to have support. I suppose other desktops that can be remote controlled could be changed to integrate speech (like i3 or sway).
Would you think an immutable, out of the box Distro like “Fedora Silversound”, with everything included, the best tools, presets, easy setup e.g. is a good idea?
I have never used Silversound. But the key thing for me is to be able to roll back forward to a working state.
How privacy-friendly can a usable blind Desktop be?
I think it should be fine. People with screens have things like those Laptop Screen Privacy Filter, people using audio have headphones. Depending on your machine you can setup the mixer so that audio never uses the external speaker.
I don’t recall the details but you can also have some applications send audio to the external speaker while others use your headphones (provided they are a separate sound card, like usb/bluetooth headphones).
Also, how would you like to call it? “A Talking Desktop”?
Urgh, Shouting Linux.
Thanks for your experience!
So you would say terminal and text based is best.
This could be done rather easily, in comparison to a fancy desktop. Like this:
# start OS, login, terminal emulator opens # terminal is always accessible when pressing 1 or something > apps Office Web Video Audio Games > Office Writer Calc ... > writer # opens writer in a new desktop, fullscreen. Switches to the app and says its name > 1 # switch back to terminal > time It is 12:53 > date #...
And so on. This would be pretty nice! Flatpaks would be somewhat of a problem, one would need a script to alias the names to their short names, I did that and I think it works well, but still a bit specific.
Haha maybe window managers are the next big thing for accessibility?
I’m not sure if you’ll get answers from the blind community here but one thing I’d love as a developer is some way to simulate or test different accessibility situations. I can use linters and read up on best practices but I don’t feel like there’s any way to know for sure I’m doing things correctly.
Close your eyes and use it right?
I guess it would be a nice gnome extension which reads out what is highlighted when u search for apps using super. And read the notifications if you hit super+V.
Installing apps would most likely work best through a terminal which talks.
I don’t know how blind people use the web, maybe there are already browser for that. Maybe Lynx, Links2, eLinks or W3M are good solutions for that.
I guess CLI apps in general work best for blind people since gui seems not very important for blind people. But some apps only work with gui, so the window manager should somehow translate gui into language 🤔
And now I found that gnome has a standard accessibility feature called brltty which allows connecting Braille devices to Linux to read with your fingers, this allows to use nano and/or vim (and much more)
And after a bit digging more I found Vojtux which is a fedora remix with accessibility features enabled out of box and a extra repo with apps for even better accessibility
deleted by creator