Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2697)
+++ src/orca/speechgenerator.py	(working copy)
@@ -1281,6 +1281,21 @@
 
         utterances = []
 
+        # Check to see if this table cell contains an icon (image).
+        # If yes:
+        #   1/ Try to get a description for it and speak that.
+        #   2/ Treat the object of role type ROLE_IMAGE and speak
+        #      the role name.
+        # See bug #465989 for more details.
+        #
+        if obj.image:
+            if obj.image.imageDescription:
+                utterances.append(obj.image.imageDescription)
+            obj.role = rolenames.ROLE_IMAGE
+            utterances.extend(self._getSpeechForImage(obj, already_focused))
+            obj.role = rolenames.ROLE_TABLE_CELL
+            return utterances
+
         # If this table cell has 2 children and one of them has a 
         # 'toggle' action and the other does not, then present this 
         # as a checkbox where:
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 2697)
+++ src/orca/braillegenerator.py	(working copy)
@@ -1140,6 +1140,21 @@
 
         regions = []
 
+        # Check to see if this table cell contains an icon (image).
+        # If yes:
+        #   1/ Try to get a description for it and speak that.
+        #   2/ Treat the object of role type ROLE_IMAGE and speak
+        #      the role name.
+        # See bug #465989 for more details.
+        #
+        if obj.image:
+            if obj.image.imageDescription:
+                regions.append(obj.image.imageDescription)
+            obj.role = rolenames.ROLE_IMAGE
+            regions.extend(self._getBrailleRegionsForImage(obj))
+            obj.role = rolenames.ROLE_TABLE_CELL
+            return regions
+
         # If this table cell has 2 children and one of them has a
         # 'toggle' action and the other does not, then present this
         # as a checkbox where:
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2697)
+++ ChangeLog	(working copy)
@@ -1,3 +1,15 @@
+2007-08-23  Rich Burridge <rich.burridge@sun.com>
+
+        * src/orca/braillegenerator.py:
+          src/orca/speechgenerator.py:
+          Work on bug #465989 - Adding panel applets.
+          In _getBrailleRegionsForTableCell() and _getSpeechForTableCell(),
+          check to see if this table cell contains an icon (image). 
+          If yes:
+            1/ Try to get a description for it and speak that.
+            2/ Treat the object of role type ROLE_IMAGE and speak
+               the role name.
+
 2007-08-22  Mike Pedersen <michael.pedersen@sun.com>
 
         * docs/doc-set/ue_requirements.sgml,
