Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2538)
+++ src/orca/speechgenerator.py	(working copy)
@@ -1364,6 +1364,21 @@
                         showing = cell.state.count( \
                                           atspi.Accessibility.STATE_SHOWING)
                         if showing:
+                            # If this table cell has a "toggle" action, and
+                            # doesn't have any label associated with it then 
+                            # also speak the table column header.
+                            # See Orca bug #455230 for more details.
+                            #
+                            label = self._script.getDisplayedText( \
+                                self._script.getRealActiveDescendant(cell))
+                            action = cell.action
+                            if action and (label == None or len(label) == 0):
+                                for j in range(0, action.nActions):
+                                    if action.getName(j) == "toggle":
+                                        header = parent.table.getColumnHeader(i)
+                                        accHeader = atspi.Accessible.makeAccessible(header)
+                                        utterances.append(accHeader.name)
+
                             utterances.extend(self._getSpeechForTableCell(cell,
                                                            already_focused))
                 else:
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 2538)
+++ src/orca/braillegenerator.py	(working copy)
@@ -1134,6 +1134,21 @@
                 if action.getName(i) == "toggle":
                     obj.role = rolenames.ROLE_CHECK_BOX
                     regions = self._getBrailleRegionsForCheckBox(obj)
+
+                    # If this table cell doesn't have any label associated 
+                    # with it then also braille the table column header.
+                    # See Orca bug #455230 for more details.
+                    #
+                    label = self._script.getDisplayedText( \
+                        self._script.getRealActiveDescendant(obj))
+                    action = obj.action
+                    if label == None or len(label) == 0:
+                        n = obj.parent.table.getColumnAtIndex(obj.index)
+                        header = obj.parent.table.getColumnHeader(n)
+                        accHeader = atspi.Accessible.makeAccessible(header)
+                        regions[0].append(braille.Region(" "))
+                        regions[0].append(braille.Region(accHeader.name))
+
                     obj.role = rolenames.ROLE_TABLE_CELL
                     break
 
Index: src/orca/orca_gui_prefs.py
===================================================================
--- src/orca/orca_gui_prefs.py	(revision 2538)
+++ src/orca/orca_gui_prefs.py	(working copy)
@@ -948,10 +948,6 @@
         #
         speakAttrColumnLabel = _("Speak")
         column = gtk.TreeViewColumn(speakAttrColumnLabel)
-        renderer = gtk.CellRendererText()
-        renderer.set_property("text", speakAttrColumnLabel)
-        renderer.set_property("visible", False)
-        column.pack_end(renderer, True)
         renderer = gtk.CellRendererToggle()
         column.pack_start(renderer, False)
         column.set_attributes(renderer, active=IS_SPOKEN)
@@ -970,10 +966,6 @@
         #
         markAttrColumnLabel = _("Mark in braille")
         column = gtk.TreeViewColumn(markAttrColumnLabel)
-        renderer = gtk.CellRendererText()
-        renderer.set_property("text", markAttrColumnLabel)
-        renderer.set_property("visible", False)
-        column.pack_end(renderer, True)
         renderer = gtk.CellRendererToggle()
         column.pack_start(renderer, False)
         column.set_attributes(renderer, active=IS_BRAILLED)
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2538)
+++ ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2007-07-10  Rich Burridge <rich.burridge@sun.com>
+
+        * src/orca/speechgenerator.py: 
+          src/orca/braillegenerator.py:
+          Fixed bug #455230 – Read table cell row should insert column 
+          headers for non-text cells.
+
 2007-07-12  Joanmarie Diggs <j-diggs@comcast.net>
 
         * src/orca/braille.py: Fix for bug 456296 - Traceback in 
