[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1011287: marked as done (bullseye-pu: package orca/3.38.2-2)



Your message dated Sat, 09 Jul 2022 11:47:43 +0100
with message-id <2280fe8c78e64b02a6c1d04c6dde5a32e342ba81.camel@adam-barratt.org.uk>
and subject line Closing requests for updates included in 11.4
has caused the Debian Bug report #1011287,
regarding bullseye-pu: package orca/3.38.2-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1011287: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1011287
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu

(the same was submitted for buster-pu)

[ Reason ]
The upload of webkit2gtk 2.36 into stable-sec and oldstable-sec
introduced severe accessibility regressions in stable and oldstable, the
upstream bug report is here:
https://gitlab.gnome.org/GNOME/orca/-/issues/244

[ Impact ]
This breaks structural navigation commands (“next/previous heading,
next/previous form field, list of all headings, list of all form fields,
etc., etc.”) which people use to make sense out of web pages which are
not making efforts to be accessible. It also breaks helper scripts that
Orca uses to make navigation smooth. In my tests, it was making Orca
completely silent in yelp for instance...

[ Tests ]
This was manually tested by usptream and in Debian.

[ Risks ]
The proposed changes come from upstream, and are very defensive, see the
attached changes and description below.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
git-webkitgtk1 just additionally accepts WebKitGTK as an alias for WebKitGtk,

git-webkitgtk2 catches an exception and logs a warning instead of making
orca completely silent.
diff -Nru orca-3.38.2/debian/changelog orca-3.38.2/debian/changelog
--- orca-3.38.2/debian/changelog	2020-12-23 22:02:25.000000000 +0100
+++ orca-3.38.2/debian/changelog	2022-05-19 15:50:44.000000000 +0200
@@ -1,3 +1,12 @@
+orca (3.38.2-2) bullseye; urgency=high
+
+  * debian/patches/git-webkitgtk1: Fix screen reading of webkitgtk 2.36 which
+    changed its toolkit name
+  * debian/patches/git-webkitgtk2: Fix screen reading of webkitgtk 2.36 which
+    doesn't implement Collection any more.
+
+ -- Samuel Thibault <sthibault@debian.org>  Thu, 19 May 2022 15:50:44 +0200
+
 orca (3.38.2-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru orca-3.38.2/debian/patches/git-webkitgtk1 orca-3.38.2/debian/patches/git-webkitgtk1
--- orca-3.38.2/debian/patches/git-webkitgtk1	1970-01-01 01:00:00.000000000 +0100
+++ orca-3.38.2/debian/patches/git-webkitgtk1	2022-05-19 15:50:44.000000000 +0200
@@ -0,0 +1,53 @@
+commit 957e11b3c232632ec0e781b5d765c3000bcd1fb4
+Author: Joanmarie Diggs <jdiggs@igalia.com>
+Date:   Tue May 17 12:21:11 2022 +0200
+
+    Handle WebKitGtk's change in toolkit name casing
+    
+    WebKitGtk objects now expose the toolkit name as WebKitGTK. Our
+    script mapping for toolkits should probably not be case sensitive.
+    For the purpose of making newer releases of WebKitGtk still work
+    with older, stable versions of Orca, this commit just handles
+    the alternative casing for WebKitGtk.
+    
+    Note that in some cases (e.g. Yelp), native caret navigation via
+    F7 does not seem to be reliably toggled. That is a feature of either
+    the app or the toolkit; not of Orca. This commit does not impact that.
+    
+    See issue #244
+
+---
+ src/orca/script_manager.py                              |    3 +++
+ src/orca/scripts/toolkits/WebKitGtk/script_utilities.py |    2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+--- a/src/orca/script_manager.py
++++ b/src/orca/script_manager.py
+@@ -59,6 +59,8 @@ class ScriptManager:
+              'pluma': 'gedit',
+              'org.gnome.gedit': 'gedit',
+             }
++        self._toolkitNames = \
++            {'WebKitGTK': 'WebKitGtk'}
+ 
+         self.setActiveScript(None, "__init__")
+         self._desktop = pyatspi.Registry.getDesktop(0)
+@@ -135,6 +137,7 @@ class ScriptManager:
+             else:
+                 attrs = dict([attr.split(':', 1) for attr in attributes])
+                 name = attrs.get('toolkit', '')
++                name = self._toolkitNames.get(name, name)
+ 
+         return name
+ 
+--- a/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py
++++ b/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py
+@@ -58,7 +58,7 @@ class Utilities(script_utilities.Utiliti
+             return False
+ 
+         attrs = self.objectAttributes(obj)
+-        return attrs.get('toolkit', '') == 'WebKitGtk'
++        return attrs.get('toolkit', '') in ['WebKitGtk', 'WebKitGTK']
+ 
+     def getCaretContext(self):
+         # TODO - JD: This is private, but it's only here temporarily until we
diff -Nru orca-3.38.2/debian/patches/git-webkitgtk2 orca-3.38.2/debian/patches/git-webkitgtk2
--- orca-3.38.2/debian/patches/git-webkitgtk2	1970-01-01 01:00:00.000000000 +0100
+++ orca-3.38.2/debian/patches/git-webkitgtk2	2022-05-19 15:50:44.000000000 +0200
@@ -0,0 +1,43 @@
+commit e9d8a3e5faa71531a615002dc37bcfda12d15abb
+Author: Joanmarie Diggs <jdiggs@igalia.com>
+Date:   Tue May 17 14:14:09 2022 +0200
+
+    Structural Navigation: Handle unimplemented collection interface error
+    
+    The collection interface is something applications and toolkits get
+    "for free" from AT-SPI2. However, applications/toolkits that provide
+    their own implementation of AT-SPI2 (e.g. WebKitGtk) presumably need
+    to also implement AtspiCollection themselves, or do something so that
+    the default AT-SPI2 implementation is used. Currently, in WebKitGtk
+    version 2.36, a non-implemented error occurs when querying the
+    collection interface on the document. We were not handling this error,
+    causing Orca to be silent when structural navigation commands were
+    used. This commit handles the error. It cannot solve the missing
+    implementation, however. Thus in WebKitGtk apps,  Orca will now announce
+    things like "no more headings" when there are in fact headings present.
+    
+    See issue #244
+
+diff --git a/src/orca/structural_navigation.py b/src/orca/structural_navigation.py
+index 676efc808..920e03e71 100644
+--- a/src/orca/structural_navigation.py
++++ b/src/orca/structural_navigation.py
+@@ -868,7 +868,17 @@ class StructuralNavigation:
+         if matches:
+             return matches.copy(), criteria
+ 
+-        col = document.queryCollection()
++        try:
++            col = document.queryCollection()
++        except NotImplementedError:
++            msg = "STRUCTURAL NAVIGATION: %s does not implement collection" % document
++            debug.println(debug.LEVEL_INFO, msg, True)
++            return [], None
++        except:
++            msg = "STRUCTURAL NAVIGATION: Exception querying collection on %s" % document
++            debug.println(debug.LEVEL_INFO, msg, True)
++            return [], None
++
+         criteria = structuralNavigationObject.criteria(col, arg)
+         rule = col.createMatchRule(criteria.states.raw(),
+                                    criteria.matchStates,
diff -Nru orca-3.38.2/debian/patches/series orca-3.38.2/debian/patches/series
--- orca-3.38.2/debian/patches/series	2020-12-23 20:26:25.000000000 +0100
+++ orca-3.38.2/debian/patches/series	2022-05-19 15:50:44.000000000 +0200
@@ -1,2 +1,4 @@
 
 gedit
+git-webkitgtk1
+git-webkitgtk2

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.4

(re-sending with fixed bug numbers)

Hi,

The updates discussed in these bugs were included in today's bullseye
point release.

Regards,

Adam

--- End Message ---

Reply to: