Bug #14752

On-screen keyboard works neither in Tor Browser nor in Thunderbird if started after it

Added by intrigeri 2017-09-30 07:32:04 . Updated 2017-11-15 11:33:55 .

Status:
Resolved
Priority:
Elevated
Assignee:
Category:
Accessibility
Target version:
Start date:
2017-09-30
Due date:
% Done:

100%

Feature Branch:
bugfix/14752-a11y-enabled-after-tor-browser-is-started
Type of work:
Code
Blueprint:

Starter:
Affected tool:
On-screen keyboard
Deliverable for:

Description

This problem probably has the same root cause as Bug #9260. Gedit is not affected so it must be related to something weird we do for Tor Browser specifically.

So far, this got reported (Feature #10263#note-8) only by the people who participated in the 3.2 manual testing session, so I’ll assume that very few people use this feature at all. Still, the on-screen keyboard is an important accessibility and hardware enablement (touch devices) feature so I’ll handle this as a regression, not with super high priority but still. If it’s too hard to fix quickly I’ll document this as a known issue for the time being.


Subtasks


Related issues

Related to Tails - Bug #9260: Orca reads neither Tor Browser nor Thunderbird if started after it Resolved 2015-04-18
Blocked by Tails - Bug #14735: stable branch FTBFS since the 3.2 release Resolved 2017-09-29

History

#1 Updated by intrigeri 2017-09-30 07:32:39

  • related to Bug #9260: Orca reads neither Tor Browser nor Thunderbird if started after it added

#2 Updated by intrigeri 2017-09-30 08:48:58

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10
  • Type of work changed from Research to Code

Let’s start by eliminating potential root causes:

  • I can reproduce this with pristine Firefox 52.3.0esr-2 on Debian sid.
  • I’ve compared the environment in which the firefox and plugin-container processes run when started before/after the screen keyboard, and only GIO_LAUNCHED_DESKTOP_FILE_PID varies (which is expected and unrelated).
  • Commenting out unset SESSION_MANAGER in /usr/local/lib/tails-shell-library/tor-browser.sh does not help.
  • Disabling the torbrowser AppArmor profile does not help.
  • Disabling e10s does not help.

The value of the accessibility.lastLoadDate Tor Browser pref changes accross startups, regardless of whether the screen keyboard is enabled.

about:support says that accessibility is activated if, and only if, the screen keyboard was enabled before starting Tor Browser. Setting accessibility.loadedInLastSession to true does not change this. Same with pristine Firefox 52.3.0esr-2 on Debian sid.

And finally, success! After reading accessible/atk/Platform.cpp in the Tor Browser source code, on a hunch I’ve tried running GNOME_ACCESSIBILITY=1 tor-browser, then enables the screen keyboard, and it worked :) Same for Orca. My understanding of the code is that if this envvar is not set, Firefox will check via D-Bus at startup if accessibility is enabled in the Desktop, and if it’s not it’ll permanently disable accessibility.

I’ll now build a branch that sets this variable and see if it breaks anything.

#3 Updated by intrigeri 2017-09-30 08:57:59

  • blocked by Bug #14735: stable branch FTBFS since the 3.2 release added

#4 Updated by intrigeri 2017-09-30 08:58:37

  • Feature Branch set to bugfix/14752-a11y-enabled-after-tor-browser-is-started

#5 Updated by intrigeri 2017-10-01 07:46:21

  • Subject changed from On-screen keyboard does not work in Tor Browser if started after it to On-screen keyboard work neither in Tor Browser nor in Thunderbird if started after it

#6 Updated by intrigeri 2017-10-01 08:13:25

  • Subject changed from On-screen keyboard work neither in Tor Browser nor in Thunderbird if started after it to On-screen keyboard works neither in Tor Browser nor in Thunderbird if started after it

#7 Updated by intrigeri 2017-10-01 08:15:05

  • % Done changed from 10 to 30

Fixed for Thunderbird as well. Another full test suite run and I think it’ll be ready for QA :)

#8 Updated by intrigeri 2017-10-01 10:25:02

  • Assignee changed from intrigeri to anonym
  • Priority changed from Normal to Elevated
  • QA Check set to Ready for QA

Full test suite, including @fragile, passed. Elevated prio as this is a regression vs. Florence.

#9 Updated by anonym 2017-10-04 16:23:18

  • Status changed from In Progress to Fix committed
  • Assignee deleted (anonym)
  • % Done changed from 30 to 100
  • QA Check changed from Ready for QA to Pass

#10 Updated by anonym 2017-11-15 11:33:55

  • Status changed from Fix committed to Resolved