Index: src/orca/Gecko.py
===================================================================
--- src/orca/Gecko.py	(revision 2262)
+++ src/orca/Gecko.py	(working copy)
@@ -2939,7 +2939,8 @@
 
         if obj.role in [rolenames.ROLE_IMAGE, \
                         rolenames.ROLE_TABLE_CELL, \
-                        rolenames.ROLE_SECTION]:
+                        rolenames.ROLE_SECTION, \
+                        rolenames.ROLE_SEPARATOR]:
             text = self.getDisplayedText(obj)
             if (not text) or (len(text) == 0):
                 text = self.getDisplayedLabel(obj)
@@ -3965,6 +3966,10 @@
             [obj, characterOffset] = \
                   self.findPreviousCaretInOrder(obj, characterOffset)
 
+            if obj and obj.role in NEWLINE_ROLES and not obj.text:
+                [obj, characterOffset] = \
+                    self.findPreviousCaretInOrder(obj, characterOffset, False)
+
         #print "GPL ENDED UP AT", lastObj.role, lineExtents
 
         contents = self.getLineContentsAtOffset(lastObj,
@@ -4072,6 +4077,10 @@
             [obj, characterOffset] = \
                   self.findNextCaretInOrder(obj, characterOffset)
 
+            if obj and obj.role in NEWLINE_ROLES and not obj.text:
+                [obj, characterOffset] = \
+                      self.findNextCaretInOrder(obj, characterOffset, False)
+
         #print "GNL ENDED UP AT", lastObj.role, lineExtents
         #print "GNL ENDED UP AT", lastObj
         #print "                ", lastObj.role, lastCharacterOffset
