An Accessibility spin of Silverblue, with the best experience possible?

I read this discussion thread but it was closed pretty soon.

I read @vpolasek 's post on daily use of Desktop Linux as a blind person and found it really interesting.

There was the idea of a spin, which I think fits it. Why should blind people use a sighted Desktop with a screenreader? This makes no sense to me.

I am really curious and think this is essential, it should be a very high top priority. Blind people will probably have very different needs, and I am would love to discuss what the best “blind desktop” would look like!

Btw, if I should use incorrect wording or something, please mention that.

So my questions

What Desktop would work best as a foundation?

I tried KDE’s screenreader and it was pretty horrible. I use espeak on my phone for TTS and I am already not happy, but that was even worse.

I heard that GNOME was better for accessibility?

But still, the question would be what the best foundation for a blind desktop would look like, as I dont think a sighted one + screenreader makes sense.

How is Wayland support for what screenreader?

I find it a bit untransparent to get a clear info table of what reader on what DE works.

What TTS engine is best?

I found Piper, which supports many languages and sounds pretty good!

Also there is Thorsten Voice, a really cool project that works with real voice and could be integrated into many tools, to work as a TTS engine.

Are there more, pleasantly sounding TTS engines?

How should the interface be structured?

I read keyboard shortcuts are nice, and I can imagine that a blind person uses a desktop VERY differently than a sighted one.

Are there any tips how an app launcher should work, how default settings should be, how switching apps etc would be done best?

I could imagine:

  • All apps opening fullscreen
  • Alt-Tab for switching, with the screenreader saying the apps name
  • very good UI keyboard support
  • consistency (for example in KDE the selector doesnt always move on first press)
  • preinstalled app sources, file associations, easy app installation on startup (so maybe the GNOME dialog could be easily used for that)
  • after login, saying the name of the currently focussed app
  • notification when there is a yes/no or warning dialog, allowing keyboars usage here
  • automatic updates without any user interaction
  • what else?

Would things like voice control be nice?

What about privacy?

I can imagine using a hardened Browser for example might be pretty annoying. Opening NoScript to allow every new sites javascript for example. But it could be possible. I can imagine that a11y and privacy are often not a practical bundle, and this kinda sucks?

Everyone should have the possibility to not be spied on. What do you think, what would be major problems with for example a hardened Browser?


I think this is a really interesting field, that should not be a nieche project by affected people.

Vojtux seems like a great project, and I think having an “install and go” Fedora Atomic image would be very great.

Basically I imagine an a11y (btw. where does this abbreviation come from?) first Distro to do all the things Vojtux does by default, and this would be quite a step up from what my current Fedora experience looks like.

While it is very important that use of a computer should be available to the blind as well as the sighted, it must be remembered that the overwhelming majority are sighted and the distro is designed for the majority of users.

A screen reader is a compromise to make the same system available to the blind, but certainly may not be the best.

If you have ideas of what may be better then I suggest you step up and assist developers in adding the better functionality to the interface. I doubt there are many who can afford to devote their very limited free time volunteering to help such a small minority of users.

Thank you for your concern and keeping us all aware of the limitations and the under-served portions of our community.

Developers, even those who may just be stepping up with little first hand experience, are always welcome.

1 Like

I am very interested in helping.

I dont think you need to create an entirely different desktop here. I crossposted this on Lemmy a lot, and lots of people told me their experience

  • everything text-based, aliases in a terminal etc is very accessible. This is way easier to implement than for example a new GUI
  • there are many screenreaders, some sound awesome, some are less resource heavy
  • many blind people have their screenreaders set very fast to keep up the speed. So the TTS needs to be adapted to that.
  • not every app is accessible the same. But some are. So a good app selection could already help

So what I get from all this is:

Screenreaders are good and often work well. They are not enough though. Having a slightly modified desktop (on top of all the tools we already have!) would make the experience way better.

A “blind Desktop” seems to be way easier than a GUI, as text is key. And Linux and Terminals are a match made in heaven.

I am not a programmer, but would like to learn how to create a Fedora Spin. I like configuring Desktops and will attempt such a project, even though I am not the one to decide anything.

Just a list of available Speech Synthesis tools:

These were all said to sound good, even though some models may require more computing power and RAM than others.

Except that most info from the internet is available with a browser – as in gui interface.

Thus at least some of the screen reader must be able to interface with the browser and read the html code it uses. Then that leads into the java script, php, json, (and more) wormhole on how to manage it best.

1 Like

only upside here that I would imagine is, that the web has established standards, somewhat.

But I know sites not loading without Javascript at all, using fancy themes, popups etc. This is horrible for sighted people but has to be impossible if you hear every banner?

Hello, this is an interesting idea. I will respond inline, as your post is quite long and I have a lot to say :slight_smile: Thank you for starting this discussion.
[quote=“boredsquirrel, post:1, topic:94001, full:true, username:boredsquirrel”]
I read this discussion thread but it was closed pretty soon.

I read @vpolasek 's [post on daily use of Desktop Linux as a blind person](https://opensource.com/article/22/9/linux-visually-impaired-users) and found it really interesting.

There was the idea of a spin, which I think fits it. Why should blind people use a sighted Desktop with a screenreader? This makes no sense to me.

[/quote]

I think it depends what you define as "sighted desktop". My opinion is that it is better and more sustainable to convince regular desktops to be more accessible than to create special desktop environments for blind and visually impaired. It is definitely not an easy task, But I see following benefits:

1. regular desktops such as Gnome, Mate... have large user base and they will stay with us probably for a very long time. Most large desktops also have some kind of funding or sponsorship.  If you would like to create a custom desktop, you need to maintain it separately with everything it takes. So it might be beneficial in short term, because you can easily adapt the environment, but in the long term it might not work... and usually does not work. I saw this several times, not with desktop  environments, but with special Linux distros. Search for Vinux, Sonar GNU Linux, Blindubuntu... these are distros which looked great, but they were usually maintained by single person and they died relatively quickly.

2. If you manage to convince upstream to be accessible, it will trickle down into many distros.
Vojtux could be the answer. The project is moving forward, very slowly, but moving. My idea is to create:

1. a Fedora spin which is as close to Fedora as possible.

2. A possibility to either install Vojtux from the image, or to convert already existing Fedora to Vojtux just by installing appropriate packages.

3. Make the whole process open source; that was not usually the case for previous distros focused on blind users, you just received the ISO image and that was it.
You are mixing two things here. Espeak and other similar software are speech synthesizers. They are transforming text into a spoken voice, audio output. There are several such synthesizers for Linux. Screenreader is an app which works with the environment and allows the blind user to read information from the screen and control the environment. There is only one such a screenreader for desktops; Orca. Well there is one more in development, but Orca is de facto standard. There are other screenreaders for text consoles, but let's skip them since we are talking about desktops.
A screenreader uses the speech synthesizer to output information. It can also use braille displays to output braille.
[quote]
I heard that GNOME was better for accessibility?

[/quote]
If compared with KDE, then yes.
[quote]
But still, the question would be what the best foundation for a blind desktop would look like, as I dont think a sighted one + screenreader makes sense.
[/quote]
As I said, I think regular desktop and a screenreader makes sense... the question now is, what desktop.

I personally Prefer Mate, because it is based on GTK (which is the most accessible toolkit right now), it is lightweight and do not implement many custom widgets like Gnome does. Gnome is a good alternative, it has its shortcomings but it is slowly getting better. I think that there are not many alternatives... but I did not research it recently.


[quote]
## How is Wayland support for what screenreader?
I find it a bit untransparent to get a clear info table of what reader on what DE works.
[/quote]
This is a good question and it is something being solved right now. IMHO accessibility was not really considered when designing Wayland and it is solved only now. Most of things work on Wayland, but there are cases which do not work and they would present a burden to users, especially new users. Therefore, I recommend staying on X for the best accessibility experience.
[quote]
## What TTS engine is best?
I found [Piper](https://github.com/rhasspy/piper), which supports many languages and sounds pretty good!

Also there is [Thorsten Voice](https://thorsten-voice.de), a really cool project that works with real voice and could be integrated into many tools, to work as a TTS engine.

Are there more, pleasantly sounding TTS engines?
[/quote]
Linux was always a bit behind, because there were not so many users of voices compared to Windows or Mac. A good alternative is also Rhvoice.
[quote]
## How should the interface be structured?

I read keyboard shortcuts are nice, and I can imagine that a blind person uses a desktop VERY differently than a sighted one.
[/quote]
Keyboard shortcuts are important, that's why Vojtux is trying to configure them. Note that many keyboard shortcuts are already enabled by default in Gnome and Mate.
The question if a blind user uses desktop in a different way... is debatable... it is true that mouse is usually not used, so in general, everything should be reachable by keyboard. This usually works, but not always. Still, I don't think it is a reason for creating some new desktop.

[quote]
Are there any tips how an app launcher should work, how default settings should be, how switching apps etc would be done best?
[/quote]
I think there are not, and I think that there is nothing new to be invented. Rather, we should ensure that already existing things are accessible, looking at you Gnome and your control center.
[quote]
I could imagine:

- All apps opening fullscreen
[/quote]
not sure why
[quote]
- Alt-Tab for switching, with the screenreader saying the apps name
[/quote]
That is something that works on Mate and I guess Gnome as well

[quote]
- very good UI keyboard support
[/quote]
This is actually prety good on Mate and Gnome
[quote]
- consistency (for example in KDE the selector doesnt always move on first press)
[/quote]
I think this is not a problem on GTK based desktops
[quote]
- preinstalled app sources, file associations, easy app installation on startup (so maybe the GNOME dialog could be easily used for that)
[/quote]
This is easily doable through a custom kickstart or some helper
[quote]
- after login, saying the name of the currently focussed app
[P/quote]
This works by default everywhere
[quote]
- notification when there is a yes/no or warning dialog, allowing keyboars usage here
[/quote]
Notification sounds often exist and work, dialogs are also usually announced correctly
[quote]
- automatic updates without any user interaction
[/quote]
ech... that is actually not something I agree with, but it can be done
[quote]
- what else?
[/quote]
Maybe package some special software for OCR etc... Vojtux tries to do that. And involve with the community, they will tell us what they want.
More importantly, we should expalin to devels and QAs and UX designers that accessibility is important and they should consider it while designing, coding and testing. If they do that, then accessibility will be high, therefore on par with Windows and Mac, therefore on par with user's expectations.




[quote]
Would things like voice control be nice?
[/quote]
Hehe, many people seem to think that voice control is important for blind users... I still don't know why, I don't know anybody who is blind (with no other additional physical disability) and would use voice control to control a desktop.
[quote]
## What about privacy?
I can imagine using a hardened Browser for example might be pretty annoying. Opening NoScript to allow every new sites javascript for example. But it could be possible. I can imagine that a11y and privacy are often not a practical bundle, and this kinda sucks? 

Everyone should have the possibility to not be spied on. What do you think, what would be major problems with for example a hardened Browser?
[/quote]
Hardened browser is not that big problem, I used to use Noscript in past... I think this is an interesting point, but from my point of view it is not the most important.
[quote]
---

I think this is a really interesting field, that should not be a nieche project by affected people.

[Vojtux](https://github.com/vojtapolasek/vojtux) seems like a great project, and I think having an "install and go" Fedora Atomic image would be very great.

Basically I imagine an a11y (btw. where does this abbreviation come from?) first Distro to do all the things Vojtux does by default, and this would be quite a step up from what my current Fedora experience looks like.
[/quote]
A11y = accessibility, same as l10n is localization. You just write number of characters between the first and the last character of the word.
Anyway, could you please elaborate on your idea in the previous paragraph? Why Fedora atomic?
1 Like

thanks for your answer, but it is always formatted as codeblocks, which have no automatic linebreaks.

I guess you are using HTML? You can write in markdown in these fields, but HTML does not work for some reason

Thanks for the heads up. Yes Vojtux sounds like a great project!

I will try Orca, what I meant is that the speech synthesizers sound horrible, even though for example piper produces great results.

Yes agree, probably a sighted Desktop + screenreaders make sense. I would guess GNOME would be the best choice, and it is also default on Fedora. Interesting that you prefer Mate, as I thought of it just as old GNOME. Dropping X11 would be a big problem here I suppose, but the screenreader situation in general is extremely dependend on X11 right?

I read that Gnome got a pretty big fund by a German state department, and will use that for improving accessibility. This API that uses something similar to push in browsers, where websites and apps would have to actively output what they want to be read. Sounds like a biig problem with compatibility for me…

But the end result will probably be wayy better, as you don’t get spammed with that much unessential text.

Great to hear that so much is already working! But did you also try Wayland? I have the feeling some things might not work there.

This a11y is stilly pretty funny haha, but okay.

Why atomic and automatic updates? because it just works. things are already set up, updates are always done and they are way more controlled and stable. Atomic means if an update fails, it is not applied. This is because not the running system is updated, but a cloned image that will be set as boot target on reboot. Immutable is actually not true, but it means that the core system can’t be changed easily, you can install and uninstall RPM packages though. This means viruses have it harder, and updates are very controlled.

This means you would create a distro image, based off Fedora Silverblue, which is based off Fedora but with a few different things and the new immutable model. This will then be modified, custom settings, custom apps, presets, all of that, to be pretty much perfect and most importantly consistent. Users can still submit feature requests, and they can also just install any RPM they want, and also uninstall RPMs.

But updates are always done by comparing your local system with a remote system (the system that the developers build, so it is stable and tested). Then only the differences get downloaded, and you can always reset changes to be an exact clone of that remote system. It is a great benefit for stability.

But regarding that, how do Flatpaks work with a11y? Or did you try toolbox, using Podman containers to run GUI or CLI apps? It is a very nice technology to isolate packages from your Core OS, because especially for blind people I imagine a system always has to work, if not every emergency shell or kernel panic will have voice output.

Fedora ships the variants for GNOME, KDE, Sway and Budgie. But there is the ublue Project which takes these base images from fedora and produce way more out of them.

They use a staged model, so they have the base fedora image, add things like drivers and nonfree video codecs to them, and then they add the desktops. They have different variants for nvidia drivers included, and also for asus, surface and framework. They support way more variants like Cinnamon, Mate, Deepin and a lot of variants. There also is secureblue, basing of ublue and focussing on strict security.

So you see this image-based model is crazy, it allows for very stable distributions but using Github actions you can also modify them how you want, add packages, preconfigure etc, and in the end have a just working Distro for your use case. Here is the ublue starting point repo, where one can start to build such a distro

Ublue integrates some packages that may be really good / necessary:

  • ffmpeg completely
  • “just”, a command line utility to run custom shell stuff easily. You can set presets, so that users can just run “just update” and everything updates, or “just x11” and the desktop changes to X11 or whatever
  • yafti, an app to install flatpak apps on first install
2 Likes