[BRLTTY] Footsteps towards better accessibility in Linux
Aura Kelloniemi
kaura.dev at sange.fi
Tue Apr 1 09:46:25 UTC 2025
Hi,
As some of you know, the accessibility situation with Linux is, well, limited.
Most sighted people nowadays use graphical desktops or simpler X window
managers or Wayland compositors. When people use terminal emulators, they
reach for graphical ones, some of which are based on the GNOME VTE terminal
emulator library, some more interesting ones are not.
Most of us, I believe, are using the Linux console daily. It works quite
nicely for most of us, I think. There are some issues though: most
importantly, sighted people generally don't use Linux console nowadays.
Linux's console infrastructure is pretty much deprecated and the code receives
very little maintenance.
There are cricital bugs in the Linux console affecting us. One of them is that
many Unicode double-width and zero-width characters are not recognized as such
which leads to serious rendering issues with all applications when these
characters (like emojis) are printed to the console.
The other problem important to many of us is that Linux console does not
support extended keyboard input, like shifted cursor keys. This is very
limiting especially in newer termianl applications. Using Org-mode for example
without shifted/CTRLed/METAed cursor keys is unpleasant. As people who mostly
do not use mouse, good keyboard input support is a top priority.
There are hacks which add extended keyboard support to Linux console in some
degree. However, there are limitations which these hacks cannot overcome, such
as the number of definable function keys and the fact that applications
relying on terminfo or termcap do not recognize the added escape sequences. In
addition these hacks have received little testing, do not work universally and
are not part of any distribution.
Linux console experience for sighted users is even worse than for us. The
Linux console font can have at most 512 different glyphs (which is not enough
nowadays). Also the colour support is limited and buggy. Linux console does
not support text attributes, such as underline, bold, standout, etc.
On the graphical desktop side our options are very limited. We can use
terminal emulators which support AT-SPI2 (currently only VTE-based emulators),
but these have even more issues than the Linux console: no terminal width
detection, no proper input injection (resulting in paste and cursor routing
being slow and hacky), no colour support for us, no support for using the
menus and dialogs of the terminal emulator, issues with BrlAPI related to
undetectable window/tab switching.
GUI terminal emulators would give us many benefits, if we could fix the
issues:
1) Some of them allow many customization possibilities, like scripting,
configurable key bindings, configurable sound effects, etc.
2) Support for modern bells and whistles, such as Unicode 16.0, bidirectional
text, live terminal resizing, text attributes, bracketed paste, etc.
3) Using the same tools with sighted people results in better support and
better integration into the sighted people's community. (Also possibly better
integration with the Orca community.)
4) Better support for embedded devices. Linux smartphones are here (Librem 5,
PinePhone, everything supported by PostmarketOS). Quite many of us already use
Raspberry Pis. As Linux console is dying, these systems don't much care about
it. On devices with small screens (and devices with no screen) Linux console
can be very broken. Mobile devices use various different desktop environments
mostly based on Wayland.
5) Many features important to end-users are tied to graphical desktop sessions
in Linux, even though this would not be necessary. For example upower,
udisks2, some setups of PipeWire, etc. could work in Linux console, but do
not, because nobody has been interested in supporting it.
I'd like to ask now, what do you people think? Do you agree with me that the
above mentioned things are issues and that we would benefit from things
getting fixed?
More important question of course is, is there something we can do about it.
We would need to decide, whether we want to improve the Linux console side of
things or should we invest resources in improving desktop accessibility.
I don't know the desktop accessibility infrastructure very well, neither do I
know the people in there. But what I know is that there is lots of code and we
might not have the resources to get big improvements rocking without help.
Thus I started to think, would there be some organizations/companies which
would be interested in sponsoring such development.
Does somebody know, if the funding options have been thoroughly evaluated and
how easy/difficult it would be to get even one developer a long-term payment
for working with accessibility?
My personal opinion is that we should not use our resources to improve the
Linux kernel's console driver. It is inevitably going to die, very slowly
probably, because it is needed in emergency situations, but still it is dying.
I would go for investing to desktop accessibility, but it is a lot of work.
Thanks for reading and thanks for comments!
--
Aura
More information about the BRLTTY
mailing list