Screenreader does not work in Ubuntu MATE install

All,
I am creating a new topic to discuss the issue of Orca (screenreader) not working as intended during installation in Ubuntu MATE. There are different topics and bug reports (https://bugs.launchpad.net/ubuntu-mate/+bug/1874283 (marked as duplicate of 1231091), https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1231091 (currently tracked)) related to the issue but a central topic would help our development team (indeed everybody) to have all related info at one place. Those of us who have previously worked on this (reported bug/tested/commented etc) please review and update as needed; I may have missed some info or possibly misunderstood or miscomunicated some.

Issue:
Screenreader does not work in Ubuntu MATE at installation.

Affected:
focal, groovy, hirsute and impish

Description:
Ubuntu (MATE) installer, ubiquity, has option to install Ubuntu (MATE) using screenreading application (Orca) to assist visually impaired users to be able in installing Ubuntu. The way it works is,

  • the installer boots into what is called 'maybe-ubiquity' screen. We hear a sound when this window loads. This window has three main options, one to select installation language, one labeled 'Try Ubuntu (MATE)' to load the live-session and one labeled 'Install Ubuntu (MATE)' to directly start the installer without going into live-session.
  • at this stage, we can enable screenreader with Alt+Super+s key combination. We can hear 'Screenreader on' and it reads title of the 'maybe ubiquity' window.
  • we can use tab and arrow keys to select desired language and then either select 'Try Ubuntu MATE' or 'Install Ubuntu MATE'.
  • irrespective of our choice, the screenreader will read the contents of the screen and active window assisting us to navigate and be able to install Ubuntu.

This used to work previously as reported by some users but it seems starting with 20.04 (definitely starting 20.10) Orca stopped working during installation i.e., it does not read the contents (labels) of the installer. Please note, Orca works fine for other applications, just not for the installer.

To reproduce the issue, you can try the following steps.

  1. Select UM iso of any release starting focal or impish daily-build image.
  2. When you hear the sound (when maybe-ubiquity screen loads), start orca screenreader by pressing Alt+Super+s key combination.
  3. Screenreader starts and we know this because we can hear 'Screenreader on' message. However, no audio feedback for the screen thereafter for any of the options/labels.
  4. You continue and choose 'Install Ubuntu MATE'. Check few installation steps. No audio from screenreader.
  5. You can reboot and this time select 'Try Ubuntu MATE'. The live desktop is loaded.
  6. Screenreader is still on and reads out desktop items or the menu items if we navigate etc.
  7. Start the installer. Screenreader reads only the first screen's title and then no more audio feedback for any of the navigation or screens.

This the status as it is now. @Norbert_X did some testing on real hardware and with different release ISOs and below is his observation (from discord chat):

* Ubuntu MATE 14.04.2 reads installer on pressing <Ctrl>+<S>;
* Ubuntu MATE 16.04 does not launch screen reader by keyboard shortcut at all but may be activated from AT indicator on right top panel;
* Ubuntu MATE 18.04 reads installer on pressing <Alt>+<Super>+<S> and <Tab>;
* Ubuntu MATE 19.10 reads installer on pressing <Alt>+<Super>+<S> and <Tab>;
* Ubuntu MATE 20.04 and 20.04.2.0 does not read installer on pressing <Alt>+<Super>+<S> and <Tab>;
* Ubuntu MATE 20.10 does not read installer on pressing <Alt>+<Super>+<S> and <Tab>.

This confirms that the feature was working on UM but something broke this functionality starting 20.04.

Following are some additional information we were able to collect and recorded in bug #1231091.

  1. Screenreader audio feedback for 'maybe-ubiquity' screen is working in main Ubuntu but not in Ubuntu MATE.
  2. Some users had commented that if they boot into efi mode the screen reader installer worked fine but had problem only in BIOS mode.
    • Current status: Both modes have problems (definitely 20.10 onwards).
  3. Some users also commented that if they used live mode (Try Ubuntu), the screenreader worked fine for installation but not if they choose installer directly (i.e., 'Install Ubuntu' option).
    • Current status:
      a) If we choose 'Try Ubuntu' and launch installer from live-session, screenreader is not working, for both Ubuntu default and Ubuntu MATE.
      b) If we choose 'Install Ubuntu', the screenreader is working for Ubuntu only but no luck on Ubuntu MATE.
  4. Screenreader works if we start assistive technology in live session (Thanks @artemiy-22 on launchpad). Following are steps to make screenreader install work in Ubuntu MATE.
    a) Select 'Try Ubuntu'
    b) Once the desktop loads, open 'Assistive Technologies Preferences' and check 'enable assistive technologies' (even when screenreader is on).
    c) Choose 'Close and Log Out'. (Just using 'Close' does not work, we have to end the current session).
    d) Select 'Live session user' in the login screen and hit return (no password).
    e) After we re-login and start the screenreader, we can use installer in blind user mode.

Note-1: Regarding observation 4) I had suggested to @Wimpy to enable this option by default in gsettings thinking that would fix the problem at least on live-session. Unfortunately, that was not the case; as I later found out, the problem persists even when this option is enabled by default. It was not 'enabling' assistive technology setting but just 'toggling' that setting and restarting session that caused Orca to somehow be able to read the installer.

Note-2: @xnox made a comment on bug report (comment #9) which I do not fully understand and hence pasting it here verbatim.

because ubiquity is privileged sudo process for which we prohibit the user permissions-only screenreader to read, as if ubiquity, when launched from live session should kill screenreader, and relaunch it. Or like run its own instance.

Note-3: Related to comment #9, @hellsworth made an observation that while 'maybe-ubiquity' window on Ubuntu is titled 'Install', it reads 'Install (as superuser)' on UM.

This is the story so far :smiley: We will have to figure out what is causing the issue (esp. when it works in main Ubuntu) and fix it at the earliest. We could (should) target the upcoming Impish release for this.

Thank you and best of luck!

4 Likes