diff --git src/orca/scripts/toolkits/Gecko/script.py src/orca/scripts/toolkits/Gecko/script.py
index dea8ebf..03e0e1c 100644
--- src/orca/scripts/toolkits/Gecko/script.py
+++ src/orca/scripts/toolkits/Gecko/script.py
@@ -5856,12 +5856,20 @@ class Script(default.Script):
 
         contextObj, contextCaret = self.getCaretContext()
 
-        string, caretOffset, startOffset = \
-            default.Script.getTextLineAtCaret(self, obj)
-
         if contextObj == obj:
-            if not obj.getState().contains(pyatspi.STATE_EDITABLE):
-                caretOffset = contextCaret
+            try:
+                ti = obj.queryText()
+            except NotImplementedError:
+                return ["", 0, 0]
+            else:
+                if not obj.getState().contains(pyatspi.STATE_EDITABLE):
+                    string, startOffset, endOffset = ti.getTextAtOffset(
+                        contextCaret, pyatspi.TEXT_BOUNDARY_LINE_START)
+                    caretOffset = contextCaret
+        else:
+            string, caretOffset, startOffset = \
+                default.Script.getTextLineAtCaret(self, obj)
+
         
         return string, caretOffset, startOffset
 
