[orca] Web: Fix subscript and superscript being treated as a different line



commit ef72e13810e01ce7bba73479344d4a0e6074265d
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Wed Nov 3 15:52:02 2021 +0100

    Web: Fix subscript and superscript being treated as a different line

 src/orca/scripts/web/script_utilities.py | 8 ++++++++
 1 file changed, 8 insertions(+)
---
diff --git a/src/orca/scripts/web/script_utilities.py b/src/orca/scripts/web/script_utilities.py
index e8a78e8f5..c2e065af2 100644
--- a/src/orca/scripts/web/script_utilities.py
+++ b/src/orca/scripts/web/script_utilities.py
@@ -1791,6 +1791,8 @@ class Utilities(script_utilities.Utilities):
 
             if self.isMathTopLevel(xObj) or self.isMath(obj):
                 onSameLine = self.extentsAreOnSameLine(extents, xExtents, extents[3])
+            elif self.isTextSubscriptOrSuperscript(xObj):
+                onSameLine = self.extentsAreOnSameLine(extents, xExtents, xExtents[3])
             else:
                 onSameLine = self.extentsAreOnSameLine(extents, xExtents)
             return onSameLine
@@ -3909,6 +3911,12 @@ class Utilities(script_utilities.Utilities):
         self._hasUselessCanvasDescendant[hash(obj)] = rv
         return rv
 
+    def isTextSubscriptOrSuperscript(self, obj):
+        if self.isMath(obj):
+            return False
+
+        return obj.getRole() in [pyatspi.ROLE_SUBSCRIPT, pyatspi.ROLE_SUPERSCRIPT]
+
     def isSwitch(self, obj):
         if not (obj and self.inDocumentContent(obj)):
             return super().isSwitch(obj)


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