[orca] Prevent double-speaking of link ancestor of image during SayAll
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Prevent double-speaking of link ancestor of image during SayAll
- Date: Wed, 3 Jul 2019 17:41:49 +0000 (UTC)
commit 0a922f5b46e24ae110fe890218e73dc9f0491e81
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Wed Jul 3 13:41:26 2019 -0400
Prevent double-speaking of link ancestor of image during SayAll
src/orca/scripts/web/script.py | 3 +++
src/orca/scripts/web/script_utilities.py | 12 ++++++++++++
2 files changed, 15 insertions(+)
---
diff --git a/src/orca/scripts/web/script.py b/src/orca/scripts/web/script.py
index a3b0bfe40..2c6febae2 100644
--- a/src/orca/scripts/web/script.py
+++ b/src/orca/scripts/web/script.py
@@ -599,6 +599,9 @@ class Script(default.Script):
if self.utilities.isLabellingContents(obj):
continue
+ if self.utilities.isLinkAncestorOfImageInContents(obj, contents):
+ continue
+
utterances = self.speechGenerator.generateContents(
[content], eliminatePauses=True, priorObj=priorObj)
priorObj = obj
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index 280f9ac84..a60c6d6ac 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -2754,6 +2754,18 @@ class Utilities(script_utilities.Utilities):
self._labelTargets[hash(obj)] = rv
return rv
+ def isLinkAncestorOfImageInContents(self, link, contents):
+ if not self.isLink(link):
+ return False
+
+ for obj, start, end, string in contents:
+ if obj.getRole() != pyatspi.ROLE_IMAGE:
+ continue
+ if pyatspi.findAncestor(obj, lambda x: x == link):
+ return True
+
+ return False
+
def isInferredLabelForContents(self, content, contents):
obj, start, end, string = content
objs = list(filter(self.shouldInferLabelFor, [x[0] for x in contents]))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]