[orca] Prefer landmark role over object attributes when searching for landmarks
- From: Joanmarie Diggs <joanied src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [orca] Prefer landmark role over object attributes when searching for landmarks
- Date: Mon, 12 Aug 2019 21:19:49 +0000 (UTC)
commit 5382e1329a15f05c60aa1fb1ce582e33dd732724
Author: Joanmarie Diggs <jdiggs igalia com>
Date: Mon Aug 12 17:18:28 2019 -0400
Prefer landmark role over object attributes when searching for landmarks
src/orca/script_utilities.py | 3 +++
src/orca/scripts/toolkits/Chromium/script_utilities.py | 3 +++
src/orca/scripts/web/script_utilities.py | 5 ++++-
src/orca/structural_navigation.py | 4 +++-
4 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
index 6a81c8ccc..f892949ff 100644
--- a/src/orca/script_utilities.py
+++ b/src/orca/script_utilities.py
@@ -881,6 +881,9 @@ class Utilities:
def isFigure(self, obj):
return False
+ def supportsLandmarkRole(self):
+ return False
+
def isLandmark(self, obj):
return False
diff --git a/src/orca/scripts/toolkits/Chromium/script_utilities.py
b/src/orca/scripts/toolkits/Chromium/script_utilities.py
index b7f989419..7d5ea80f9 100644
--- a/src/orca/scripts/toolkits/Chromium/script_utilities.py
+++ b/src/orca/scripts/toolkits/Chromium/script_utilities.py
@@ -450,3 +450,6 @@ class Utilities(web.Utilities):
return False
return True
+
+ def supportsLandmarkRole(self):
+ return True
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index df5f08e63..a7be9767f 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -4386,8 +4386,11 @@ class Utilities(script_utilities.Utilities):
pyatspi.ROLE_LINK,
pyatspi.ROLE_TABLE,
pyatspi.ROLE_FORM,
- pyatspi.ROLE_SECTION, # We can nuke this when Firefox correcly maps landmarks
pyatspi.ROLE_LANDMARK]
+
+ if not self.supportsLandmarkRole():
+ roles.append(pyatspi.ROLE_SECTION)
+
rule = col.createMatchRule(stateset.raw(), col.MATCH_NONE,
"", col.MATCH_NONE,
roles, col.MATCH_ANY,
diff --git a/src/orca/structural_navigation.py b/src/orca/structural_navigation.py
index 2ede1fa45..d1d9b3867 100644
--- a/src/orca/structural_navigation.py
+++ b/src/orca/structural_navigation.py
@@ -2234,6 +2234,9 @@ class StructuralNavigation:
the criteria (e.g. the level of a heading).
"""
+ if self._script.utilities.supportsLandmarkRole():
+ return MatchCriteria(collection, roles=[pyatspi.ROLE_LANDMARK])
+
# NOTE: there is a limitation in the AT-SPI Collections interface
# when it comes to an attribute whose value can be a list. For
# example, the xml-roles attribute can be a space-separate list
@@ -2273,7 +2276,6 @@ class StructuralNavigation:
"""
if obj:
- landmark = obj
[obj, characterOffset] = self._getCaretPosition(obj)
self._setCaretPosition(obj, characterOffset)
self._presentLine(obj, characterOffset)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]