Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2341)
+++ ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2007-05-03  Rich Burridge <rich.burridge@sun.com>
+
+        * src/orca/braillegenerator.py:
+          src/orca/speechgenerator.py:
+          Provided an adequate workaround for the problem in bug 
+          #433398 – Orca does not provide access to the state of 
+          checked menu items in OOo.
+
 2007-05-03  Joanmarie Diggs <j-diggs@comcast.net>
 
         * src/orca/default.py: Fix for bug 435577 - Orca does not speak
Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2341)
+++ src/orca/speechgenerator.py	(working copy)
@@ -795,6 +795,18 @@
             utterances.extend(self._getSpeechForObjectAvailability(obj))
             utterances.extend(self._getSpeechForObjectAccelerator(obj))
 
+        # 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
+        # states is CHECKED. If it is, then add that in to the list of
+        # speech utterances. Note that we can't tell if this is a "check
+        # menu item" that is currently unchecked and speak that state. 
+        # See Orca bug #433398 for more details.
+        #
+        if obj.state.count(atspi.Accessibility.STATE_CHECKED):
+            # Translators: this represents the state of a checked menu item.
+            #
+            utterances.append(_("checked"))
+
         self._debugGenerator("_getSpeechForMenuItem",
                              obj,
                              already_focused,
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 2341)
+++ src/orca/braillegenerator.py	(working copy)
@@ -708,6 +708,16 @@
         text = self._script.appendString(text, self._script.getDisplayedLabel(obj))
         text = self._script.appendString(text, self._script.getDisplayedText(obj))
 
+        # 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
+        # states is CHECKED. If it is, then add that in to the braille
+        # display output. Note that we can't tell if this is a "check
+        # menu item" that is currently unchecked and braille that state. 
+        # See Orca bug #433398 for more details.
+        #
+        if obj.state.count(atspi.Accessibility.STATE_CHECKED):
+            text = self._script.appendString(text, "<x>")
+
         if obj == orca_state.locusOfFocus:
             text = self._script.appendString(text, self._getTextForAvailability(obj))
             text = self._script.appendString(text,
