Index: src/orca/Gecko.py
===================================================================
--- src/orca/Gecko.py	(revision 2423)
+++ src/orca/Gecko.py	(working copy)
@@ -648,7 +648,7 @@
         utterances = []
 
         label = self._script.getDisplayedLabel(obj)
-        if not label:
+        if not label and not self._script.inDocumentContent():
             label = obj.name
 
         if not already_focused and label:
@@ -2331,16 +2331,18 @@
             # Check to see if the official labels are valid.
             #
             bogus = False
-            if obj.role == rolenames.ROLE_COMBO_BOX and \
-               self.inDocumentContent():
+            if self.inDocumentContent and \
+               obj.role in [rolenames.ROLE_COMBO_BOX,
+                            rolenames.ROLE_LIST]:
                 # Bogus case #1:
-                # <label></label> surrounding the entire combo box which
-                # makes the entire combo box's contents serve as the label.
-                # We can identify this case because the child of the label
-                # is the combo box. See bug #428114.
+                # <label></label> surrounding the entire combo box/list which
+                # makes the entire combo box's/list's contents serve as the
+                # label. We can identify this case because the child of the
+                # label is the combo box/list. See bug #428114, #441476.
                 #
                 if label.childCount and \
-                   label.child(0).role == rolenames.ROLE_COMBO_BOX:
+                   label.child(0).role in [rolenames.ROLE_COMBO_BOX,
+                                           rolenames.ROLE_LIST]:
                     bogus = True
 
             if not bogus:
