Now used Aiatana design blocks Evince accessibility usage if the current session is not Unity

Bug #1277370 reported by Attila Hammer on 2014-02-07
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
evince (Ubuntu)
High
Lars Karlitski

Bug Description

Dear Developers,

Since Evince 3.10.3-0ubuntu3 version used changes blocks Evince keyboard usage with accessibility related.
To testing some testcases, please install gnome-shell and gnome-shell-extensions packages, logout and login the gnome-classic session.
Two simple testcases if the used session is not Ubuntu (Unity interface), for example gnome, gnome-classic or gnome-flashback:
1. Launch Evince if you using for example gnome or gnome-classic session.
2. Press F10 key. Expected result with original upstream version:
After F10 key press presenting a context menu with have possibility to use importanter functions (open, close, etc).
Actual result: nothing happening after F10 key press.

A testcase with Evince accelerators related:
1. Launch Evince.
2. Try opening a file with CTRL+O keystroke.
Expected result with upstream 3.10.3 version: the file open dialog is presenting the screen after CTRL+O keystroke.
Actual result: nothing happening.

My conclusion is following with GNOME Shell environment and downstream patched evince 3.10.3-0ubuntu3 and 3.10.3-0ubuntu4 package version related:
The evince 3.10.3-0ubuntu3 and higher versions killed the original upstream version available accessibility support. Visually impaired users using only with keyboard and screen reader support if entire not see the screen.
To demonstrate this bad change, try following testcase:
1. Launch Orca screen reader with orca command.
2. Launch evince and opening a text containing pdf document (only images containing pdf file is not good now).
3. Try enabling the F7 keystroke the caret navigation support.
Expected result with upstream version: a popup message dialog will be presenting the screen after F7 keystroke, and the user have possibility to click enable button.
When caret navigation support is enabled, visually impaired users have possibility to read text-only pdf documents with Evince the Orca screen reader, full accessible way.
Actual result with Ubuntu Trusty packaged version: when F7 keystroke is pressed, nothing happening. Impossible to enabling this function, so impossible reading a pdf document with arrow keys the Evince application and Orca screen reader, impossible to selecting only a part of a pdf file, etc.

Now, I need reverting following patches and using own compiled evince package to I get full the awailable a11y support this application:
0001-Port-to-GMenuModel-and-add-menu-bar.patch
0002-Remove-gtk_application_set_accels_for_actions.patch
If I understanding right the purpose of the second patch, this patch reverting keyboard accelerators with Evince awailable actions.
If I using temporary my modified evince package, all wrote testcases passed right if I using gnome-classic session.

Attila

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: evince 3.10.3-0ubuntu4
ProcVersionSignature: Ubuntu 3.13.0-7.26-generic 3.13.1
Uname: Linux 3.13.0-7-generic i686
ApportVersion: 2.13.2-0ubuntu2
Architecture: i386
CurrentDesktop: GNOME
Date: Fri Feb 7 07:29:29 2014
InstallationDate: Installed on 2013-12-13 (55 days ago)
InstallationMedia: BeLin 3.02 i386
SourcePackage: evince
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Attila Hammer (hammera) wrote :
Attila Hammer (hammera) wrote :

This patch restoring missing a11y support for Evince, but not an optimal way.
Unfortunately if this patch applied a new version, will be kill Unity related doed menubar related modification.
Need founding a more optimal solution to al desktop environments have possibility to use you wanted menubar possibility, but keep already upstream level awailable a11y support.
I not see clear the concept. If an user using Unity and launching Evince, will be presenting a gtk.menubar style main menu, or an absolute different visually lookup main menu?
I not have possibility to using Unity, because GNOME Shell environment is more accessible now with orca.

Attila

Attila Hammer (hammera) wrote :

I browsed Evince screen with Orca flat review commands. The flat review feature provide possibility to visually impaired users browsing entire the screen and looking what widgets have the screen.
I not see any menubar related widgets the window (for example File menu, View menu, etc) if I using GNOME Shell.
This is right?

Attila

The attachment "Test fix" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Lars Karlitski (larsu) on 2014-02-07
Changed in evince (Ubuntu):
assignee: nobody → Lars Uebernickel (larsu)
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package evince - 3.10.3-0ubuntu5

---------------
evince (3.10.3-0ubuntu5) trusty; urgency=medium

  * Updated previous patch to fix some issues, thanks Lars Uebernickel
    (lp: #1277370)
 -- Sebastien Bacher <email address hidden> Fri, 07 Feb 2014 16:24:46 +0000

Changed in evince (Ubuntu):
status: In Progress → Fix Released
Attila Hammer (hammera) wrote :

Hi Lars,

In evince 3.10.3-0ubuntu5 package version following keyboard shortcuts not working I think, independent applied a fix this version, quote your patch:
+ "win.open-copy", "<Ctrl>N", NULL,
+ "win.save-copy", "<Ctrl>S", NULL,
+ "win.print", "<Ctrl>P", NULL,
+ "win.copy", "<Ctrl>C", "<Ctrl>Insert", NULL,
+ "win.select-all", "<Ctrl>A", NULL,
+ "win.save-settings", "<Ctrl>T", NULL,
+ "win.go-first-page", "<Ctrl>Home", NULL,
+ "win.go-last-page", "<Ctrl>End", NULL,
+ "win.add-bookmark", "<Ctrl>D", NULL,
+ "win.close", "<Ctrl>W", NULL,
+ "win.escape", "Escape", NULL,
+ "win.find", "<Ctrl>F", "slash", NULL,
+ "win.find-next", "<Ctrl>G", NULL,
+ "win.find-previous", "<Ctrl><Shift>G", NULL,
+ "win.select-page", "<Ctrl>L", NULL,
+ "win.go-backward", "<Shift>Page_Up", NULL,
+ "win.go-forward", "<Shift>Page_Down", NULL,
+ "win.go-next-page", "n", NULL,
+ "win.go-previous-page", "p", NULL,
+ "win.sizing-mode::fit-page", "f", NULL,
+ "win.sizing-mode::fit-width", "w", NULL,
+ "win.open-menu", "F10", NULL,
+ "win.zoom-in", "plus", "<Ctrl>plus", "KP_Add", "<Ctrl>KP_Add", NULL,
+ "win.zoom-out", "minus", "<Ctrl>minus", "KP_Subtract", "<Ctrl>KP_Subtract", NULL,
+ "win.show-side-pane", "F9", NULL,
+ "win.fullscreen", "F11", NULL,
+ "win.presentation", "F5", NULL,
+ "win.rotate-left", "<Ctrl>Left", NULL,
+ "win.rotate-right", "<Ctrl>Right", NULL,
+ "win.inverted-colors", "<Ctrl>I", NULL,
+ "win.reload", "<Ctrl>R", NULL,
+ NULL

I tested for example the CTRL+A, CTRL+C, CTRL+P, CTRL+S, CTRL+HOME, CTRL+END, n, SHIFT+N, CTRL+F, F10 shortcuts with enabled caret navigation support.
Can you fix this issue to this added shortcuts works good?
If your testing system doesn't producing any issue, because possible when I debugging this evince related issue have a corruption my system, what other packages need installed in Ubuntu Trusty to F10 key opening for example the menu in Evince?
Testcase, need trying this testcases with gnome-classic session:
1. Launch evince.
2. Press F10 key.
Expected result: opening the menu.
Actual result my system: nothing happening.

Another testcase:
1. Open evince a pdf document.
2. Press CTRL+S keystroke.
Expected result: the save dialog will be presenting the screen.
Actual result: nothing happening my system.

A question:
If you added this keystrokes the 0001-Port-to-GMenuModel-and-add-menu-bar.patch, sure need keeping the 0002-Remove-gtk_application_set_accels_for_actions.patch?

Attila

Changed in evince (Ubuntu):
status: Fix Released → New
Attila Hammer (hammera) wrote :
Download full text (9.0 KiB)

I listed the previous comment what shortcuts add the 0001-Port-to-GMenuModel-and-add-menu-bar.patch patch file.
Now, look what shortcuts to remove the 0002-Remove-gtk_application_set_accels_for_actions.patch patch file:
Index: evince-3.10.3/shell/ev-application.c
===================================================================
--- evince-3.10.3.orig/shell/ev-application.c 2014-02-07 14:01:07.235558100 +0000
+++ evince-3.10.3/shell/ev-application.c 2014-02-07 14:01:07.231558100 +0000
@@ -1104,47 +1104,9 @@
                 { "help", app_help_cb, NULL, NULL, NULL },
         };

- const gchar *action_accels[] = {
- "app.open", "<Ctrl>O", NULL,
- "win.open-copy", "<Ctrl>N", NULL,
- "win.save-copy", "<Ctrl>S", NULL,
- "win.print", "<Ctrl>P", NULL,
- "win.copy", "<Ctrl>C", "<Ctrl>Insert", NULL,
- "win.select-all", "<Ctrl>A", NULL,
- "win.save-settings", "<Ctrl>T", NULL,
- "win.go-first-page", "<Ctrl>Home", NULL,
- "win.go-last-page", "<Ctrl>End", NULL,
- "win.add-bookmark", "<Ctrl>D", NULL,
- "win.close", "<Ctrl>W", NULL,
- "win.escape", "Escape", NULL,
- "win.find", "<Ctrl>F", "slash", NULL,
- "win.find-next", "<Ctrl>G", NULL,
- "win.find-previous", "<Ctrl><Shift>G", NULL,
- "win.select-page", "<Ctrl>L", NULL,
- "win.go-backward", "<Shift>Page_Up", NULL,
- "win.go-forward", "<Shift>Page_Down", NULL,
- "win.go-next-page", "n", NULL,
- "win.go-previous-page", "p", NULL,
- "win.sizing-mode::fit-page", "f", NULL,
- "win.sizing-mode::fit-width", "w", NULL,
- "win.open-menu", "F10", NULL,
- "win.caret-navigation", "F7", NULL,
- "win.zoom-in", "plus", "<Ctrl>plus", "KP_Add", "<Ctrl>KP_Add", NULL,
- "win.zoom-out", "minus", "<Ctrl>minus", "KP_Subtract", "<Ctrl>KP_Subtract", NULL,
- "win.show-side-pane", "F9", NULL,
- "win.fullscreen", "F11", NULL,
- "win.presentation", "F5", NULL,
- "win.rotate-left", "<Ctrl>Left", NULL,
- "win.rotate-right", "<Ctrl>Right", NULL,
- "win.inverted-colors", "<Ctrl>I", NULL,
- "win.reload", "<Ctrl>R", NULL,
- NULL

After this shortcuts remove part you adding following accelerators:
+ gtk_application_add_accelerator (GTK_APPLICATION (application), "<Ctrl>F", "win.find", NULL);
+
             gtk_application_set_app_menu (GTK_APPLICATION (application),
                                           G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")));
           }

- g_object_unref (builder);
+ gtk_application_add_accelerator (GTK_APPLICATION (application), "F7", "win.caret-navigation", NULL);

The shell/menus.ui file...

Read more...

Lars Karlitski (larsu) wrote :

Attila, that patch removes the use of a function that isn't available in gtk+ 3.10 (we won't upgrade to 3.12 in this cycle). Gtk should pick up the accelerators from the menu xml, but doesn't for some reason. I've added a workaround to the patch at lp:~larsu/evince/fix-accels.

This also fixes your caret navigation issue you mentioned.

Attila Hammer (hammera) wrote :

Hi Lars,

So, the common accelerators will be working (F10 to open menu, CTRL+S to saveas the pdf file, CTRL+A and CTRL+C to select all entire content and copy to clipboard, CTRL+P to print the content)?
If the nev version is publicating, what result I need seeing in GNOME Shell if I press for example the F10 key?
I need landing a context menu (one column containing menu) with containing all important functions, or I need seeing a traditional menu bar (File Menu, Edit menu, etc) with containing the proper functions?
The upstream Evince 3.10.3 version level provided menu with activating the F10 key is not presented previous with Unity?
What happened before this downstream level modifications if an Unity user pressed for example F10 menu in Evince 3.10.3?
I newer tryed this, I alwais used GNOME Flashback session and GNOME Shell classic session.

Attila

Lars Karlitski (larsu) wrote :

Unity will show the more traditional menu bar layout (File, Edit, View, ...) in its global menu bar. Pressing F10 should open those menus.

GNOME applications are moving towards a gear menu on the right side (in ltr-layouts) of the toolbar. Evince does this as well (it has two new buttons on the toolbar that open menus: view and actions). You will see those when using GNOME shell. Pressing F10 will not open them right now.

Attila Hammer (hammera) wrote :

Lars, in Nautilus when I press F10 key when I using GNOME Shell, I full access the awailable functions with GNOME design provide me.
In Evince upstream version if I pressing F10 key, I full access awailable menu items (open, save copy, print, etc), and all awailable accelerators works right.
When I using GNOME Shell, why have now this difference the Ubuntu downstream level patched evince version and upstream 3.10.3 version?
If I reverted the two wrote patches, I have same experiences with I experienced the upstream 3.10.3 version.
Working right the F10 key combination (presenting the context menu right) when I using GNOME Shell, working the accelerators (CTRL+C, CTRL+S, CTRL+P, etc).

How can possible resolving this difference?

Attila

Changed in evince (Ubuntu):
status: New → Fix Committed
importance: Undecided → High
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package evince - 3.10.3-0ubuntu6

---------------
evince (3.10.3-0ubuntu6) trusty; urgency=medium

  * Restore working keybindings under non unity sessions,
    thanks Lars Uebernickel (lp: #1277370)
 -- Sebastien Bacher <email address hidden> Tue, 11 Feb 2014 17:02:46 +0100

Changed in evince (Ubuntu):
status: Fix Committed → Fix Released
Attila Hammer (hammera) wrote :

Hi Lars,

Thanks the update, I founded only few issues the new version.
If caret navigation enabled (require for Orca usage when a blind user reading a pdf document), following general cursor movement operations not working:
CTRL+HOME, CTRL+END, CTRL+SHIFT+HOME, CTRL+SHIFT+END, PAGEUP, PAGEDOWN.

Testcase:
1. Open a pdf document.
2. Press F7 key, and click enable button. This situation the caret navigation support is enabled.
3. Try goto the last page with CTRL+END keystroke.
Expected result: the caret jump end of the pdf document.
Actual result: nothing happen.
4. Try press pageup, pagedown, CTRL+HOME keystrokes.
Expected result: the cursor movement operation happening the proper direction.
Actual result: nothing happening.

Possible fixing this issues?

Attila

Attila Hammer (hammera) wrote :

Interesting, this document if I click the "Down" button or choosed in the menu the last page menu item, Evince not jump the last page.

Changed in evince (Ubuntu):
status: Fix Released → New
Lars Karlitski (larsu) wrote :

Hey Attila. Thanks for mentioning this issue, but it doesn't seem to be a regression introduced this patch (I'm seeing the same issue with prior versions of evince 3.10). Can you please file a new bug for that?

Martin Pitt (pitti) wrote :

Closing again as per Lars' request in previous comment. Also, there is nothing else to sponsor here.

Changed in evince (Ubuntu):
status: New → Fix Released
Attila Hammer (hammera) wrote :

Lars, one last question:
With CTRL+HOME, CTRL+END, pageup and pagedown navigation keys related enough to fill a bugreport in Launchpad, or better to doing an upstream report?
Ubuntu level possible fixing this last reported issue, or need an upstream fix with Evince development release?
Unfortunately Evince 3.10.3 release not will be getting maintenance related fix with upstream level.

Attila

Sebastien Bacher (seb128) wrote :

@Attila: having an upstream report would be better. Even if they don't fix it in the 3.10 serie (they might though) we can still cherry pick the commits in our version

Lars Karlitski (larsu) wrote :

Yes, one bug report on launchpad is enough. Feel free to assign me to it. I'll file an upstream report if necessary.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Patches