Index: src/orca/settings.py
===================================================================
--- src/orca/settings.py	(revision 2688)
+++ src/orca/settings.py	(working copy)
@@ -286,7 +286,7 @@
 
 # Strings used to indicate checkbox/radio button states in braille:
 #
-brailleCheckBoxIndicators = ["< >", "<x>"]
+brailleCheckBoxIndicators = ["< >", "<x>", "<->"]
 brailleRadioButtonIndicators = ["& y", "&=y"]
 
 # If True, enable magnification.
Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2688)
+++ src/orca/speechgenerator.py	(working copy)
@@ -375,9 +375,13 @@
         """
 
         utterances = []
-        if obj.state.count(atspi.Accessibility.STATE_CHECKED):
+        if obj.state.count(atspi.Accessibility.STATE_INDETERMINATE):
             # Translators: this represents the state of a checkbox.
             #
+            checkedState = _("partially checked")
+        elif obj.state.count(atspi.Accessibility.STATE_CHECKED):
+            # Translators: this represents the state of a checkbox.
+            #
             checkedState = _("checked")
         else:
             # Translators: this represents the state of a checkbox.
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 2688)
+++ src/orca/braillegenerator.py	(working copy)
@@ -387,12 +387,17 @@
 
         self._debugGenerator("_getBrailleRegionsForCheckBox", obj)
 
+        if obj.state.count(atspi.Accessibility.STATE_INDETERMINATE):
+            indicatorindex = 2
+        elif obj.state.count(atspi.Accessibility.STATE_CHECKED):
+            indicatorindex = 1
+        else:
+            indicatorindex = 0
+
         text = ""
-
         text = self._script.appendString(
             text,
-            settings.brailleCheckBoxIndicators[
-                obj.state.count(atspi.Accessibility.STATE_CHECKED)])
+            settings.brailleCheckBoxIndicators[indicatorindex])
 
         text = self._script.appendString(
             text, self._script.getDisplayedLabel(obj))
