Index: src/orca/scripts/toolkits/Gecko/script.py
===================================================================
--- src/orca/scripts/toolkits/Gecko/script.py	(revision 4466)
+++ src/orca/scripts/toolkits/Gecko/script.py	(working copy)
@@ -1282,14 +1282,13 @@
             displayedText = displayedText.strip()
             # Some ARIA widgets (e.g. the list items in the chat box
             # in gmail) implement the accessible text interface but
-            # only contain whitespace. Ultimately we should probably
-            # identify all of these instances, but for now, let's
-            # make gmail work.
+            # only contain whitespace.
             #
             if not displayedText \
-               and obj.getRole() == pyatspi.ROLE_LIST_ITEM \
                and obj.getState().contains(pyatspi.STATE_FOCUSED):
-                displayedText = obj.name
+                label = self.getDisplayedLabel(obj)
+                if not label:
+                    displayedText = obj.name
 
         return displayedText
 
Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 4466)
+++ src/orca/speechgenerator.py	(working copy)
@@ -991,7 +991,11 @@
 
         # No need to say "menu item" because we already know that.
         #
-        utterances.extend(self._getSpeechForObjectName(obj))
+        label = self._getSpeechForObjectLabel(obj)
+        utterances.extend(label)
+        name = self._getSpeechForObjectName(obj)
+        if name != label:
+            utterances.extend(name)
 
         # OpenOffice check menu items currently have a role of "menu item"
         # rather then "check menu item", so we need to test if one of the
