diff --git a/src/orca/formatting.py b/src/orca/formatting.py
index 95eb798..8a85347 100644
--- a/src/orca/formatting.py
+++ b/src/orca/formatting.py
@@ -28,6 +28,7 @@ __license__   = "LGPL"
 import copy
 
 import pyatspi
+import settings
 
 # pylint: disable-msg=C0301
 
@@ -67,12 +68,13 @@ formatting = {
             },
         pyatspi.ROLE_CHECK_MENU_ITEM: {
             'focused': 'checkedState',
-            'unfocused': 'labelAndName + roleName + checkedState + required + availability + ' + MNEMONIC + ' + accelerator',
-            'basicWhereAmI': 'ancestors + labelAndName + roleName + checkedState + accelerator + positionInList + ' + MNEMONIC
+            'unfocused': 'labelAndName + roleName + checkedState + required + availability + ' + MNEMONIC + ' + accelerator + pause + positionInList',
+            'basicWhereAmI': 'ancestors + pause + labelAndName + roleName + checkedState + pause + accelerator + pause + positionInList + ' + MNEMONIC
             },
         pyatspi.ROLE_COMBO_BOX: {
-            'focused': 'name',
-            'basicWhereAmI': 'label + roleName + name + positionInList + ' + MNEMONIC + ' + accelerator'
+            'focused': 'name + positionInList',
+'unfocused': 'label + name + roleName + pause + positionInList + ' + MNEMONIC + ' + accelerator',            
+            'basicWhereAmI': 'label + roleName + pause + name + positionInList + ' + MNEMONIC + ' + accelerator'
             },
         pyatspi.ROLE_DIALOG: {
             'unfocused': 'labelAndName + unrelatedLabels'
@@ -96,14 +98,14 @@ formatting = {
             'unfocused': 'labelAndName + allTextSelection + roleName + unfocusedDialogCount + availability'
             },
         pyatspi.ROLE_HEADING: {
-            'basicWhereAmI': 'label + readOnly + textRole + textContent + anyTextSelection + ' + MNEMONIC,
-            'detailedWhereAmI': 'label + readOnly + textRole + textContentWithAttributes + anyTextSelection + ' + MNEMONIC + ' + ' + TUTORIAL
+            'basicWhereAmI': 'label + readOnly + textRole + pause + textContent + anyTextSelection + ' + MNEMONIC,
+            'detailedWhereAmI': 'label + readOnly + textRole + pause +textContentWithAttributes + anyTextSelection + ' + MNEMONIC + ' + ' + TUTORIAL
             },
         pyatspi.ROLE_ICON: {
-            'focused': 'labelAndName + imageDescription + roleName',
-            'unfocused': 'labelAndName + imageDescription + roleName',
-            'basicWhereAmI': 'parentRoleName + labelAndName + selectedItemCount',
-            'detailedWhereAmI': 'parentRoleName + labelAndName + selectedItemCount + selectedItems'
+            'focused': 'labelAndName + imageDescription + roleName + pause + positionInList',
+            'unfocused': 'labelAndName + imageDescription + roleName + pause + positionInList',
+            'basicWhereAmI': 'parentRoleName + pause + labelAndName + pause + selectedItemCount + pause',
+            'detailedWhereAmI': 'parentRoleName + pause + labelAndName + pause + selectedItemCount + pause + selectedItems +pause'
             },
         pyatspi.ROLE_LABEL: {
             'basicWhereAmI': 'labelAndName + allTextSelection + roleName'
@@ -116,25 +118,25 @@ formatting = {
             },
         pyatspi.ROLE_LINK: {
             'unfocused': 'labelAndName + roleName + availability',
-            'basicWhereAmI': 'linkInfo + siteDescription + fileSize'
+            'basicWhereAmI': 'linkInfo + pause + siteDescription + pause + fileSize'
             },
         pyatspi.ROLE_LIST_ITEM: {
             'focused': 'expandableState + availability',
-            'unfocused': 'labelAndName + allTextSelection + expandableState + availability',
-            'basicWhereAmI': 'label + roleName + name + positionInList + expandableState + (nodeLevel or nestingLevel)'
+            'unfocused': 'labelAndName + allTextSelection + pause + expandableState + pause + availability + positionInList',
+            'basicWhereAmI': 'label + roleName + pause + name + pause + positionInList + pause + expandableState + (nodeLevel or nestingLevel) + pause'
             },
         pyatspi.ROLE_MENU: {
             'focused': '[]',
-            'unfocused': 'labelAndName + allTextSelection + roleName + availability + ' + MNEMONIC + ' + accelerator',
-            'basicWhereAmI': '(ancestors or parentRoleName) + labelAndName + roleName +  positionInList + ' + MNEMONIC
+            'unfocused': 'labelAndName + allTextSelection + roleName + availability + ' + MNEMONIC + ' + accelerator + pause + positionInList',
+            'basicWhereAmI': '(ancestors or parentRoleName) + pause + labelAndName + roleName + pause +  positionInList + ' + MNEMONIC
             },
         pyatspi.ROLE_MENU_ITEM: {
             'focused': '[]',
-            'unfocused': 'labelAndName + menuItemCheckedState + availability + ' + MNEMONIC + ' + accelerator',
-            'basicWhereAmI': 'ancestors + labelAndName + accelerator + positionInList + ' + MNEMONIC
+            'unfocused': 'labelAndName + menuItemCheckedState + availability + ' + MNEMONIC + ' + accelerator + pause + positionInList',
+            'basicWhereAmI': 'ancestors + pause + labelAndName + pause + accelerator + pause + positionInList + ' + MNEMONIC
             },
         pyatspi.ROLE_PAGE_TAB: {
-            'basicWhereAmI': 'parentRoleName + labelAndName + roleName + positionInList + ' + MNEMONIC + ' + accelerator'
+            'basicWhereAmI': 'parentRoleName + pause + labelAndName + roleName + pause + positionInList + ' + MNEMONIC + ' + accelerator'
             },
         pyatspi.ROLE_PARAGRAPH: {
             'focused': 'labelOrName + readOnly + textRole + currentLineText + allTextSelection',
@@ -158,8 +160,8 @@ formatting = {
             },
         pyatspi.ROLE_RADIO_BUTTON: {
             'focused': 'radioState',
-            'unfocused': 'labelAndName + radioState + roleName + availability + ' + MNEMONIC + ' + accelerator',
-            'basicWhereAmI': 'radioButtonGroup + labelAndName + roleName + radioState + positionInGroup + ' + MNEMONIC + ' + accelerator'
+            'unfocused': 'labelAndName + pause + radioState + roleName + availability + lineBreak + ' + MNEMONIC + ' + accelerator + pause + positionInList + pause',
+            'basicWhereAmI': 'radioButtonGroup + pause + labelAndName + roleName + pause + radioState + pause + positionInGroup + ' + MNEMONIC + ' + accelerator'
             },
         pyatspi.ROLE_RADIO_MENU_ITEM: {
             # OpenOffice check menu items currently have a role of "menu item"
@@ -169,8 +171,8 @@ formatting = {
             # menu item" that is currently unchecked and speak that state.
             # See Orca bug #433398 for more details.
             #
-            'focused': 'labelAndName + radioState + roleName + availability',
-            'unfocused': 'labelAndName + radioState + roleName + availability + ' + MNEMONIC + ' + accelerator',
+            'focused': 'labelAndName + radioState + roleName + availability + pause + positionInList',
+            'unfocused': 'labelAndName + radioState + roleName + availability + ' + MNEMONIC + ' + accelerator + pause + positionInList',
             'basicWhereAmI': 'ancestors + labelAndName + roleName + radioState + accelerator + positionInList + ' + MNEMONIC
             },
         pyatspi.ROLE_SECTION: {
@@ -203,15 +205,15 @@ formatting = {
             'basicWhereAmI' : 'labelAndName + roleName + value'
             },
         pyatspi.ROLE_TABLE: {
-            'focused': 'labelAndName + allTextSelection + roleName + availability + noChildren',
-            'unfocused': 'labelAndName + allTextSelection + roleName + availability + noChildren',
-            'basicWhereAmI': 'labelAndName + allTextSelection + roleName + availability + noChildren'
+            'focused': 'labelAndName + pause + allTextSelection + roleName + availability + noChildren',
+            'unfocused': 'labelAndName + pause + allTextSelection + roleName + availability + noChildren',
+            'basicWhereAmI': 'labelAndName + pause + allTextSelection + roleName + availability + noChildren'
             },
         pyatspi.ROLE_TABLE_CELL: {
-            'focused': '(tableCell2ChildLabel + tableCell2ChildToggle) or cellCheckedState + (expandableState and (expandableState + numberOfChildren))',
-            'unfocused': 'tableCellRow',
-            'basicWhereAmI': 'parentRoleName + columnHeader + rowHeader + roleName + cellCheckedState + (realActiveDescendantDisplayedText or imageDescription + image) + columnAndRow + expandableState + nodeLevel',
-            'detailedWhereAmI': 'parentRoleName + columnHeader + rowHeader + roleName + cellCheckedState + (realActiveDescendantDisplayedText or imageDescription + image) + columnAndRow + tableCellRow + expandableState + nodeLevel'
+            'focused': '(tableCell2ChildLabel + tableCell2ChildToggle + pause) or cellCheckedState + pause + (+ expandableState + pause and (expandableState + pause + numberOfChildren + pause))',
+            'unfocused': 'tableCellRow + pause',
+            'basicWhereAmI': 'parentRoleName + pause + columnHeader + pause + rowHeader + roleName + pause + cellCheckedState + (realActiveDescendantDisplayedText or imageDescription + image) + columnAndRow + pause + expandableState + pause + nodeLevel',
+            'detailedWhereAmI': 'parentRoleName + pause + columnHeader + pause + rowHeader + roleName + pause + cellCheckedState + (realActiveDescendantDisplayedText or imageDescription + image) + pause + columnAndRow + pause + tableCellRow + pause + expandableState + nodeLevel + pause'
             },
         'REAL_ROLE_TABLE_CELL': {
             # the real cell information
@@ -229,14 +231,14 @@ formatting = {
         pyatspi.ROLE_TERMINAL: {
             'focused': 'terminal',
             'unfocused': 'terminal',
-            'basicWhereAmI': 'label + readOnly + textRole + textContent + anyTextSelection + ' + MNEMONIC,
-            'detailedWhereAmI': 'label + readOnly + textRole + textContentWithAttributes + anyTextSelection + ' + MNEMONIC + ' + ' + TUTORIAL
+            'basicWhereAmI': 'label + readOnly + pause + textRole + pause + textContent + anyTextSelection + ' + MNEMONIC,
+            'detailedWhereAmI': 'label + readOnly + pause + textRole + pause + textContentWithAttributes + anyTextSelection + ' + MNEMONIC + ' + ' + TUTORIAL
             },
         pyatspi.ROLE_TEXT: {
-            'focused': 'labelOrName + readOnly + textRole + currentLineText + allTextSelection',
-            'unfocused': 'labelOrName + readOnly + textRole + currentLineText + allTextSelection + ' + MNEMONIC,
-            'basicWhereAmI': 'label + readOnly + textRole + textContent + anyTextSelection + ' + MNEMONIC,
-            'detailedWhereAmI': 'label + readOnly + textRole + textContentWithAttributes + anyTextSelection + ' + MNEMONIC + ' + ' + TUTORIAL
+            'focused': 'labelOrName + readOnly + textRole + pause + currentLineText + allTextSelection',
+            'unfocused': 'labelOrName + readOnly + textRole + pause + currentLineText + allTextSelection + ' + MNEMONIC,
+            'basicWhereAmI': 'label + readOnly + textRole + pause + textContent + anyTextSelection + pause + ' + MNEMONIC,
+            'detailedWhereAmI': 'label + readOnly + textRole + pause + textContentWithAttributes + anyTextSelection + pause + ' + MNEMONIC + ' + ' + TUTORIAL
             },
         pyatspi.ROLE_TOGGLE_BUTTON: {
             'focused': 'toggleState',
diff --git a/src/orca/orca-setup.glade b/src/orca/orca-setup.glade
index edae6e3..09225c1 100644
--- a/src/orca/orca-setup.glade
+++ b/src/orca/orca-setup.glade
@@ -1441,6 +1441,27 @@ Hyperlink</property>
 		          </child>
 
 		          <child>
+			    <widget class="GtkCheckButton" id="speakPositionIndexCheckButton">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Speak p_osition indexes</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">True</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			      <signal name="toggled" handler="speakPositionIndexToggled" last_modification_time="Fry, 19 Jun 2009 08:53:04 GMT"/>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			    </packing>
+		          </child>
+
+		          <child>
 			    <widget class="GtkCheckButton" id="speakMnemonicsCheckButton">
 			      <property name="visible">True</property>
 			      <property name="can_focus">True</property>
diff --git a/src/orca/orca_gui_prefs.py b/src/orca/orca_gui_prefs.py
index cdf25df..3e55a8e 100644
--- a/src/orca/orca_gui_prefs.py
+++ b/src/orca/orca_gui_prefs.py
@@ -1499,6 +1499,9 @@ class OrcaSetupGUI(orca_glade.GladeWrapper):
         self.get_widget("speakTutorialMessagesCheckButton").set_active(\
             prefs["enableTutorialMessages"])
 
+        self.get_widget("speakPositionIndexCheckButton").set_active(\
+            prefs["enablePositionindexSpeaking"])
+
         self.get_widget("speakMnemonicsCheckButton").set_active(\
             prefs["enableMnemonicSpeaking"])
 
@@ -2517,6 +2520,17 @@ class OrcaSetupGUI(orca_glade.GladeWrapper):
 
         self.prefsDict["enableTutorialMessages"] = widget.get_active()
 
+    def speakPositionIndexToggled(self, widget):
+        """Signal handler for the "toggled" signal for the
+           speakPositionIndexCheckButton GtkCheckButton widget.
+           Set the 'enablePositionindexSpeaking' preference to the new value.
+
+        Arguments:
+        - widget: the component that generated the signal.
+        """
+
+        self.prefsDict["enablePositionindexSpeaking"] = widget.get_active()
+
     def mnemonicSpeakingChecked (self, widget):
         """Signal handler for the "toggled" signal for the
            speakMnemonicsCheckButton GtkCheckButton widget.
diff --git a/src/orca/settings.py b/src/orca/settings.py
index 6ab25df..0bd7acf 100644
--- a/src/orca/settings.py
+++ b/src/orca/settings.py
@@ -106,6 +106,7 @@ userCustomizableSettings = [
     "enableNavigationKeys",
     "enableTutorialMessages",
     "enableMnemonicSpeaking",
+    "enablePositionindexSpeaking",
     "enableBraille",
     "enableBrailleContext",
     "enableBrailleGrouping",
@@ -584,6 +585,10 @@ enableTutorialMessages = False
 #
 enableMnemonicSpeaking = False
 
+# If true, position indexes  will be spoken automaticaly
+#
+enablePositionindexSpeaking = False
+
 # If True, show the main Orca window.
 #
 showMainWindow          = True
diff --git a/src/orca/speech_generator.py b/src/orca/speech_generator.py
index 90a4a93..ebf1689 100644
--- a/src/orca/speech_generator.py
+++ b/src/orca/speech_generator.py
@@ -1978,10 +1978,11 @@ class SpeechGenerator:
                 if next == name:
                     position = index
 
-        if position >= 0:
-            # Translators: this is an item in a list.
-            #
-            result.append(_("item %(index)d of %(total)d") \
+        if settings.enablePositionindexSpeaking or args.get('forceList', False):
+            if position >= 0:
+                # Translators: this is an item in a list.
+                #
+                result.append(_("%(index)d of %(total)d") \
                           % {"index" : position,
                              "total" : total})
 
@@ -2191,6 +2192,7 @@ class SpeechGenerator:
           'focused', 'basicWhereAmI', etc.
         - forceMnemonic: boolean (default=False) which says if we
           should ignore the settings.enableMnemonicSpeaking setting
+        - forceList: boolean (default=False) which says if we
         - forceTutorial: boolean (default=False) which says if we
           should force a tutorial to be spoken or not
         """
diff --git a/src/orca/where_am_I.py b/src/orca/where_am_I.py
index 0694752..66b2b43 100644
--- a/src/orca/where_am_I.py
+++ b/src/orca/where_am_I.py
@@ -102,4 +102,5 @@ class WhereAmI:
                    alreadyFocused=True,
                    formatType=formatType,
                    forceMnemonic=True,
+                   forceList=True,
                    forceTutorial=True)
