[orca] Chromium: Eliminate false positive on list item marker



commit ed304143fb93811f3a1b5a833ef210c31ccda8fe
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Mon Apr 13 16:24:39 2020 -0400

    Chromium: Eliminate false positive on list item marker
    
    Some list items have no marker and only one static text leaf child.
    If this child lacks the "::marker" tag and has the same text as the
    parent list item, odds are we have a markerless list item and should
    ignore this child.

 src/orca/scripts/toolkits/Chromium/script_utilities.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/src/orca/scripts/toolkits/Chromium/script_utilities.py 
b/src/orca/scripts/toolkits/Chromium/script_utilities.py
index a6b5b046b..1688f1c11 100644
--- a/src/orca/scripts/toolkits/Chromium/script_utilities.py
+++ b/src/orca/scripts/toolkits/Chromium/script_utilities.py
@@ -108,7 +108,15 @@ class Utilities(web.Utilities):
 
         rv = False
         if obj.parent and obj.parent.getRole() == pyatspi.ROLE_LIST_ITEM:
-            rv = self._getTag(obj) in ["::marker", None] and obj.parent[0] == obj
+            tag = self._getTag(obj)
+            if tag == "::marker":
+                rv = True
+            elif tag is not None:
+                rv = False
+            elif obj.parent.childCount > 1:
+                rv = obj.parent[0] == obj
+            else:
+                rv = obj.name != self.displayedText(obj.parent)
 
         self._isListItemMarker[hash(obj)] = rv
         return rv


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