[orca] Updating gtk-demo regression tests



commit 6d75b8e76f5427e91e23e3c2f2db95556c719e21
Author: Joanmarie Diggs <jd gumby localdomain>
Date:   Sat Jul 9 06:16:36 2011 -0400

    Updating gtk-demo regression tests

 test/harness/user-settings.conf.in                 |    2 +-
 test/keystrokes/gtk-demo/debug_commands.py         |    2 +-
 test/keystrokes/gtk-demo/learn_mode.py             |   16 +++--
 test/keystrokes/gtk-demo/role_accel_label.py       |   17 ++++-
 test/keystrokes/gtk-demo/role_alert.py             |   16 ++++-
 test/keystrokes/gtk-demo/role_check_box.py         |   70 +++++++++++++++---
 test/keystrokes/gtk-demo/role_check_menu_item.py   |    5 +-
 test/keystrokes/gtk-demo/role_combo_box.py         |   32 ++++++--
 test/keystrokes/gtk-demo/role_combo_box2.py        |   12 ++-
 test/keystrokes/gtk-demo/role_dialog.py            |   13 ++--
 test/keystrokes/gtk-demo/role_icon.py              |    8 ++-
 test/keystrokes/gtk-demo/role_label.py             |   76 +++++++++-----------
 test/keystrokes/gtk-demo/role_menu.py              |   20 ++++--
 test/keystrokes/gtk-demo/role_page_tab.py          |   22 ++++--
 test/keystrokes/gtk-demo/role_push_button.py       |   13 ++--
 test/keystrokes/gtk-demo/role_radio_button.py      |   11 +++-
 test/keystrokes/gtk-demo/role_radio_menu_item.py   |   14 +++-
 test/keystrokes/gtk-demo/role_spin_button.py       |   30 +++++----
 test/keystrokes/gtk-demo/role_split_pane.py        |   27 ++++---
 .../gtk-demo/role_text_multiline_navigation.py     |    2 +-
 .../gtk-demo/role_text_multiline_navigation2.py    |    2 +-
 test/keystrokes/gtk-demo/role_toggle_button.py     |    7 ++-
 test/keystrokes/gtk-demo/role_toolbar.py           |   10 ++-
 test/keystrokes/gtk-demo/role_tooltip.py           |    9 ++-
 test/keystrokes/gtk-demo/spoken_indentation.py     |    4 +-
 25 files changed, 299 insertions(+), 141 deletions(-)
---
diff --git a/test/harness/user-settings.conf.in b/test/harness/user-settings.conf.in
index 626ba90..886676b 100644
--- a/test/harness/user-settings.conf.in
+++ b/test/harness/user-settings.conf.in
@@ -129,7 +129,7 @@
         "enabledBrailledTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; strikethrough:false; justification:left; style:normal; text-spelling:none;", 
         "speechVerbosityLevel": 1, 
         "enableMagCrossHair": true, 
-        "enableBrailleMonitor": false, 
+        "enableBrailleMonitor": true, 
         "voices": {
             "default": {
                 "established": false
diff --git a/test/keystrokes/gtk-demo/debug_commands.py b/test/keystrokes/gtk-demo/debug_commands.py
index ba18deb..5198f61 100644
--- a/test/keystrokes/gtk-demo/debug_commands.py
+++ b/test/keystrokes/gtk-demo/debug_commands.py
@@ -24,7 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "Report script information",
     ["BRAILLE LINE:  'SCRIPT INFO: Script name='gtk-demo [(]module=orca.scripts.toolkits.GAIL[)]' Application name='gtk-demo' Toolkit name='GAIL' Version='[0-9]+[.][0-9]+[.][0-9]+''",
      "     VISIBLE:  'SCRIPT INFO: Script name='gtk-de', cursor=0",
-     "SPEECH OUTPUT: 'SCRIPT INFO: Script name='gtk-demo [(]module=orca.scripts.toolkits.GAIL[)]' Application name='gtk-demo' Toolkit name='GAIL' Version='[0-9]+[.][0-9]+[.][0-9]+''"]))
+     "SPEECH OUTPUT: 'SCRIPT INFO: Script name='gtk-demo [(]module=orca.scripts.toolkits.GAIL[)]' Application name='gtk-demo' Toolkit name='GAIL' Version='[0-9]+[.][0-9]+[.][0-9]+'' voice=system"]))
 
 # Just a little extra wait to let some events get through.
 #
diff --git a/test/keystrokes/gtk-demo/learn_mode.py b/test/keystrokes/gtk-demo/learn_mode.py
index c2f58c2..f3fb493 100644
--- a/test/keystrokes/gtk-demo/learn_mode.py
+++ b/test/keystrokes/gtk-demo/learn_mode.py
@@ -37,7 +37,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Reads the attributes associated with the current text character.'",
      "     VISIBLE:  'Reads the attributes associated ', cursor=0",
      "SPEECH OUTPUT: 'insert'",
-     "SPEECH OUTPUT: 'Reads the attributes associated with the current text character.'"]))
+     "SPEECH OUTPUT: 'Reads the attributes associated with the current text character.' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -47,24 +47,30 @@ sequence.append(utils.AssertPresentationAction(
     "Orca command: bring up preferences",
     ["BRAILLE LINE:  'KP_Insert'",
      "     VISIBLE:  'KP_Insert', cursor=0",
+     "BRAILLE LINE:  'KP_Insert'",
+     "     VISIBLE:  'KP_Insert', cursor=0",
      "BRAILLE LINE:  'Displays the preferences configuration dialog.'",
      "     VISIBLE:  'Displays the preferences configu', cursor=0",
      "SPEECH OUTPUT: 'insert'",
-     "SPEECH OUTPUT: 'Displays the preferences configuration dialog.'"]))
+     "SPEECH OUTPUT: 'Displays the preferences configuration dialog.' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_5"))
 sequence.append(utils.AssertPresentationAction(
     "Orca command: flat review current word",
-    ["BRAILLE LINE:  'Speaks the current flat review item or word.'",
+    ["BRAILLE LINE:  'KP_Insert'",
+     "     VISIBLE:  'KP_Insert', cursor=0",
+     "BRAILLE LINE:  'Speaks the current flat review item or word.'",
      "     VISIBLE:  'Speaks the current flat review i', cursor=0",
-     "SPEECH OUTPUT: 'Speaks the current flat review item or word.'"]))
+     "SPEECH OUTPUT: 'Speaks the current flat review item or word.' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction("5"))
 sequence.append(utils.AssertPresentationAction(
     "Regular typing command",
-    ["BRAILLE LINE:  '5'",
+    ["BRAILLE LINE:  'KP_Insert'",
+     "     VISIBLE:  'KP_Insert', cursor=0",
+     "BRAILLE LINE:  '5'",
      "     VISIBLE:  '5', cursor=0",
      "SPEECH OUTPUT: '5'"]))
 
diff --git a/test/keystrokes/gtk-demo/role_accel_label.py b/test/keystrokes/gtk-demo/role_accel_label.py
index 9295722..844300c 100644
--- a/test/keystrokes/gtk-demo/role_accel_label.py
+++ b/test/keystrokes/gtk-demo/role_accel_label.py
@@ -29,14 +29,22 @@ sequence.append(KeyComboAction("Return", 500))
 #sequence.append(WaitForWindowActivate("UI Manager"))
 sequence.append(WaitForFocus("close", acc_role=pyatspi.ROLE_PUSH_BUTTON))
 
-sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Alt>f"))
+
+# For some reason we're not getting the events we need to present the
+# first item in a menu. This is new to Gtk+ 3, but not to the Gail
+# integration into Gtk+. This Down+Up hack will trigger what we need
+# for this test in the meantime.
+sequence.append(KeyComboAction("Down"))
+sequence.append(KeyComboAction("Up"))
+
+sequence.append(utils.StartRecordingAction())
 sequence.append(WaitForFocus("New", acc_role=pyatspi.ROLE_MENU_ITEM))
 sequence.append(utils.AssertPresentationAction(
     "New menu item",
     ["BRAILLE LINE:  'gtk-demo Application UI Manager Frame MenuBar New(Control n)'",
      "     VISIBLE:  'New(Control n)', cursor=1",
-     "SPEECH OUTPUT: 'File menu New Control n'"]))
+     "SPEECH OUTPUT: 'New Control n'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.  The following should be
@@ -49,7 +57,10 @@ sequence.append(utils.AssertPresentationAction(
     "New menu item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application UI Manager Frame MenuBar New(Control n)'",
      "     VISIBLE:  'New(Control n)', cursor=1",
-     "SPEECH OUTPUT: 'File menu New Control n 1 of 5.",
+     "SPEECH OUTPUT: 'File'",
+     "SPEECH OUTPUT: 'menu'",
+     "SPEECH OUTPUT: 'New'",
+     "SPEECH OUTPUT: 'Control n 1 of 5.'",
      "SPEECH OUTPUT: 'n'"]))
 
 ########################################################################
diff --git a/test/keystrokes/gtk-demo/role_alert.py b/test/keystrokes/gtk-demo/role_alert.py
index 5780639..de383f3 100644
--- a/test/keystrokes/gtk-demo/role_alert.py
+++ b/test/keystrokes/gtk-demo/role_alert.py
@@ -35,10 +35,16 @@ sequence.append(WaitForFocus("OK", acc_role=pyatspi.ROLE_PUSH_BUTTON))
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Information Alert automatic presentation",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert'", 
+    ["BRAILLE LINE:  'gtk-demo Application Dialogs Frame (1 dialog)'",
+     "     VISIBLE:  'Dialogs Frame (1 dialog)', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Dialogs Frame (1 dialog) Dialogs Panel Message Dialog Button'",
+     "     VISIBLE:  'Message Dialog Button', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Information Alert'", 
      "     VISIBLE:  'Information Alert', cursor=1", 
      "BRAILLE LINE:  'gtk-demo Application Information Alert OK Button'", 
      "     VISIBLE:  'OK Button', cursor=1", 
+     "SPEECH OUTPUT: 'Dialogs frame 1 unfocused dialog'",
+     "SPEECH OUTPUT: 'Dialogs panel Message Dialog button'",
      "SPEECH OUTPUT: 'Information This message box has been popped up the following", 
      "number of times: 1'", 
      "SPEECH OUTPUT: 'OK button'"]))
@@ -75,10 +81,16 @@ sequence.append(KeyComboAction("<Alt>i", 500))
 sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_TEXT))
 sequence.append(utils.AssertPresentationAction(
     "Interactive Dialog no automatic presentation",
-    ["BRAILLE LINE:  'gtk-demo Application Interactive Dialog Dialog'",
+    ["BRAILLE LINE:  'gtk-demo Application Dialogs Frame (1 dialog)'",
+     "     VISIBLE:  'Dialogs Frame (1 dialog)', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Dialogs Frame (1 dialog) Dialogs Panel Entry 2 Again $l'",
+     "     VISIBLE:  'Entry 2 Again $l', cursor=14",
+     "BRAILLE LINE:  'gtk-demo Application Interactive Dialog Dialog'",
      "     VISIBLE:  'Interactive Dialog Dialog', cursor=1",
      "BRAILLE LINE:  'gtk-demo Application Interactive Dialog Dialog Entry 1 Testing $l'",
      "     VISIBLE:  'Entry 1 Testing $l', cursor=16",
+     "SPEECH OUTPUT: 'Dialogs frame 1 unfocused dialog'",
+     "SPEECH OUTPUT: 'Dialogs panel Entry 2 text Again'",
      "SPEECH OUTPUT: 'Interactive Dialog'",
      "SPEECH OUTPUT: 'Entry 1 text Testing selected'"]))
 
diff --git a/test/keystrokes/gtk-demo/role_check_box.py b/test/keystrokes/gtk-demo/role_check_box.py
index 565183e..5ddbf40 100644
--- a/test/keystrokes/gtk-demo/role_check_box.py
+++ b/test/keystrokes/gtk-demo/role_check_box.py
@@ -46,7 +46,8 @@ sequence.append(utils.AssertPresentationAction(
     "Left resize check box unchecked Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel < > Resize CheckBox'",
      "     VISIBLE:  '< > Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'Horizontal Resize check box not checked.'",
+     "SPEECH OUTPUT: 'Horizontal Resize'",
+     "SPEECH OUTPUT: 'check box not checked.'",
      "SPEECH OUTPUT: 'Alt r'"]))
 
 ########################################################################
@@ -63,7 +64,13 @@ sequence.append(utils.AssertPresentationAction(
     "Left resize check box checked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel <x> Resize CheckBox'",
      "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel <x> Resize CheckBox'",
+     "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Horizontal panel Resize check box checked'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -75,7 +82,8 @@ sequence.append(utils.AssertPresentationAction(
     "Left resize check box checked Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel <x> Resize CheckBox'",
      "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'Horizontal Resize check box checked.'",
+     "SPEECH OUTPUT: 'Horizontal Resize'",
+     "SPEECH OUTPUT: 'check box checked.'",
      "SPEECH OUTPUT: 'Alt r'"]))
 
 ########################################################################
@@ -93,7 +101,13 @@ sequence.append(utils.AssertPresentationAction(
     "Left resize check box unchecked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel < > Resize CheckBox'",
      "     VISIBLE:  '< > Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'not checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel < > Resize CheckBox'",
+     "     VISIBLE:  '< > Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'not checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Horizontal panel Resize check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -115,7 +129,13 @@ sequence.append(utils.AssertPresentationAction(
     "Right resize check box unchecked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel < > Resize CheckBox'",
      "     VISIBLE:  '< > Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'not checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel < > Resize CheckBox'",
+     "     VISIBLE:  '< > Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'not checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Horizontal panel Resize check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -128,7 +148,13 @@ sequence.append(utils.AssertPresentationAction(
     "Right resize check box checked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel <x> Resize CheckBox'",
      "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Horizontal Panel <x> Resize CheckBox'",
+     "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Horizontal panel Resize check box checked'"]))
 
 sequence.append(KeyComboAction("Tab"))
 sequence.append(PauseAction(1000))
@@ -155,7 +181,13 @@ sequence.append(utils.AssertPresentationAction(
     "Top resize check box unchecked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel <x> Resize CheckBox'",
      "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel <x> Resize CheckBox'",
+     "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Vertical panel Resize check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -168,7 +200,13 @@ sequence.append(utils.AssertPresentationAction(
     "Top resize check box checked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel < > Resize CheckBox'",
      "     VISIBLE:  '< > Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'not checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel < > Resize CheckBox'",
+     "     VISIBLE:  '< > Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'not checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Vertical panel Resize check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -190,7 +228,13 @@ sequence.append(utils.AssertPresentationAction(
     "Bottom resize check box unchecked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel < > Resize CheckBox'",
      "     VISIBLE:  '< > Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'not checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel < > Resize CheckBox'",
+     "     VISIBLE:  '< > Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'not checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Vertical panel Resize check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -203,7 +247,13 @@ sequence.append(utils.AssertPresentationAction(
     "Bottom resize check box unchecked",
     ["BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel <x> Resize CheckBox'",
      "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
-     "SPEECH OUTPUT: 'checked'"]))
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame'",
+     "     VISIBLE:  'gtk-demo Application Panes Frame', cursor=22",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame Vertical Panel <x> Resize CheckBox'",
+     "     VISIBLE:  '<x> Resize CheckBox', cursor=1",
+     "SPEECH OUTPUT: 'checked'",
+     "SPEECH OUTPUT: 'Panes frame'",
+     "SPEECH OUTPUT: 'Vertical panel Resize check box checked'"]))
 
 ########################################################################
 # Close the Panes demo window
diff --git a/test/keystrokes/gtk-demo/role_check_menu_item.py b/test/keystrokes/gtk-demo/role_check_menu_item.py
index 3d3df5d..9f7eec3 100644
--- a/test/keystrokes/gtk-demo/role_check_menu_item.py
+++ b/test/keystrokes/gtk-demo/role_check_menu_item.py
@@ -51,7 +51,10 @@ sequence.append(utils.AssertPresentationAction(
     "Bold check item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame MenuBar <x> Bold CheckItem(Control b)'",
      "     VISIBLE:  '<x> Bold CheckItem(Control b)', cursor=1",
-     "SPEECH OUTPUT: 'Preferences menu Bold check item checked Control b 3 of 3.",
+     "SPEECH OUTPUT: 'Preferences'",
+     "SPEECH OUTPUT: 'menu'",
+     "SPEECH OUTPUT: 'Bold'",
+     "SPEECH OUTPUT: 'check item checked Control b 4 of 4.",
      "SPEECH OUTPUT: 'b'"]))
 
 ########################################################################
diff --git a/test/keystrokes/gtk-demo/role_combo_box.py b/test/keystrokes/gtk-demo/role_combo_box.py
index ae25e58..343abca 100644
--- a/test/keystrokes/gtk-demo/role_combo_box.py
+++ b/test/keystrokes/gtk-demo/role_combo_box.py
@@ -32,10 +32,16 @@ sequence.append(TypeAction(" "))
 sequence.append(WaitForFocus("Warning", acc_role=pyatspi.ROLE_MENU_ITEM))
 sequence.append(utils.AssertPresentationAction(
     "Warning combo box item",
-    ["BRAILLE LINE:  'gtk-demo Application Window'",
+    ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame'",
+     "     VISIBLE:  'Combo boxes Frame', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Some stock icons Panel Warning Combo'",
+     "     VISIBLE:  'Warning Combo', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Window'",
      "     VISIBLE:  'gtk-demo Application Window', cursor=22",
      "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Some stock icons Panel  ComboWarning Warning'",
      "     VISIBLE:  'Warning', cursor=1",
+     "SPEECH OUTPUT: 'Combo boxes frame'",
+     "SPEECH OUTPUT: 'Some stock icons panel Warning combo box'",
      "SPEECH OUTPUT: 'window'",
      "SPEECH OUTPUT: 'Some stock icons panel Warning'"]))
 
@@ -56,7 +62,10 @@ sequence.append(utils.AssertPresentationAction(
     "Warning combo box item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Some stock icons Panel  ComboWarning Warning'",
      "     VISIBLE:  'Warning', cursor=1",
-     "SPEECH OUTPUT: 'Some stock icons panel Warning 1 of 5'"]))
+     "SPEECH OUTPUT: 'Some stock icons'",
+     "SPEECH OUTPUT: 'panel'",
+     "SPEECH OUTPUT: 'Warning'",
+     "SPEECH OUTPUT: '1 of 5'"]))
 
 ########################################################################
 # Now arrow down and select the "New" item.
@@ -87,7 +96,10 @@ sequence.append(utils.AssertPresentationAction(
     "New combo box item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Some stock icons Panel  ComboWarning New'",
      "     VISIBLE:  'New', cursor=1",
-     "SPEECH OUTPUT: 'Some stock icons panel New 3 of 5'"]))
+     "SPEECH OUTPUT: 'Some stock icons'",
+     "SPEECH OUTPUT: 'panel'",
+     "SPEECH OUTPUT: 'New'",
+     "SPEECH OUTPUT: '3 of 5'"]))
 
 ########################################################################
 # Select the "New" entry and tab to the editable text combo box.  Skip
@@ -118,7 +130,7 @@ sequence.append(utils.AssertPresentationAction(
     "Editable text combo box",
     ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel  $l'",
      "     VISIBLE:  ' $l', cursor=1",
-     "SPEECH OUTPUT: 'Editable panel text '"]))
+     "SPEECH OUTPUT: 'Editable panel text'"]))
 
 ########################################################################
 # Type "Four" in the text area.
@@ -135,7 +147,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'F $l', cursor=2",
      "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel F $l'",
      "     VISIBLE:  'F $l', cursor=3",
-     "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel Fo $l'",
+     "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel F $l'",
      "     VISIBLE:  'Fo $l', cursor=3",
      "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel Fo $l'",
      "     VISIBLE:  'Fo $l', cursor=4",
@@ -156,7 +168,8 @@ sequence.append(utils.AssertPresentationAction(
     "Editable text combo box Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel Four $l'",
      "     VISIBLE:  'Four $l', cursor=5",
-     "SPEECH OUTPUT: 'text Four'"]))
+     "SPEECH OUTPUT: 'text'",
+     "SPEECH OUTPUT: 'Four'"]))
 
 ########################################################################
 # Tab to the triangular down arrow of the editable combo box.
@@ -205,7 +218,9 @@ sequence.append(utils.AssertPresentationAction(
     "Editable text combo box with selected text",
     ["BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel Four $l'",
      "     VISIBLE:  'Four $l', cursor=5",
-     "SPEECH OUTPUT: 'text Four selected'"]))
+     "SPEECH OUTPUT: 'text'",
+     "SPEECH OUTPUT: 'Four'",
+     "SPEECH OUTPUT: 'selected'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -268,7 +283,8 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'gtk-demo Application Combo boxes Frame Editable Panel Two $l'",
      "     VISIBLE:  'Two $l', cursor=1",
      "SPEECH OUTPUT: 'Combo boxes frame'",
-     "SPEECH OUTPUT: 'Editable panel Two combo box'"]))
+     "SPEECH OUTPUT: 'Editable panel Two combo box'",
+     "SPEECH OUTPUT: 'Two'",]))
 
 sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
 sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_TEXT))
diff --git a/test/keystrokes/gtk-demo/role_combo_box2.py b/test/keystrokes/gtk-demo/role_combo_box2.py
index 3d4afc0..a3b1431 100644
--- a/test/keystrokes/gtk-demo/role_combo_box2.py
+++ b/test/keystrokes/gtk-demo/role_combo_box2.py
@@ -54,8 +54,10 @@ sequence.append(utils.AssertPresentationAction(
     "All sheets combo box item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog TabList Page Setup Page Layout Filler Only print: All sheets Combo'",
      "     VISIBLE:  'Only print: All sheets Combo', cursor=13",
-     "SPEECH OUTPUT: 'Only print: combo box All sheets 1 of 3.'",
-     "SPEECH OUTPUT: 'Alt o'"]))
+     "SPEECH OUTPUT: 'Only print:'",
+     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'All sheets'",
+     "SPEECH OUTPUT: '1 of 3'"]))
 
 ########################################################################
 # Down arrow to select the "Even sheets" item in the combo box.
@@ -79,8 +81,10 @@ sequence.append(utils.AssertPresentationAction(
     "Even sheets combo box item Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog TabList Page Setup Page Layout Filler Only print: Even sheets Combo'",
      "     VISIBLE:  'Only print: Even sheets Combo', cursor=13",
-     "SPEECH OUTPUT: 'Only print: combo box Even sheets 2 of 3.'",
-     "SPEECH OUTPUT: 'Alt o'"]))
+     "SPEECH OUTPUT: 'Only print:'",
+     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Even sheets'",
+     "SPEECH OUTPUT: '2 of 3'"]))
 
 ########################################################################
 # Put things back the way they were and close the demo.
diff --git a/test/keystrokes/gtk-demo/role_dialog.py b/test/keystrokes/gtk-demo/role_dialog.py
index e2363ab..7ecfa94 100644
--- a/test/keystrokes/gtk-demo/role_dialog.py
+++ b/test/keystrokes/gtk-demo/role_dialog.py
@@ -30,10 +30,12 @@ sequence.append(WaitAction("object:state-changed:focused",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "Dialog automatic reading",
-    ["BRAILLE LINE:  'Window Expander $l'",
-     "     VISIBLE:  'Window Expander $l', cursor=16",
-     "BRAILLE LINE:  'Window Expander $l'",
-     "     VISIBLE:  'Window Expander $l', cursor=8",
+    ["BRAILLE LINE:  'gtk-demo Application Window Expander $l'",
+     "     VISIBLE:  'emo Application Window Exp $l ', cursor=32",
+     "BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
+     "BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
      "BRAILLE LINE:  'gtk-demo Application GTK+ Code Demos Frame TabList Widget (double click for demo) Page ScrollPane TreeTable Widget (double click for demo) ColumnHeader Expander TREE LEVEL 1'",
      "     VISIBLE:  'Expander TREE LEVEL 1', cursor=1",
      "BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog'",
@@ -54,7 +56,8 @@ sequence.append(utils.AssertPresentationAction(
     "Dialog Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog & y Details ToggleButton'",
      "     VISIBLE:  '& y Details ToggleButton', cursor=1",
-     "SPEECH OUTPUT: 'Details toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Details'",
+     "SPEECH OUTPUT: 'toggle button not pressed'"]))
 
 ########################################################################
 # Now close the demo and leave.
diff --git a/test/keystrokes/gtk-demo/role_icon.py b/test/keystrokes/gtk-demo/role_icon.py
index 59d701c..4023e2c 100644
--- a/test/keystrokes/gtk-demo/role_icon.py
+++ b/test/keystrokes/gtk-demo/role_icon.py
@@ -90,7 +90,9 @@ sequence.append(utils.AssertPresentationAction(
     "bin icon Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application GtkIconView demo Frame ScrollPane LayeredPane bin Icon'",
      "     VISIBLE:  'bin Icon', cursor=1",
-     "SPEECH OUTPUT: 'Icon panel bin [0-9] of [0-9]+ items selected on 1 of [0-9]+'"]))
+     "SPEECH OUTPUT: 'Icon panel'",
+     "SPEECH OUTPUT: 'bin'",
+     "SPEECH OUTPUT: '1 of 22 items selected on 1 of 22'"]))
 
 ########################################################################
 # Arrow right and wait for the next icon to be selected.
@@ -126,7 +128,9 @@ sequence.append(utils.AssertPresentationAction(
     "icon selection Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application GtkIconView demo Frame ScrollPane LayeredPane bin Icon'",
      "     VISIBLE:  'bin Icon', cursor=1",
-     "SPEECH OUTPUT: 'Icon panel bin [0-9] of [0-9]+ items selected on 1 of [0-9]+'"]))
+     "SPEECH OUTPUT: 'Icon panel'",
+     "SPEECH OUTPUT: 'bin'",
+     "SPEECH OUTPUT: '2 of 22 items selected on 1 of 22'"]))
 
 ########################################################################
 # Close the GtkIconView demo window
diff --git a/test/keystrokes/gtk-demo/role_label.py b/test/keystrokes/gtk-demo/role_label.py
index 701fa89..7ea7028 100644
--- a/test/keystrokes/gtk-demo/role_label.py
+++ b/test/keystrokes/gtk-demo/role_label.py
@@ -44,13 +44,12 @@ sequence.append(WaitAction("object:state-changed:focused",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label",
-    ["KNOWN ISSUE - We normally speak 'selected' for the selected text. In this test, however, we do not because the label gets STATE_FOCUSED immediately after the selection-changed event.",
-     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=1",
+    ["BRAILLE LINE:  'number of times: $l'",
+     "     VISIBLE:  'number of times: $l', cursor=17",
      "BRAILLE LINE:  'number of times: $l'",
      "     VISIBLE:  'number of times: $l', cursor=17",
      "SPEECH OUTPUT: 'This message box has been popped up the following",
-     "number of times: label'"]))
+     "number of times: selected label'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -63,7 +62,8 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'number of times: $l'",
      "     VISIBLE:  'number of times: $l', cursor=17",
      "SPEECH OUTPUT: 'This message box has been popped up the following",
-     "number of times: selected label'"]))
+     "number of times:'",
+     "SPEECH OUTPUT: 'selected label'"]))
 
 ########################################################################
 # Do an extended "Where Am I" via double KP_Enter.
@@ -88,7 +88,8 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'number of times: $l'",
      "     VISIBLE:  'number of times: $l', cursor=17",
      "SPEECH OUTPUT: 'This message box has been popped up the following",
-     "number of times: selected label'"]))
+     "number of times:'",
+     "SPEECH OUTPUT: 'selected label'"]))
 
 ########################################################################
 # Position the caret at the beginning of the label and move right one
@@ -104,12 +105,12 @@ sequence.append(WaitAction("object:text-caret-moved",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret movement to 'h'",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=1",
-     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=2",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=2",
      "SPEECH OUTPUT: 'T'",
-     "SPEECH OUTPUT: 'unselected'",
+     "SPEECH OUTPUT: 'unselected' voice=system",
      "SPEECH OUTPUT: 'h'"]))
 
 ########################################################################
@@ -124,10 +125,10 @@ sequence.append(WaitAction("object:text-selection-changed",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret select 'his' of 'This'",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=5",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has   $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=5",
      "SPEECH OUTPUT: 'his'",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: 'selected' voice=system"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -137,35 +138,28 @@ sequence.append(KeyComboAction("KP_Enter"))
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret selection Where Am I",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=5",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=5",
      "SPEECH OUTPUT: 'This message box has been popped up the following",
-     "number of times: selected label'"]))
+     "number of times:'",
+     "SPEECH OUTPUT: 'selected label'"]))
 
 ########################################################################
 # Do an extended "Where Am I" via double KP_Enter.
 #
-# JD to WDW: The difference here is that we are not repeating the speech
-# output. Personally I think that's a good thing. Is there any reason
-# we should be duplicating output in the case of a detailed/extended
-# where am i?
-#
-# WDW to JD: the first should be for the first KP_Enter (i.e., basic
-# where am I) and the second should be for the second KP_Enter (i.e.,
-# extended where am I). So, why did we end up losing one?
-#
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
 sequence.append(KeyComboAction("KP_Enter"))
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret selection Extended Where Am I",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=5",
-     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=5",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has   $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=5",
+     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=5",
      "SPEECH OUTPUT: 'This message box has been popped up the following",
-     "number of times: selected label'"]))
+     "number of times:'",
+     "SPEECH OUTPUT: 'selected label'"]))
 
 ########################################################################
 # Arrow left to clear the selection and then do a Shift+Control+Left to
@@ -181,14 +175,14 @@ sequence.append(WaitAction("object:text-selection-changed",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret select 'T' in 'This'",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=2",
-     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=1",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=2",
+     "BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=1",
      "SPEECH OUTPUT: 'h'",
-     "SPEECH OUTPUT: 'unselected'",
-     "SPEECH OUTPUT: 'T'",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: 'unselected' voice=system",
+     "SPEECH OUTPUT: 'T' voice=uppercase",
+     "SPEECH OUTPUT: 'selected' voice=system"]))
 
 ########################################################################
 # Reselect the rest of the word "This".
@@ -202,10 +196,10 @@ sequence.append(WaitAction("object:text-selection-changed",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "This message box label caret select rest of 'This'",
-    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has been popped up the following $l'",
-     "     VISIBLE:  'This message box has been popped', cursor=5",
+    ["BRAILLE LINE:  'gtk-demo Application Information Alert This message box has  $l'",
+     "     VISIBLE:  'This message box has  $l', cursor=5",
      "SPEECH OUTPUT: 'This'",
-     "SPEECH OUTPUT: 'unselected'"]))
+     "SPEECH OUTPUT: 'unselected' voice=system"]))
 
 ########################################################################
 # Close the demo subwindow.
diff --git a/test/keystrokes/gtk-demo/role_menu.py b/test/keystrokes/gtk-demo/role_menu.py
index e5e3645..b13877f 100644
--- a/test/keystrokes/gtk-demo/role_menu.py
+++ b/test/keystrokes/gtk-demo/role_menu.py
@@ -27,7 +27,6 @@ sequence.append(KeyComboAction("Return", 500))
 #
 #sequence.append(WaitForWindowActivate("Application Window",None))
 sequence.append(WaitForFocus("Open", acc_role=pyatspi.ROLE_PUSH_BUTTON))
-sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("F10"))
 sequence.append(WaitForFocus("File",
                              acc_role=pyatspi.ROLE_MENU))
@@ -47,7 +46,9 @@ sequence.append(utils.AssertPresentationAction(
     "File menu Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame File Menu'",
      "     VISIBLE:  'File Menu', cursor=1",
-     "SPEECH OUTPUT: 'menu bar File menu 1 of 3.",
+     "SPEECH OUTPUT: 'menu bar",
+     "SPEECH OUTPUT: 'File'",
+     "SPEECH OUTPUT: 'menu 1 of 3.'",
      "SPEECH OUTPUT: 'f'"]))
 
 ########################################################################
@@ -73,12 +74,15 @@ sequence.append(utils.AssertPresentationAction(
     "Preferences menu Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame Preferences Menu'",
      "     VISIBLE:  'Preferences Menu', cursor=1",
-     "SPEECH OUTPUT: 'menu bar Preferences menu 2 of 3.",
+     "SPEECH OUTPUT: 'menu bar",
+     "SPEECH OUTPUT: 'Preferences",
+     "SPEECH OUTPUT: 'menu 2 of 3.",
      "SPEECH OUTPUT: 'p'"]))
 
 ########################################################################
 # Go down to the "Color" menu.
 #
+sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(WaitForFocus("Color",
@@ -99,7 +103,10 @@ sequence.append(utils.AssertPresentationAction(
     "Color menu Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame MenuBar Color Menu'",
      "     VISIBLE:  'Color Menu', cursor=1",
-     "SPEECH OUTPUT: 'Preferences menu Color menu 1 of 3.",
+     "SPEECH OUTPUT: 'Preferences",
+     "SPEECH OUTPUT: 'menu",
+     "SPEECH OUTPUT: 'Color",
+     "SPEECH OUTPUT: 'menu 2 of 4.",
      "SPEECH OUTPUT: 'c'"]))
 
 ########################################################################
@@ -125,7 +132,10 @@ sequence.append(utils.AssertPresentationAction(
     "Shape menu Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame MenuBar Shape Menu'",
      "     VISIBLE:  'Shape Menu', cursor=1",
-     "SPEECH OUTPUT: 'Preferences menu Shape menu 2 of 3.",
+     "SPEECH OUTPUT: 'Preferences",
+     "SPEECH OUTPUT: 'menu'",
+     "SPEECH OUTPUT: 'Shape'",
+     "SPEECH OUTPUT: 'menu 3 of 4.'",
      "SPEECH OUTPUT: 's'"]))
 
 ########################################################################
diff --git a/test/keystrokes/gtk-demo/role_page_tab.py b/test/keystrokes/gtk-demo/role_page_tab.py
index ec87ddb..6efac23 100644
--- a/test/keystrokes/gtk-demo/role_page_tab.py
+++ b/test/keystrokes/gtk-demo/role_page_tab.py
@@ -26,11 +26,15 @@ sequence.append(KeyComboAction("Return", 500))
 sequence.append(WaitForFocus("General", acc_role=pyatspi.ROLE_PAGE_TAB))
 sequence.append(utils.AssertPresentationAction(
     "General page tab",
-    ["BRAILLE LINE:  'Window Printing $l'",
-     "     VISIBLE:  'Window Printing $l', cursor=16",
-     "BRAILLE LINE:  'Window Printing $l'",
-     "     VISIBLE:  'Window Printing $l', cursor=8",
-     "BRAILLE LINE:  'gtk-demo Application GTK+ Code Demos Frame TabList Widget (double click for demo) Page ScrollPane TreeTable Widget (double click for demo) ColumnHeader Printing TREE LEVEL 1'",
+    ["BRAILLE LINE:  'gtk-demo Application Window Pri $l'",
+     "     VISIBLE:  'emo Application Window Pri $l', cursor=32",
+     "BRAILLE LINE:  'gtk-demo Application Window Printing $l'",
+     "     VISIBLE:  'emo Application Window Printing ', cursor=32",
+     "BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
+     "BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
+     "BRAILLE LINE:  'gtk-demo Application GTK+ Code Demos Frame TabList Widget (double click for demo) Page scroll pane TreeTable Widget (double click for demo) ColumnHeader Expander TREE LEVEL 1'",
      "     VISIBLE:  'Printing TREE LEVEL 1', cursor=1",
      "BRAILLE LINE:  'gtk-demo Application Print Dialog'",
      "     VISIBLE:  'Print Dialog', cursor=1",
@@ -53,7 +57,9 @@ sequence.append(utils.AssertPresentationAction(
     "General page tab Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog General Page'",
      "     VISIBLE:  'General Page', cursor=1",
-     "SPEECH OUTPUT: 'tab list General page 1 of 2'"]))
+     "SPEECH OUTPUT: 'tab list'",
+     "SPEECH OUTPUT: 'General'",
+     "SPEECH OUTPUT: 'page 1 of 2'"]))
 
 ########################################################################
 # Arrow Right to the "Page Setup" tab.
@@ -77,7 +83,9 @@ sequence.append(utils.AssertPresentationAction(
     "Page Setup page tab Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog Page Setup Page'",
      "     VISIBLE:  'Page Setup Page', cursor=1",
-     "SPEECH OUTPUT: 'tab list Page Setup page 2 of 2'"]))
+     "SPEECH OUTPUT: 'tab list'",
+     "SPEECH OUTPUT: 'Page Setup'",
+     "SPEECH OUTPUT: 'page 2 of 2'"]))
 
 ########################################################################
 # Close the demo
diff --git a/test/keystrokes/gtk-demo/role_push_button.py b/test/keystrokes/gtk-demo/role_push_button.py
index d3b7f9c..a0ea5d9 100644
--- a/test/keystrokes/gtk-demo/role_push_button.py
+++ b/test/keystrokes/gtk-demo/role_push_button.py
@@ -26,11 +26,11 @@ sequence.append(KeyComboAction("Return", 500))
 sequence.append(WaitForFocus("OK", acc_role=pyatspi.ROLE_PUSH_BUTTON))
 sequence.append(utils.AssertPresentationAction(
     "OK button",
-    ["BRAILLE LINE:  'Window Button Boxes $l'",
-     "     VISIBLE:  'Window Button Boxes $l', cursor=20",
-     "BRAILLE LINE:  'Window Button Boxes $l'",
-     "     VISIBLE:  'Window Button Boxes $l', cursor=8",
-     "BRAILLE LINE:  'gtk-demo Application GTK+ Code Demos Frame TabList Widget (double click for demo) Page ScrollPane TreeTable Widget (double click for demo) ColumnHeader Button Boxes TREE LEVEL 1'",
+    ["BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
+     "BRAILLE LINE:  'gtk-demo Application Window  $l'",
+     "     VISIBLE:  'gtk-demo Application Window  $l', cursor=29",
+     "BRAILLE LINE:  'gtk-demo Application GTK+ Code Demos Frame TabList Widget (double click for demo) Page ScrollPane TreeTable Widget (double click for demo) ColumnHeader Button Boxes TREE LEVEL 1",
      "     VISIBLE:  'Button Boxes TREE LEVEL 1', cursor=1",
      "BRAILLE LINE:  'gtk-demo Application Button Boxes Frame'",
      "     VISIBLE:  'Button Boxes Frame', cursor=1",
@@ -50,7 +50,8 @@ sequence.append(utils.AssertPresentationAction(
     "OK button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Button Boxes Frame Horizontal Button Boxes Panel Spread Panel OK Button'",
      "     VISIBLE:  'OK Button', cursor=1",
-     "SPEECH OUTPUT: 'OK button.",
+     "SPEECH OUTPUT: 'OK",
+     "SPEECH OUTPUT: 'button.",
      "SPEECH OUTPUT: 'Alt o'"]))
 
 ########################################################################
diff --git a/test/keystrokes/gtk-demo/role_radio_button.py b/test/keystrokes/gtk-demo/role_radio_button.py
index cc4506f..a28c2de 100644
--- a/test/keystrokes/gtk-demo/role_radio_button.py
+++ b/test/keystrokes/gtk-demo/role_radio_button.py
@@ -34,7 +34,13 @@ sequence.append(utils.AssertPresentationAction(
     "All Pages radio button",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog TabList General Page Range &=y All Pages RadioButton'",
      "     VISIBLE:  '&=y All Pages RadioButton', cursor=1",
-     "SPEECH OUTPUT: 'Range All Pages selected radio button'"]))
+     "BRAILLE LINE:  'gtk-demo Application Print Dialog'",
+     "     VISIBLE:  'Print Dialog', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Print Dialog TabList General Page Range &=y All Pages RadioButton'",
+     "     VISIBLE:  '&=y All Pages RadioButton', cursor=1",
+     "SPEECH OUTPUT: 'Range All Pages selected radio button'",
+     "SPEECH OUTPUT: 'Print Range Copies'",
+     "SPEECH OUTPUT: 'General page Range All Pages selected radio button'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -46,7 +52,8 @@ sequence.append(utils.AssertPresentationAction(
     "All Pages radio button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Print Dialog TabList General Page Range &=y All Pages RadioButton'",
      "     VISIBLE:  '&=y All Pages RadioButton', cursor=1",
-     "SPEECH OUTPUT: 'Range All Pages radio button selected 1 of 3.'",
+     "SPEECH OUTPUT: 'Range All Pages'",
+     "SPEECH OUTPUT: 'radio button selected 1 of 3.'",
      "SPEECH OUTPUT: 'Alt a'"]))
 
 # WDW - the printing dialog changed for 2.27.x - the pages radio button
diff --git a/test/keystrokes/gtk-demo/role_radio_menu_item.py b/test/keystrokes/gtk-demo/role_radio_menu_item.py
index bc8a99c..b90d443 100644
--- a/test/keystrokes/gtk-demo/role_radio_menu_item.py
+++ b/test/keystrokes/gtk-demo/role_radio_menu_item.py
@@ -55,7 +55,12 @@ sequence.append(utils.AssertPresentationAction(
     "Red button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame MenuBar Preferences Menu <x> Red CheckItem(Control r)'",
      "     VISIBLE:  '<x> Red CheckItem(Control r)', cursor=1",
-     "SPEECH OUTPUT: 'Preferences menu Color menu Red check item checked Control r 1 of 3.",
+     "SPEECH OUTPUT: 'Preferences'",
+     "SPEECH OUTPUT: 'menu'"
+     "SPEECH OUTPUT: 'Color'",
+     "SPEECH OUTPUT: 'menu'"
+     "SPEECH OUTPUT: 'Red'",
+     "SPEECH OUTPUT: 'check item checked Control r 1 of 3.'",
      "SPEECH OUTPUT: 'r'"]))
 
 ########################################################################
@@ -87,7 +92,12 @@ sequence.append(utils.AssertPresentationAction(
     "Green button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame MenuBar Preferences Menu < > Green CheckItem(Control g)'",
      "     VISIBLE:  '< > Green CheckItem(Control g)', cursor=1",
-     "SPEECH OUTPUT: 'Preferences menu Color menu Green check item not checked Control g 2 of 3.",
+     "SPEECH OUTPUT: 'Preferences'",
+     "SPEECH OUTPUT: 'menu'"
+     "SPEECH OUTPUT: 'Color'",
+     "SPEECH OUTPUT: 'menu'"
+     "SPEECH OUTPUT: 'Green'",
+     "SPEECH OUTPUT: 'check item not checked Control g 2 of 3.'",
      "SPEECH OUTPUT: 'g'"]))
 
 ########################################################################
diff --git a/test/keystrokes/gtk-demo/role_spin_button.py b/test/keystrokes/gtk-demo/role_spin_button.py
index 9ebe54d..4580466 100644
--- a/test/keystrokes/gtk-demo/role_spin_button.py
+++ b/test/keystrokes/gtk-demo/role_spin_button.py
@@ -44,12 +44,11 @@ sequence.append(KeyComboAction("Tab", 500))
 sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_SPIN_BUTTON))
 sequence.append(utils.AssertPresentationAction(
     "Hue spin button",
-    ["KNOWN ISSUE - Selection state not spoken",
-     "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
-     "     VISIBLE:  'Hue: 240 $l', cursor=6",
+    ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
+     "     VISIBLE:  'Hue: 240 $l', cursor=9",
      "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
      "     VISIBLE:  'Hue: 240 $l', cursor=9",
-     "SPEECH OUTPUT: 'Hue: 240 spin button'"]))
+     "SPEECH OUTPUT: 'Hue: 240 selected spin button'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -61,7 +60,10 @@ sequence.append(utils.AssertPresentationAction(
     "Hue spin button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
      "     VISIBLE:  'Hue: 240 $l', cursor=9",
-     "SPEECH OUTPUT: 'Hue: spin button 240 selected.'",
+     "SPEECH OUTPUT: 'Hue:'",
+     "SPEECH OUTPUT: 'spin button'",
+     "SPEECH OUTPUT: '240'",
+     "SPEECH OUTPUT: 'selected.'",
      "SPEECH OUTPUT: 'Alt h'",
      "SPEECH OUTPUT: 'Position on the color wheel.'"]))
 
@@ -78,13 +80,13 @@ sequence.append(WaitAction("object:property-change:accessible-value",
 sequence.append(PauseAction(1000))
 sequence.append(utils.AssertPresentationAction(
     "Hue spin button decrement value",
-    ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
-     "     VISIBLE:  'Hue: 240 $l', cursor=9",
-     "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
-     "     VISIBLE:  'Hue: 240 $l', cursor=6",
+    ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 239 $l'",
+     "     VISIBLE:  'Hue: 239 $l', cursor=6",
      "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 239 $l'",
      "     VISIBLE:  'Hue: 239 $l', cursor=6",
-     "SPEECH OUTPUT: '240'",
+     "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 239 $l'",
+     "     VISIBLE:  'Hue: 239 $l', cursor=6",
+     "SPEECH OUTPUT: '239'",
      "SPEECH OUTPUT: '239'"]))
 
 ########################################################################
@@ -100,8 +102,8 @@ sequence.append(WaitAction("object:property-change:accessible-value",
 sequence.append(PauseAction(1000))
 sequence.append(utils.AssertPresentationAction(
     "Hue spin button increment value",
-    ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 239 $l'",
-     "     VISIBLE:  'Hue: 239 $l', cursor=6",
+    ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
+     "     VISIBLE:  'Hue: 240 $l', cursor=6",
      "BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
      "     VISIBLE:  'Hue: 240 $l', cursor=6",
      "SPEECH OUTPUT: '240'"]))
@@ -132,7 +134,9 @@ sequence.append(utils.AssertPresentationAction(
     "Hue spin button caret navigation",
     ["BRAILLE LINE:  'gtk-demo Application Changing color ColorChooser ColorChooser Hue: 240 $l'",
      "     VISIBLE:  'Hue: 240 $l', cursor=7",
-     "SPEECH OUTPUT: 'Hue: spin button 240.'",
+     "SPEECH OUTPUT: 'Hue:'",
+     "SPEECH OUTPUT: 'spin button'",
+     "SPEECH OUTPUT: '240.'",
      "SPEECH OUTPUT: 'Alt h'",
      "SPEECH OUTPUT: 'Position on the color wheel.'"]))
 
diff --git a/test/keystrokes/gtk-demo/role_split_pane.py b/test/keystrokes/gtk-demo/role_split_pane.py
index 5938002..c5f3b38 100644
--- a/test/keystrokes/gtk-demo/role_split_pane.py
+++ b/test/keystrokes/gtk-demo/role_split_pane.py
@@ -32,9 +32,12 @@ sequence.append(KeyComboAction("F8", 500))
 sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_SPLIT_PANE))
 sequence.append(utils.AssertPresentationAction(
     "Split pane",
-    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 60 SplitPane'",
-     "     VISIBLE:  '60 SplitPane', cursor=1",
-     "SPEECH OUTPUT: 'split pane 60'"]))
+    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 74 SplitPane'",
+     "     VISIBLE:  '74 SplitPane', cursor=1",
+     "BRAILLE LINE:  'gtk-demo Application Panes Frame 74 SplitPane'",
+     "     VISIBLE:  '74 SplitPane', cursor=1",
+     "SPEECH OUTPUT: 'split pane 74'",
+     "SPEECH OUTPUT: '74'"]))
 
 ########################################################################
 # Move the split pane to the right.
@@ -48,9 +51,9 @@ sequence.append(WaitAction("object:property-change:accessible-value",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "Split pane increment value",
-    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 61 SplitPane'",
-     "     VISIBLE:  '61 SplitPane', cursor=1",
-     "SPEECH OUTPUT: '61'"]))
+    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 75 SplitPane'",
+     "     VISIBLE:  '75 SplitPane', cursor=1",
+     "SPEECH OUTPUT: '75'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
@@ -60,9 +63,9 @@ sequence.append(KeyComboAction("KP_Enter"))
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Split pane Where Am I",
-    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 61 SplitPane'",
-     "     VISIBLE:  '61 SplitPane', cursor=1",
-     "SPEECH OUTPUT: 'split pane 61'"]))
+    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 75 SplitPane'",
+     "     VISIBLE:  '75 SplitPane', cursor=1",
+     "SPEECH OUTPUT: 'split pane 75'"]))
 
 ########################################################################
 # Put things back the way they were
@@ -76,9 +79,9 @@ sequence.append(WaitAction("object:property-change:accessible-value",
                            5000))
 sequence.append(utils.AssertPresentationAction(
     "Split pane decrement value",
-    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 60 SplitPane'",
-     "     VISIBLE:  '60 SplitPane', cursor=1",
-     "SPEECH OUTPUT: '60'"]))
+    ["BRAILLE LINE:  'gtk-demo Application Panes Frame 74 SplitPane'",
+     "     VISIBLE:  '74 SplitPane', cursor=1",
+     "SPEECH OUTPUT: '74'"]))
 
 ########################################################################
 # Go back to the main gtk-demo window and reselect the
diff --git a/test/keystrokes/gtk-demo/role_text_multiline_navigation.py b/test/keystrokes/gtk-demo/role_text_multiline_navigation.py
index dd9abcb..d3943f9 100644
--- a/test/keystrokes/gtk-demo/role_text_multiline_navigation.py
+++ b/test/keystrokes/gtk-demo/role_text_multiline_navigation.py
@@ -471,7 +471,7 @@ sequence.append(TypeAction("f"))
 sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
 sequence.append(utils.AssertPresentationAction(
     "Insert+f for text attributes",
-    ["SPEECH OUTPUT: 'size 10'",
+    ["SPEECH OUTPUT: 'size 11' voice=system",
      "SPEECH OUTPUT: 'family name Sans'"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py b/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py
index 239e4c1..e6b842e 100644
--- a/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py
+++ b/test/keystrokes/gtk-demo/role_text_multiline_navigation2.py
@@ -98,7 +98,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'This is a test.  $l', cursor=17",
      "SPEECH OUTPUT: '",
      "This is only a test.'",
-     "SPEECH OUTPUT: 'unselected'"]))
+     "SPEECH OUTPUT: 'unselected' voice=system"]))
 
 ########################################################################
 # Test #4 - Shift+Down to deselect text.
diff --git a/test/keystrokes/gtk-demo/role_toggle_button.py b/test/keystrokes/gtk-demo/role_toggle_button.py
index 1124cdc..f460e4d 100644
--- a/test/keystrokes/gtk-demo/role_toggle_button.py
+++ b/test/keystrokes/gtk-demo/role_toggle_button.py
@@ -38,6 +38,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '& y Details ToggleButton', cursor=1",
      "SPEECH OUTPUT: 'Widget (double click for demo) page Widget (double click for demo) column header Expander tree level 1'",
      "SPEECH OUTPUT: 'GtkExpander Expander demo. Click on the triangle for details.'",
+     "SPEECH OUTPUT: 'Details'",
      "SPEECH OUTPUT: 'Details toggle button not pressed'"]))
 
 ########################################################################
@@ -50,7 +51,8 @@ sequence.append(utils.AssertPresentationAction(
     "Toggle button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog & y Details ToggleButton'",
      "     VISIBLE:  '& y Details ToggleButton', cursor=1",
-     "SPEECH OUTPUT: 'Details toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Details'",
+     "SPEECH OUTPUT: 'toggle button not pressed'"]))
 
 ########################################################################
 # Toggle the state of the "Details" button.
@@ -78,7 +80,8 @@ sequence.append(utils.AssertPresentationAction(
     "Toggle button pressed Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application GtkExpander Dialog &=y Details ToggleButton'",
      "     VISIBLE:  '&=y Details ToggleButton', cursor=1",
-     "SPEECH OUTPUT: 'Details toggle button pressed'"]))
+     "SPEECH OUTPUT: 'Details'",
+     "SPEECH OUTPUT: 'toggle button pressed'"]))
 
 ########################################################################
 # Toggle the state of the "Details" button.
diff --git a/test/keystrokes/gtk-demo/role_toolbar.py b/test/keystrokes/gtk-demo/role_toolbar.py
index c374bd8..53a907f 100644
--- a/test/keystrokes/gtk-demo/role_toolbar.py
+++ b/test/keystrokes/gtk-demo/role_toolbar.py
@@ -30,12 +30,11 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE - Sometimes we are more verbose here than others. Seems to be a timing issue that needs to be investigated.",
      "BRAILLE LINE:  'Window Application main window $l'",
      "     VISIBLE:  'Window Application main window $', cursor=31",
-     "BRAILLE LINE:  'Window Application main window $l'",
-     "     VISIBLE:  'Window Application main window $', cursor=8",
      "BRAILLE LINE:  'gtk-demo Application Application Window Frame'",
      "     VISIBLE:  'Application Window Frame', cursor=1",
      "BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar Open Button'",
      "     VISIBLE:  'Open Button', cursor=1",
+     "SPEECH OUTPUT: 'Widget (double click for demo) page Widget (double click for demo) column header Application main window tree level 1'",
      "SPEECH OUTPUT: 'Application Window frame'",
      "SPEECH OUTPUT: 'Open button'"]))
 
@@ -49,6 +48,9 @@ sequence.append(utils.AssertPresentationAction(
     "Open button Where Am I",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar Open Button'",
      "     VISIBLE:  'Open Button', cursor=1",
+     "SPEECH OUTPUT: 'tool bar'",
+     "SPEECH OUTPUT: 'Open'",
+     "SPEECH OUTPUT: 'button'",
      "SPEECH OUTPUT: 'tool bar Open button'"]))
 
 ########################################################################
@@ -85,7 +87,9 @@ sequence.append(utils.AssertPresentationAction(
     "Quit button",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar Quit Button'",
      "     VISIBLE:  'Quit Button', cursor=1",
-     "SPEECH OUTPUT: 'Quit button'"]))
+     "SPEECH OUTPUT: 'tool bar'",
+     "SPEECH OUTPUT: 'Quit'",
+     "SPEECH OUTPUT: 'button'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter.
diff --git a/test/keystrokes/gtk-demo/role_tooltip.py b/test/keystrokes/gtk-demo/role_tooltip.py
index 3309bce..b1c3c24 100644
--- a/test/keystrokes/gtk-demo/role_tooltip.py
+++ b/test/keystrokes/gtk-demo/role_tooltip.py
@@ -53,7 +53,8 @@ sequence.append(utils.AssertPresentationAction(
     "Hide Open tooltip",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar Open Button'",
      "     VISIBLE:  'Open Button', cursor=1",
-     "SPEECH OUTPUT: 'Open button'"]))
+     "SPEECH OUTPUT: 'Open'",
+     "SPEECH OUTPUT: 'button'"]))
 
 ########################################################################
 # Move on to the Quit button.  Check its tooltip.
@@ -90,7 +91,8 @@ sequence.append(utils.AssertPresentationAction(
     "Hide Quit tooltip",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar Quit Button'",
      "     VISIBLE:  'Quit Button', cursor=1",
-     "SPEECH OUTPUT: 'Quit button'"]))
+     "SPEECH OUTPUT: 'Quit'",
+     "SPEECH OUTPUT: 'button'"]))
 
 ########################################################################
 # Move on to the GTK! button.  Check its tooltip.
@@ -125,7 +127,8 @@ sequence.append(utils.AssertPresentationAction(
     "Hide GTK+ tooltip",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ToolBar GTK! Button'",
      "     VISIBLE:  'GTK! Button', cursor=1",
-     "SPEECH OUTPUT: 'GTK! button'"]))
+     "SPEECH OUTPUT: 'GTK!'",
+     "SPEECH OUTPUT: 'button'"]))
 
 ########################################################################
 # Go back to the main gtk-demo window and reselect the
diff --git a/test/keystrokes/gtk-demo/spoken_indentation.py b/test/keystrokes/gtk-demo/spoken_indentation.py
index fb59ff1..fd5679f 100644
--- a/test/keystrokes/gtk-demo/spoken_indentation.py
+++ b/test/keystrokes/gtk-demo/spoken_indentation.py
@@ -142,7 +142,9 @@ sequence.append(utils.AssertPresentationAction(
     "Home to 1 tab",
     ["BRAILLE LINE:  'gtk-demo Application Application Window Frame ScrollPane 	 $l'",
      "     VISIBLE:  '	 $l', cursor=1",
-     "SPEECH OUTPUT: '1 tab '",
+     "SPEECH OUTPUT: 'left control'",
+     "SPEECH OUTPUT: 'home'",
+     "SPEECH OUTPUT: '1 tab ' voice=system",
      "SPEECH OUTPUT: '	'"]))
 
 sequence.append(utils.StartRecordingAction())



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]