Index: src/orca/Gecko.py
===================================================================
--- src/orca/Gecko.py	(revision 2348)
+++ src/orca/Gecko.py	(working copy)
@@ -3080,7 +3080,8 @@
                     weHandleIt = \
                         keyboardEvent.event_string in ["Left", "Right"]
 
-        elif obj and (obj.role == rolenames.ROLE_LIST):
+        elif obj and obj.role in [rolenames.ROLE_LIST,
+                                  rolenames.ROLE_LIST_ITEM]:
             # We'll let Firefox handle the navigation of lists in forms.
             #
             if obj.state.count(atspi.Accessibility.STATE_FOCUSABLE):
@@ -4720,7 +4721,8 @@
             # Move back to the first character in the list before setting
             # the caret position.
             #
-            if lastObj.role == rolenames.ROLE_LIST_ITEM:
+            if lastObj.role == rolenames.ROLE_LIST_ITEM and not \
+               lastObj.state.count(atspi.Accessibility.STATE_FOCUSABLE):
                 extents = self.getExtents(lastObj,
                                           lastCharacterOffset,
                                           lastCharacterOffset + 1)
