Index: src/orca/default.py
===================================================================
--- src/orca/default.py	(revision 3469)
+++ src/orca/default.py	(working copy)
@@ -2347,7 +2347,8 @@
                         topName = self.getTopLevelName(newLocusOfFocus)
                         if not topName.endswith(" - Thunderbird"):
                             desc = table.getColumnDescription(newCol)
-                            if desc and len(desc):
+                            cellText = self.getDisplayedText(newLocusOfFocus)
+                            if desc and len(desc) and cellText != desc:
                                 text = desc
                                 if settings.speechVerbosityLevel \
                                        == settings.VERBOSITY_LEVEL_VERBOSE:
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 3469)
+++ src/orca/braillegenerator.py	(working copy)
@@ -1189,6 +1189,8 @@
                 regions = [regions, cellFocusedRegion]
                 return regions
 
+        label = None
+
         # [[[TODO: WDW - Attempt to infer the cell type.  There's a
         # bunch of stuff we can do here, such as check the EXPANDABLE
         # state, check the NODE_CHILD_OF relation, etc.  Logged as
@@ -1219,17 +1221,20 @@
                         n = table.getColumnAtIndex(obj.getIndexInParent())
                         accHeader = table.getColumnHeader(n)
                         regions[0].append(braille.Region(" "))
-                        regions[0].append(braille.Region(accHeader.name))
+                        label = accHeader.name
+                        regions[0].append(braille.Region(label))
 
                     break
 
+        descendant = self._script.getRealActiveDescendant(obj)
         if len(regions) == 0:
-            regions = self._getDefaultBrailleRegions(
-                              self._script.getRealActiveDescendant(obj))
+            regions = self._getDefaultBrailleRegions(descendant)
         else:
-            [cellRegions, focusRegion] = self._getDefaultBrailleRegions(\
-                self._script.getRealActiveDescendant(obj))
-            regions[0].extend(cellRegions)
+            cellText = self._script.getDisplayedText(descendant)
+            if not cellText or (cellText and label != cellText):
+                [cellRegions, focusRegion] = \
+                    self._getDefaultBrailleRegions(descendant)
+                regions[0].extend(cellRegions)
 
         # Check to see if this table cell contains an icon (image).
         # If yes:
