[orca] Sanity check first caret context



commit 6bd582ce88693875365acd53c13d2c23db2f4369
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Thu Aug 29 13:10:33 2019 -0400

    Sanity check first caret context

 src/orca/scripts/web/script_utilities.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index fbde49a58..3c4d4353b 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -4208,9 +4208,11 @@ class Utilities(script_utilities.Utilities):
                     debug.println(debug.LEVEL_INFO, msg, True)
                     return nextObj, nextOffset
 
-            msg = "WEB: First caret context for non-text context %s, %i is %s, %i" % (obj, offset, obj, 0)
-            debug.println(debug.LEVEL_INFO, msg, True)
-            return obj, 0
+            if self._canHaveCaretContext(obj):
+                msg = "WEB: First caret context for non-text context %s, %i is %s, %i" % \
+                    (obj, offset, obj, 0)
+                debug.println(debug.LEVEL_INFO, msg, True)
+                return obj, 0
 
         if offset >= text.characterCount:
             if self.isLink(obj) and self.isContentEditableWithEmbeddedObjects(obj):
@@ -4244,6 +4246,13 @@ class Utilities(script_utilities.Utilities):
             debug.println(debug.LEVEL_INFO, msg, True)
             return obj, offset + 1
 
+        if not self._canHaveCaretContext(child):
+            nextObj, nextOffset = self.nextContext(obj, offset)
+            msg = "WEB: First caret context for %s, %i is %s, %i (child cannot be context)" % \
+                (obj, offset, nextObj, nextOffset)
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return nextObj, nextOffset
+
         msg = "WEB: Looking in child %s for first caret context for %s, %i" % (child, obj, offset)
         debug.println(debug.LEVEL_INFO, msg, True)
         return self.findFirstCaretContext(child, 0)


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