[orca] Updated tests



commit 6bc6fd8440244d3552bcc8a7ba6a879f982c6aac
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Sat Sep 13 12:03:23 2014 -0400

    Updated tests

 test/keystrokes/firefox/aria_alert.py              |    6 +-
 test/keystrokes/firefox/aria_alert_uiuc.py         |    7 +-
 test/keystrokes/firefox/aria_button.py             |    9 +-
 test/keystrokes/firefox/aria_button_dojo.py        |   81 ++++-------
 test/keystrokes/firefox/aria_button_uiuc.py        |   15 +--
 test/keystrokes/firefox/aria_checkbox.py           |   15 +--
 test/keystrokes/firefox/aria_checkbox_dojo.py      |   24 +--
 test/keystrokes/firefox/aria_combobox_dojo.py      |   20 +--
 test/keystrokes/firefox/aria_dialog_dojo.py        |    7 +-
 .../firefox/aria_editor_navigation_dojo.py         |    6 +-
 test/keystrokes/firefox/aria_grid_uiuc.py          |    9 +-
 test/keystrokes/firefox/aria_landmarks.py          |    5 +-
 test/keystrokes/firefox/aria_list.py               |    4 +-
 test/keystrokes/firefox/aria_menu.py               |   23 +--
 test/keystrokes/firefox/aria_radio_button_uiuc.py  |   30 ++---
 test/keystrokes/firefox/aria_slider.py             |    3 +-
 test/keystrokes/firefox/aria_slider_dojo.py        |   14 +--
 test/keystrokes/firefox/aria_spinner_dojo.py       |    7 +-
 test/keystrokes/firefox/aria_tabcontainer_dojo.py  |   12 +-
 test/keystrokes/firefox/aria_tabpanel.py           |   22 +--
 test/keystrokes/firefox/aria_tabpanel_text_dojo.py |    9 +-
 test/keystrokes/firefox/aria_tabpanel_uiuc.py      |   22 +--
 test/keystrokes/firefox/aria_toolbar_dojo.py       |   18 +--
 test/keystrokes/firefox/aria_tree_dojo.py          |   34 ++---
 test/keystrokes/firefox/aria_tree_uiuc.py          |   31 ++---
 test/keystrokes/firefox/aria_treegrid.py           |    6 +-
 test/keystrokes/firefox/find_wiki.py               |    6 +-
 test/keystrokes/firefox/focus_tracking_imagemap.py |    9 +-
 test/keystrokes/firefox/focus_tracking_links.py    |    6 +-
 test/keystrokes/firefox/html_page_summary.py       |    6 +-
 test/keystrokes/firefox/html_role_combo_box.py     |   25 +--
 test/keystrokes/firefox/html_role_links.py         |   12 +-
 .../firefox/html_role_list_item_where_am_i.py      |   24 +---
 .../firefox/html_struct_nav_bug_554616.py          |    6 +-
 .../firefox/html_struct_nav_bug_556470.py          |    9 +-
 .../firefox/html_struct_nav_bug_567984.py          |    6 +-
 .../firefox/html_struct_nav_bug_591592.py          |   21 +--
 .../html_struct_nav_headings_buried_deep.py        |   18 +--
 .../firefox/html_struct_nav_list_item.py           |   12 +-
 test/keystrokes/firefox/html_struct_nav_lists.py   |   12 +-
 .../firefox/label_inference_bug_546815.py          |   43 ++----
 .../firefox/label_inference_bugzilla_search.py     |  137 ++++++------------
 test/keystrokes/firefox/label_inference_entries.py |  112 +++++----------
 test/keystrokes/firefox/label_inference_mailman.py |   39 ++----
 test/keystrokes/firefox/line_nav_bug_546815.py     |   72 +++++-----
 test/keystrokes/firefox/line_nav_bug_552887a.py    |   15 +--
 test/keystrokes/firefox/line_nav_bug_554616.py     |   24 +--
 .../firefox/line_nav_bugzilla_search_down.py       |  139 ++++++------------
 .../firefox/line_nav_bugzilla_search_up.py         |  135 ++++++-----------
 test/keystrokes/firefox/line_nav_clickables.py     |   15 +--
 test/keystrokes/firefox/line_nav_empty_anchor.py   |   12 +-
 test/keystrokes/firefox/line_nav_empty_textarea.py |    6 +-
 test/keystrokes/firefox/line_nav_enter_bug.py      |   48 ++----
 test/keystrokes/firefox/line_nav_entries.py        |   36 ++---
 test/keystrokes/firefox/line_nav_focused_link.py   |    3 +-
 .../firefox/line_nav_follow_same_page_link.py      |   12 +-
 .../keystrokes/firefox/line_nav_heading_section.py |   33 ++---
 test/keystrokes/firefox/line_nav_hidden_buttons.py |   12 +-
 test/keystrokes/firefox/line_nav_hidden_label.py   |    6 +-
 test/keystrokes/firefox/line_nav_imagemap.py       |  156 +++++++-------------
 .../keystrokes/firefox/line_nav_images_in_links.py |   24 +--
 test/keystrokes/firefox/line_nav_lists.py          |    6 +-
 .../keystrokes/firefox/line_nav_multi_line_text.py |   12 +-
 test/keystrokes/firefox/line_nav_simple_form.py    |   72 +++------
 test/keystrokes/firefox/line_nav_slash_test.py     |   33 ++---
 test/keystrokes/firefox/line_nav_sun_java.py       |   24 +--
 test/keystrokes/firefox/line_nav_table_captions.py |   24 +--
 test/keystrokes/firefox/line_nav_twitter_bug.py    |    6 +-
 test/keystrokes/firefox/line_nav_wiki_down.py      |   54 +++-----
 test/keystrokes/firefox/line_nav_wiki_up.py        |   54 +++-----
 test/keystrokes/firefox/longdesc_1.py              |    6 +-
 test/keystrokes/firefox/longdesc_10.py             |    6 +-
 test/keystrokes/firefox/longdesc_11.py             |    6 +-
 test/keystrokes/firefox/longdesc_12.py             |    6 +-
 test/keystrokes/firefox/longdesc_13.py             |    9 +-
 test/keystrokes/firefox/longdesc_14.py             |    6 +-
 test/keystrokes/firefox/longdesc_15.py             |    6 +-
 test/keystrokes/firefox/longdesc_2.py              |    6 +-
 test/keystrokes/firefox/longdesc_3.py              |    6 +-
 test/keystrokes/firefox/longdesc_7.py              |    6 +-
 test/keystrokes/firefox/longdesc_8.py              |    6 +-
 test/keystrokes/firefox/longdesc_9.py              |    6 +-
 .../firefox/mouseover_javascript_alert.py          |    6 +-
 test/keystrokes/firefox/say_all_imagemap.py        |    5 +-
 test/keystrokes/firefox/say_all_role_lists.py      |    2 -
 test/keystrokes/firefox/ui_doc_tabs.py             |   24 +--
 test/keystrokes/firefox/ui_role_accel_label.py     |   14 +--
 test/keystrokes/firefox/ui_role_check_box.py       |   15 +--
 test/keystrokes/firefox/ui_role_check_menu_item.py |   11 +-
 test/keystrokes/firefox/ui_role_combo_box.py       |   18 +--
 test/keystrokes/firefox/ui_role_entry.py           |   11 +-
 test/keystrokes/firefox/ui_role_list_item.py       |    4 +-
 test/keystrokes/firefox/ui_role_menu_bar.py        |   20 +--
 test/keystrokes/firefox/ui_role_page_tab.py        |   13 +-
 test/keystrokes/firefox/ui_role_push_button.py     |    6 +-
 test/keystrokes/firefox/ui_role_radio_button.py    |    9 +-
 test/keystrokes/firefox/ui_role_radio_menu_item.py |   31 +---
 test/keystrokes/firefox/ui_role_tree.py            |   36 ++---
 test/keystrokes/firefox/ui_role_tree_table.py      |    9 +-
 99 files changed, 760 insertions(+), 1524 deletions(-)
---
diff --git a/test/keystrokes/firefox/aria_alert.py b/test/keystrokes/firefox/aria_alert.py
index 4cbd50f..c625bee 100644
--- a/test/keystrokes/firefox/aria_alert.py
+++ b/test/keystrokes/firefox/aria_alert.py
@@ -27,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'close'",
      "     VISIBLE:  'close', cursor=1",
      "SPEECH OUTPUT: 'This popup is created as a div in the HTML content, rather than being created in the 
DOM at the time of use. The display style is changed from \"none\" to \"block\" to hide and show it. close'",
-     "SPEECH OUTPUT: 'close'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'close link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -85,8 +84,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: You should not be able to arrow out of this alert.",
      "BRAILLE LINE:  'Show (via display style) and put focus inside alert (on link) push button'",
      "     VISIBLE:  'Show (via display style) and put', cursor=1",
-     "SPEECH OUTPUT: 'Show (via display style) and put focus inside alert (on link)'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Show (via display style) and put focus inside alert (on link) push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/aria_alert_uiuc.py b/test/keystrokes/firefox/aria_alert_uiuc.py
index 962d377..a854f93 100644
--- a/test/keystrokes/firefox/aria_alert_uiuc.py
+++ b/test/keystrokes/firefox/aria_alert_uiuc.py
@@ -28,7 +28,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'dialog', cursor=1",
      "BRAILLE LINE:  'You must choose a number'",
      "     VISIBLE:  'You must choose a number', cursor=1",
-     "SPEECH OUTPUT: 'You must choose a number '"]))
+     "SPEECH OUTPUT: 'You must choose a number'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -48,10 +48,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Guess a number between 1 and 10 12 $l'",
      "     VISIBLE:  'ss a number between 1 and 10 12 ', cursor=32",
-     "SPEECH OUTPUT: 'Guess a number between 1 and 10'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: '12'",
-     "SPEECH OUTPUT: 'selected'",
+     "SPEECH OUTPUT: 'Guess a number between 1 and 10 entry 12 selected'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/aria_button.py b/test/keystrokes/firefox/aria_button.py
index 2390f38..038c7f7 100644
--- a/test/keystrokes/firefox/aria_button.py
+++ b/test/keystrokes/firefox/aria_button.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tracking number  $l', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Tracking number'",
-     "SPEECH OUTPUT: 'entry'",
+     "SPEECH OUTPUT: 'Tracking number entry'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -31,8 +30,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Browse mode', cursor=0",
      "BRAILLE LINE:  'Check Now push button Check to see if your order has been'",
      "     VISIBLE:  'Check Now push button Check to s', cursor=1",
-     "SPEECH OUTPUT: 'Check Now'",
-     "SPEECH OUTPUT: 'push button Check to see if your order has been shipped.'",
+     "SPEECH OUTPUT: 'Check Now push button Check to see if your order has been shipped.'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -41,8 +39,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic whereamI",
     ["BRAILLE LINE:  'Check Now push button Check to see if your order has been'",
      "     VISIBLE:  'Check Now push button Check to s', cursor=1",
-     "SPEECH OUTPUT: 'Check Now'",
-     "SPEECH OUTPUT: 'push button Check to see if your order has been shipped.'"]))
+     "SPEECH OUTPUT: 'Check Now push button Check to see if your order has been shipped.'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_button_dojo.py b/test/keystrokes/firefox/aria_button_dojo.py
index 863b33a..5d93585 100644
--- a/test/keystrokes/firefox/aria_button_dojo.py
+++ b/test/keystrokes/firefox/aria_button_dojo.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Tab to the <button> button",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create save options 
push button Edit! Color'",
      "     VISIBLE:  '<button> push button <input type', cursor=0",
-     "SPEECH OUTPUT: '<button>'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: '<button> push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -20,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I on <button>",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create save options 
push button Edit! Color'",
      "     VISIBLE:  '<button> push button <input type', cursor=0",
-     "SPEECH OUTPUT: '<button>'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: '<button> push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -29,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Tab to <input type='button'>",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create save options 
push button Edit! Color'",
      "     VISIBLE:  '<button> push button <input type', cursor=0",
-     "SPEECH OUTPUT: '<input type='button'>'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: '<input type='button'> push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -38,8 +35,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic Where Am I on <input type='button'>",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create save options 
push button Edit! Color'",
      "     VISIBLE:  '<button> push button <input type', cursor=0",
-     "SPEECH OUTPUT: '<input type='button'>'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: '<input type='button'> push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -47,8 +43,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Tab to first Create button",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create push button View Create 
save options push button Edit! Color'",
      "     VISIBLE:  'Create push button View Create s', cursor=1",
-     "SPEECH OUTPUT: 'Create'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Create push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -56,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Basic Where Am I on first Create button",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create push button View Create 
save options push button Edit! Color'",
      "     VISIBLE:  'Create push button View Create s', cursor=1",
-     "SPEECH OUTPUT: 'Create'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Create push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -65,8 +59,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Tab to View push button",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View push button Create 
save options push button Edit! Color'",
      "     VISIBLE:  'View push button Create save opt', cursor=1",
-     "SPEECH OUTPUT: 'View'",
-     "SPEECH OUTPUT: 'push button view title'"]))
+     "SPEECH OUTPUT: 'View push button view title'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -74,8 +67,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Tab to second Create button",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create push button 
save options push button Edit! Color'",
      "     VISIBLE:  'Create push button save options ', cursor=1",
-     "SPEECH OUTPUT: 'Create'",
-     "SPEECH OUTPUT: 'push button creative title'"]))
+     "SPEECH OUTPUT: 'Create push button creative title'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -83,8 +75,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Tab to drop down menu on Create -- whose tooltip and accessible name is 'save options'",
     ["BRAILLE LINE:  '<button> push button <input type='button'> push button Create View Create save options 
push button Edit! Color'",
      "     VISIBLE:  '<button> push button <input type', cursor=0",
-     "SPEECH OUTPUT: 'save options'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'save options push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -98,8 +89,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Create blank'",
      "     VISIBLE:  'Create blank', cursor=1",
-     "SPEECH OUTPUT: 'createMenu'",
-     "SPEECH OUTPUT: 'panel'",
+     "SPEECH OUTPUT: 'createMenu panel'",
      "SPEECH OUTPUT: 'Create blank'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
@@ -119,8 +109,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Close Create drop down menu",
     ["BRAILLE LINE:  'save options collapsed push button'",
      "     VISIBLE:  'save options collapsed push butt', cursor=1",
-     "SPEECH OUTPUT: 'save options'",
-     "SPEECH OUTPUT: 'collapsed push button'"]))
+     "SPEECH OUTPUT: 'save options collapsed push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -130,8 +119,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Edit! push button', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Edit!'",
-     "SPEECH OUTPUT: 'push button edit title'",
+     "SPEECH OUTPUT: 'Edit! push button edit title'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -148,10 +136,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Cut'",
      "     VISIBLE:  'Cut', cursor=1",
-     "SPEECH OUTPUT: 'Edit! edit title'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Edit!'",
-     "SPEECH OUTPUT: 'menu'",
+     "SPEECH OUTPUT: 'Edit! edit title panel'",
+     "SPEECH OUTPUT: 'Edit! menu'",
      "SPEECH OUTPUT: 'Cut'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
@@ -183,8 +169,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Submenu menu', cursor=1",
      "BRAILLE LINE:  'Submenu menu'",
      "     VISIBLE:  'Submenu menu', cursor=1",
-     "SPEECH OUTPUT: 'Submenu'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Submenu menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("space"))
@@ -194,10 +179,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Submenu Item One', cursor=1",
      "BRAILLE LINE:  'Submenu Item One'",
      "     VISIBLE:  'Submenu Item One', cursor=1",
-     "SPEECH OUTPUT: 'Submenu'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Submenu'",
-     "SPEECH OUTPUT: 'menu'",
+     "SPEECH OUTPUT: 'Submenu panel'",
+     "SPEECH OUTPUT: 'Submenu menu'",
      "SPEECH OUTPUT: 'Submenu Item One'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -218,8 +201,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Deeper Submenu menu', cursor=1",
      "BRAILLE LINE:  'Deeper Submenu menu'",
      "     VISIBLE:  'Deeper Submenu menu', cursor=1",
-     "SPEECH OUTPUT: 'Deeper Submenu'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Deeper Submenu menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Escape"))
@@ -228,12 +210,9 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: Too much speech context",
      "BRAILLE LINE:  'Submenu menu'",
      "     VISIBLE:  'Submenu menu', cursor=1",
-     "SPEECH OUTPUT: 'Edit! edit title'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Edit!'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'Submenu'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Edit! edit title panel'",
+     "SPEECH OUTPUT: 'Edit! menu'",
+     "SPEECH OUTPUT: 'Submenu menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Escape"))
@@ -241,8 +220,7 @@ sequence.append(utils.AssertPresentationAction(
     "22. Close the Edit! menu",
     ["BRAILLE LINE:  'Edit! collapsed push button'",
      "     VISIBLE:  'Edit! collapsed push button', cursor=1",
-     "SPEECH OUTPUT: 'Edit!'",
-     "SPEECH OUTPUT: 'collapsed push button edit title'"]))
+     "SPEECH OUTPUT: 'Edit! collapsed push button edit title'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -252,8 +230,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Color push button', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Color'",
-     "SPEECH OUTPUT: 'push button'",
+     "SPEECH OUTPUT: 'Color push button'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -268,8 +245,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'white table cell lime green blue', cursor=1",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Color'",
-     "SPEECH OUTPUT: 'panel'",
+     "SPEECH OUTPUT: 'Color panel'",
      "SPEECH OUTPUT: 'white'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
@@ -289,8 +265,7 @@ sequence.append(utils.AssertPresentationAction(
     "26. Close the Color menu",
     ["BRAILLE LINE:  'Color collapsed push button'",
      "     VISIBLE:  'Color collapsed push button', cursor=1",
-     "SPEECH OUTPUT: 'Color'",
-     "SPEECH OUTPUT: 'collapsed push button'"]))
+     "SPEECH OUTPUT: 'Color collapsed push button'"]))
 
 for i in range(18):
     sequence.append(KeyComboAction("Tab"))
@@ -301,8 +276,7 @@ sequence.append(utils.AssertPresentationAction(
     "27. Tab to the toggle me off button",
     ["BRAILLE LINE:  '&=y Toggle me off toggle button Toggle me'",
      "     VISIBLE:  '&=y Toggle me off toggle button ', cursor=1",
-     "SPEECH OUTPUT: 'Toggle me off'",
-     "SPEECH OUTPUT: 'toggle button pressed'"]))
+     "SPEECH OUTPUT: 'Toggle me off toggle button pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("space"))
@@ -335,8 +309,7 @@ sequence.append(utils.AssertPresentationAction(
     "30. Tab to the toggle me button",
     ["BRAILLE LINE:  'toggle me off Toggle me push button'",
      "     VISIBLE:  'Toggle me push button', cursor=1",
-     "SPEECH OUTPUT: 'Toggle me'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Toggle me push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("space"))
diff --git a/test/keystrokes/firefox/aria_button_uiuc.py b/test/keystrokes/firefox/aria_button_uiuc.py
index 04286c4..b04ba0f 100644
--- a/test/keystrokes/firefox/aria_button_uiuc.py
+++ b/test/keystrokes/firefox/aria_button_uiuc.py
@@ -19,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '& y Font Larger toggle button & ', cursor=1",
      "BRAILLE LINE:  '& y Font Larger toggle button & y Font Smaller toggle button &=y Italic toggle button 
& y Bold toggle button'",
      "     VISIBLE:  '& y Font Larger toggle button & ', cursor=1",
-     "SPEECH OUTPUT: 'Font Larger'",
-     "SPEECH OUTPUT: 'toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Font Larger toggle button not pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -28,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic whereamI",
     ["BRAILLE LINE:  '& y Font Larger toggle button & y Font Smaller toggle button &=y Italic toggle button 
& y Bold toggle button'",
      "     VISIBLE:  '& y Font Larger toggle button & ', cursor=1",
-     "SPEECH OUTPUT: 'Font Larger'",
-     "SPEECH OUTPUT: 'toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Font Larger toggle button not pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -39,8 +37,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '& y Font Smaller toggle button &', cursor=1",
      "BRAILLE LINE:  '& y Font Larger toggle button & y Font Smaller toggle button &=y Italic toggle button 
& y Bold toggle button'",
      "     VISIBLE:  '& y Font Smaller toggle button &', cursor=1",
-     "SPEECH OUTPUT: 'Font Smaller'",
-     "SPEECH OUTPUT: 'toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Font Smaller toggle button not pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -57,8 +54,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '&=y Italic toggle button & y Bol', cursor=1",
      "BRAILLE LINE:  '& y Font Larger toggle button & y Font Smaller toggle button &=y Italic toggle button 
& y Bold toggle button'",
      "     VISIBLE:  '&=y Italic toggle button & y Bol', cursor=1",
-     "SPEECH OUTPUT: 'Italic'",
-     "SPEECH OUTPUT: 'toggle button pressed'"]))
+     "SPEECH OUTPUT: 'Italic toggle button pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -76,8 +72,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '& y Bold toggle button', cursor=1",
      "BRAILLE LINE:  '& y Font Larger toggle button & y Font Smaller toggle button & y Italic toggle button 
& y Bold toggle button'",
      "     VISIBLE:  '& y Bold toggle button', cursor=1",
-     "SPEECH OUTPUT: 'Bold'",
-     "SPEECH OUTPUT: 'toggle button not pressed'"]))
+     "SPEECH OUTPUT: 'Bold toggle button not pressed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
diff --git a/test/keystrokes/firefox/aria_checkbox.py b/test/keystrokes/firefox/aria_checkbox.py
index 04c4e9f..65685e4 100644
--- a/test/keystrokes/firefox/aria_checkbox.py
+++ b/test/keystrokes/firefox/aria_checkbox.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> Include decorative fruit bas', cursor=1",
      "BRAILLE LINE:  '<x> Include decorative fruit basket check box'",
      "     VISIBLE:  '<x> Include decorative fruit bas', cursor=1",
-     "SPEECH OUTPUT: 'Include decorative fruit basket'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'Include decorative fruit basket check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -34,8 +33,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> Invalid checkbox check box', cursor=1",
      "BRAILLE LINE:  '<x> Invalid checkbox check box'",
      "     VISIBLE:  '<x> Invalid checkbox check box', cursor=1",
-     "SPEECH OUTPUT: 'Invalid checkbox'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'Invalid checkbox check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -53,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> Required checkbox check box', cursor=1",
      "BRAILLE LINE:  '<x> Required checkbox check box'",
      "     VISIBLE:  '<x> Required checkbox check box', cursor=1",
-     "SPEECH OUTPUT: 'Required checkbox'",
-     "SPEECH OUTPUT: 'check box checked required'"]))
+     "SPEECH OUTPUT: 'Required checkbox check box checked required'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -78,8 +75,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Basic whereAmI",
     ["BRAILLE LINE:  '<x> Required checkbox check box'",
      "     VISIBLE:  '<x> Required checkbox check box', cursor=1",
-     "SPEECH OUTPUT: 'Required checkbox'",
-     "SPEECH OUTPUT: 'check box checked required'"]))
+     "SPEECH OUTPUT: 'Required checkbox check box checked required'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -89,8 +85,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> Tri-state checkbox check box', cursor=1",
      "BRAILLE LINE:  '<x> Tri-state checkbox check box'",
      "     VISIBLE:  '<x> Tri-state checkbox check box', cursor=1",
-     "SPEECH OUTPUT: 'Tri-state checkbox'",
-     "SPEECH OUTPUT: 'check box checked required'"]))
+     "SPEECH OUTPUT: 'Tri-state checkbox check box checked required'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
diff --git a/test/keystrokes/firefox/aria_checkbox_dojo.py b/test/keystrokes/firefox/aria_checkbox_dojo.py
index 898e1f4..d2c1d70 100644
--- a/test/keystrokes/firefox/aria_checkbox_dojo.py
+++ b/test/keystrokes/firefox/aria_checkbox_dojo.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Tab to the cb0 checkbox",
     ["BRAILLE LINE:  '<x> cb0: Vanilla (non-dojo) checkbox (for comparison purposes) check box'",
      "     VISIBLE:  '<x> cb0: Vanilla (non-dojo) chec', cursor=0",
-     "SPEECH OUTPUT: 'cb0: Vanilla (non-dojo) checkbox (for comparison purposes)'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'cb0: Vanilla (non-dojo) checkbox (for comparison purposes) check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -30,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Tab to the cb1 checkbox",
     ["BRAILLE LINE:  '< > cb1: normal checkbox, with value=foo, clicking generates console log messages 
check box get('value') push button'",
      "     VISIBLE:  '< > cb1: normal checkbox, with v', cursor=0",
-     "SPEECH OUTPUT: 'cb1: normal checkbox, with value=foo, clicking generates console log messages'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'cb1: normal checkbox, with value=foo, clicking generates console log messages check 
box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -48,8 +46,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Tab to the cb2 checkbox",
     ["BRAILLE LINE:  '<x> cb2: normal checkbox, with default value, initially turned on. check box 
\"onChange\" handler updates: [] get('value') push button'",
      "     VISIBLE:  '<x> cb2: normal checkbox, with d', cursor=0",
-     "SPEECH OUTPUT: 'cb2: normal checkbox, with default value, initially turned on.'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'cb2: normal checkbox, with default value, initially turned on. check box checked'"]))
 
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.StartRecordingAction())
@@ -58,8 +55,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Tab to the cb4 checkbox",
     ["BRAILLE LINE:  '<x> cb4: readOnly checkbox, turned on check box'",
      "     VISIBLE:  '<x> cb4: readOnly checkbox, turn', cursor=0",
-     "SPEECH OUTPUT: 'cb4: readOnly checkbox, turned on'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'cb4: readOnly checkbox, turned on check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -67,8 +63,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Tab to the cb5 checkbox",
     ["BRAILLE LINE:  '< > cb5: normal checkbox, with specified value=\"\", clicking generates console log 
messages check box get('value') push button'",
      "     VISIBLE:  '< > cb5: normal checkbox, with s', cursor=0",
-     "SPEECH OUTPUT: 'cb5: normal checkbox, with specified value=\"\", clicking generates console log 
messages'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'cb5: normal checkbox, with specified value=\"\", clicking generates console log 
messages check box not checked'"]))
 
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.StartRecordingAction())
@@ -77,8 +72,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Tab to the cb6 checkbox",
     ["BRAILLE LINE:  '<x> cb6: instantiated from script check box'",
      "     VISIBLE:  '<x> cb6: instantiated from scrip', cursor=0",
-     "SPEECH OUTPUT: 'cb6: instantiated from script'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'cb6: instantiated from script check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -86,8 +80,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Tab to the cb7 checkbox",
     ["BRAILLE LINE:  '< > cb7: normal checkbox. check box disable push button enable push button set value 
to \"fish\" push button Reset value+checked push button \"onChange\" handler updates: []'",
      "     VISIBLE:  '< > cb7: normal checkbox. check ', cursor=0",
-     "SPEECH OUTPUT: 'cb7: normal checkbox.'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'cb7: normal checkbox. check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -95,8 +88,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Basic Where Am I",
     ["BRAILLE LINE:  '< > cb7: normal checkbox. check box disable push button enable push button set value 
to \"fish\" push button Reset value+checked push button \"onChange\" handler updates: []'",
      "     VISIBLE:  '< > cb7: normal checkbox. check ', cursor=0",
-     "SPEECH OUTPUT: 'cb7: normal checkbox.'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'cb7: normal checkbox. check box not checked'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_combobox_dojo.py b/test/keystrokes/firefox/aria_combobox_dojo.py
index d39ebba..eb951a8 100644
--- a/test/keystrokes/firefox/aria_combobox_dojo.py
+++ b/test/keystrokes/firefox/aria_combobox_dojo.py
@@ -21,10 +21,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'US State test 1 (200% Courier font): California $l'",
      "     VISIBLE:  '(200% Courier font): California ', cursor=32",
      "SPEECH OUTPUT: 'collapsed'",
-     "SPEECH OUTPUT: 'US State test 1 (200% Courier font):'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'California'",
-     "SPEECH OUTPUT: 'selected'",
+     "SPEECH OUTPUT: 'US State test 1 (200% Courier font): entry California selected'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -51,10 +48,8 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'US State test 1 (200% Courier font): California $l'",
      "     VISIBLE:  'ate test 1 (200% Courier font): ', cursor=32",
      "SPEECH OUTPUT: 'California'",
-     "SPEECH OUTPUT: 'California'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'California'",
-     "SPEECH OUTPUT: 'List with 3 items'",
+     "SPEECH OUTPUT: 'California panel'",
+     "SPEECH OUTPUT: 'California List with 3 items'",
      "SPEECH OUTPUT: 'California (CA)'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -123,9 +118,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Basic Where Am I - Combo box expanded",
     ["BRAILLE LINE:  'California (CA)'",
      "     VISIBLE:  'California (CA)', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'California (CA)'",
-     "SPEECH OUTPUT: '1 of 3'"]))
+     "SPEECH OUTPUT: 'list item California (CA)'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Escape"))
@@ -134,10 +127,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'US State test 1 (200% Courier font): California $l'",
      "     VISIBLE:  '(200% Courier font): California ', cursor=32",
      "SPEECH OUTPUT: 'collapsed'",
-     "SPEECH OUTPUT: 'US State test 1 (200% Courier font):'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'California'",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: 'US State test 1 (200% Courier font): entry California selected'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_dialog_dojo.py b/test/keystrokes/firefox/aria_dialog_dojo.py
index cf80d59..b060eae 100644
--- a/test/keystrokes/firefox/aria_dialog_dojo.py
+++ b/test/keystrokes/firefox/aria_dialog_dojo.py
@@ -25,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'First tab page tab'",
      "     VISIBLE:  'First tab page tab', cursor=1",
      "SPEECH OUTPUT: 'TabContainer Dialog First tab Second tab This is the first tab. Lorem ipsum dolor sit 
amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. 
Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. 
In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae 
risus. '",
-     "SPEECH OUTPUT: 'First tab'",
-     "SPEECH OUTPUT: 'page tab'",
+     "SPEECH OUTPUT: 'First tab page tab'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -35,9 +34,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic whereAmI",
     ["BRAILLE LINE:  'First tab page tab'",
      "     VISIBLE:  'First tab page tab', cursor=1",
-     "SPEECH OUTPUT: 'page tab list'",
-     "SPEECH OUTPUT: 'First tab'",
-     "SPEECH OUTPUT: 'page tab 1 of 2'"]))
+     "SPEECH OUTPUT: 'page tab list First tab page tab 1 of 2'"]))
 
 sequence.append(KeyComboAction("Escape"))
 
diff --git a/test/keystrokes/firefox/aria_editor_navigation_dojo.py 
b/test/keystrokes/firefox/aria_editor_navigation_dojo.py
index f97077f..4aa2f5b 100644
--- a/test/keystrokes/firefox/aria_editor_navigation_dojo.py
+++ b/test/keystrokes/firefox/aria_editor_navigation_dojo.py
@@ -34,8 +34,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  ' $l', cursor=0",
      "BRAILLE LINE:  'editor0 tool bar'",
      "     VISIBLE:  'editor0 tool bar', cursor=0",
-     "SPEECH OUTPUT: 'editor0'",
-     "SPEECH OUTPUT: 'tool bar'"]))
+     "SPEECH OUTPUT: 'editor0 tool bar'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -43,8 +42,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Up Arrow in Browse Mode",
     ["BRAILLE LINE:  'No plugins, initially empty h2'",
      "     VISIBLE:  'No plugins, initially empty h2', cursor=1",
-     "SPEECH OUTPUT: 'No plugins, initially empty'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'No plugins, initially empty heading level 2'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_grid_uiuc.py b/test/keystrokes/firefox/aria_grid_uiuc.py
index c305cc8..7b887d2 100644
--- a/test/keystrokes/firefox/aria_grid_uiuc.py
+++ b/test/keystrokes/firefox/aria_grid_uiuc.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Tab to grid",
     ["BRAILLE LINE:  'Selected Sort Sel column push button Msg '",
      "     VISIBLE:  'Selected Sort Sel column push bu', cursor=1",
-     "SPEECH OUTPUT: 'Selected Sort Sel column'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Selected Sort Sel column push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. basic whereAmI",
     ["BRAILLE LINE:  'Selected Sort Sel column push button Msg '",
      "     VISIBLE:  'Selected Sort Sel column push bu', cursor=1",
-     "SPEECH OUTPUT: 'Selected Sort Sel column'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Selected Sort Sel column push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -71,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: It appears we are not treating this as an ARIA widget",
      "BRAILLE LINE:  'Status Sort Status column push button '",
      "     VISIBLE:  'Status Sort Status column push b', cursor=1",
-     "SPEECH OUTPUT: 'Status Sort Status column'",
-     "SPEECH OUTPUT: 'push button'",
+     "SPEECH OUTPUT: 'Status Sort Status column push button'",
      "SPEECH OUTPUT: 'image clickable'"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/aria_landmarks.py b/test/keystrokes/firefox/aria_landmarks.py
index e020c5c..41949f1 100644
--- a/test/keystrokes/firefox/aria_landmarks.py
+++ b/test/keystrokes/firefox/aria_landmarks.py
@@ -21,8 +21,7 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("m"))
 sequence.append(utils.AssertPresentationAction(
     "2. m to next landmark",
-    ["KNOWN ISSUE: We're reporting the browser name",
-     "BRAILLE LINE:  'navigation main'",
+    ["BRAILLE LINE:  'navigation main'",
      "     VISIBLE:  'navigation main', cursor=12",
      "SPEECH OUTPUT: 'main'",
      "SPEECH OUTPUT: 'Firefox'"]))
@@ -95,7 +94,7 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>m"))
 sequence.append(utils.AssertPresentationAction(
     "10. Shift+m to previous landmark",
-    ["KNOWN ISSUE: We are skipping over complementary on the way back and speaking 'Firefox'",
+    ["KNOWN ISSUE: We are skipping over complementary on the way back",
      "BRAILLE LINE:  'application'",
      "     VISIBLE:  'application', cursor=1",
      "SPEECH OUTPUT: 'Firefox'"]))
diff --git a/test/keystrokes/firefox/aria_list.py b/test/keystrokes/firefox/aria_list.py
index ed86641..29a9761 100644
--- a/test/keystrokes/firefox/aria_list.py
+++ b/test/keystrokes/firefox/aria_list.py
@@ -31,9 +31,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic whereAmI",
     ["BRAILLE LINE:  'sparrow'",
      "     VISIBLE:  'sparrow', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'sparrow'",
-     "SPEECH OUTPUT: '3 of 4'"]))
+     "SPEECH OUTPUT: 'list item sparrow'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/aria_menu.py b/test/keystrokes/firefox/aria_menu.py
index 65a3b6c..6d4d958 100644
--- a/test/keystrokes/firefox/aria_menu.py
+++ b/test/keystrokes/firefox/aria_menu.py
@@ -7,8 +7,6 @@ import utils
 
 sequence = MacroSequence()
 
-sequence.append(PauseAction(3000))
-
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Control><Alt>m"))
 sequence.append(utils.AssertPresentationAction(
@@ -17,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Edit menu', cursor=1",
      "BRAILLE LINE:  'Edit menu'",
      "     VISIBLE:  'Edit menu', cursor=1",
-     "SPEECH OUTPUT: 'Edit'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Edit menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -27,8 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. basic whereAmI",
     ["BRAILLE LINE:  'Edit menu'",
      "     VISIBLE:  'Edit menu', cursor=1",
-     "SPEECH OUTPUT: 'Edit'",
-     "SPEECH OUTPUT: 'menu 1 of 1'"]))
+     "SPEECH OUTPUT: 'Edit menu 1 of 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -38,8 +34,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'View menu', cursor=1",
      "BRAILLE LINE:  'View menu'",
      "     VISIBLE:  'View menu', cursor=1",
-     "SPEECH OUTPUT: 'View'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'View menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -49,8 +44,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Themes          > menu', cursor=1",
      "BRAILLE LINE:  'Themes          > menu'",
      "     VISIBLE:  'Themes          > menu', cursor=1",
-     "SPEECH OUTPUT: 'Themes          >'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Themes          > menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -90,8 +84,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'In the Pink grayed', cursor=1",
      "BRAILLE LINE:  'In the Pink grayed'",
      "     VISIBLE:  'In the Pink grayed', cursor=1",
-     "SPEECH OUTPUT: 'In the Pink'",
-     "SPEECH OUTPUT: 'grayed'"]))
+     "SPEECH OUTPUT: 'In the Pink grayed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -111,8 +104,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Themes          > menu', cursor=1",
      "BRAILLE LINE:  'Themes          > menu'",
      "     VISIBLE:  'Themes          > menu', cursor=1",
-     "SPEECH OUTPUT: 'Themes          >'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'Themes          > menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -142,8 +134,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'More                > menu', cursor=1",
      "BRAILLE LINE:  'More                > menu'",
      "     VISIBLE:  'More                > menu', cursor=1",
-     "SPEECH OUTPUT: 'More                >'",
-     "SPEECH OUTPUT: 'menu'"]))
+     "SPEECH OUTPUT: 'More                > menu'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
diff --git a/test/keystrokes/firefox/aria_radio_button_uiuc.py 
b/test/keystrokes/firefox/aria_radio_button_uiuc.py
index 10f2b3e..b26cd53 100644
--- a/test/keystrokes/firefox/aria_radio_button_uiuc.py
+++ b/test/keystrokes/firefox/aria_radio_button_uiuc.py
@@ -20,10 +20,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '&=y Radio Maria radio button', cursor=1",
      "BRAILLE LINE:  '&=y Radio Maria radio button'",
      "     VISIBLE:  '&=y Radio Maria radio button', cursor=1",
-     "SPEECH OUTPUT: 'Lunch Options'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Radio Maria'",
-     "SPEECH OUTPUT: 'selected radio button'"]))
+     "SPEECH OUTPUT: 'Lunch Options panel'",
+     "SPEECH OUTPUT: 'Radio Maria selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -31,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic whereamI",
     ["BRAILLE LINE:  '&=y Radio Maria radio button'",
      "     VISIBLE:  '&=y Radio Maria radio button', cursor=1",
-     "SPEECH OUTPUT: 'Lunch Options Radio Maria'",
-     "SPEECH OUTPUT: 'radio button selected'"]))
+     "SPEECH OUTPUT: 'Lunch Options Radio Maria radio button selected'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -41,8 +38,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: It looks like at the time we move to it, the state hasn't changed yet. This is something 
better handled by focus mode but users don't want that.",
      "BRAILLE LINE:  '& y Rainbow Gardens radio button'",
      "     VISIBLE:  '& y Rainbow Gardens radio button', cursor=1",
-     "SPEECH OUTPUT: 'Rainbow Gardens'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'Rainbow Gardens not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -50,8 +46,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic whereamI",
     ["BRAILLE LINE:  '&=y Rainbow Gardens radio button'",
      "     VISIBLE:  '&=y Rainbow Gardens radio button', cursor=1",
-     "SPEECH OUTPUT: 'Lunch Options Rainbow Gardens'",
-     "SPEECH OUTPUT: 'radio button selected'"]))
+     "SPEECH OUTPUT: 'Lunch Options Rainbow Gardens radio button selected'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -59,8 +54,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Move to next line",
     ["BRAILLE LINE:  'Drink Options h3'",
      "     VISIBLE:  'Drink Options h3', cursor=1",
-     "SPEECH OUTPUT: 'Drink Options'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Drink Options heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -70,10 +64,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '&=y Water radio button', cursor=1",
      "BRAILLE LINE:  '&=y Water radio button'",
      "     VISIBLE:  '&=y Water radio button', cursor=1",
-     "SPEECH OUTPUT: 'Drink Options'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Water'",
-     "SPEECH OUTPUT: 'selected radio button'"]))
+     "SPEECH OUTPUT: 'Drink Options panel'",
+     "SPEECH OUTPUT: 'Water selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -82,8 +74,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: It looks like at the time we move to it, the state hasn't changed yet. This is something 
better handled by focus mode but users don't want that.",
      "BRAILLE LINE:  '& y Tea radio button'",
      "     VISIBLE:  '& y Tea radio button', cursor=1",
-     "SPEECH OUTPUT: 'Tea'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'Tea not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -92,8 +83,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: It looks like at the time we move to it, the state hasn't changed yet. This is something 
better handled by focus mode but users don't want that.",
      "BRAILLE LINE:  '& y Water radio button'",
      "     VISIBLE:  '& y Water radio button', cursor=1",
-     "SPEECH OUTPUT: 'Water'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'Water not selected radio button'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_slider.py b/test/keystrokes/firefox/aria_slider.py
index 6c8369b..dedf10e 100644
--- a/test/keystrokes/firefox/aria_slider.py
+++ b/test/keystrokes/firefox/aria_slider.py
@@ -26,8 +26,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '0 Move slider left My slider 10%', cursor=0",
      "BRAILLE LINE:  'My slider 10% slider'",
      "     VISIBLE:  'My slider 10% slider', cursor=1",
-     "SPEECH OUTPUT: 'My slider'",
-     "SPEECH OUTPUT: 'slider 10% 10 percent.'"]))
+     "SPEECH OUTPUT: 'My slider slider 10% 10 percent.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
diff --git a/test/keystrokes/firefox/aria_slider_dojo.py b/test/keystrokes/firefox/aria_slider_dojo.py
index f80aaab..f2a82d3 100644
--- a/test/keystrokes/firefox/aria_slider_dojo.py
+++ b/test/keystrokes/firefox/aria_slider_dojo.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'slider 1 10 slider', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'slider 1'",
-     "SPEECH OUTPUT: 'slider 10'",
+     "SPEECH OUTPUT: 'slider 1 slider 10'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -63,10 +62,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Slider1 Value: 10.0% $l rdonly', cursor=21",
      "BRAILLE LINE:  'Slider1 Value: 10.0% $l rdonly'",
      "     VISIBLE:  'Slider1 Value: 10.0% $l rdonly', cursor=21",
-     "SPEECH OUTPUT: 'Slider1 Value:",
-     "SPEECH OUTPUT: 'read only entry'",
-     "SPEECH OUTPUT: '10.0%'",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: 'Slider1 Value: read only entry 10.0% selected'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -76,8 +72,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Disable previous slider push but', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Disable previous slider'",
-     "SPEECH OUTPUT: 'push button'",
+     "SPEECH OUTPUT: 'Disable previous slider push button'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -90,8 +85,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'slider 2 10 slider', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'slider 2'",
-     "SPEECH OUTPUT: 'slider 10'",
+     "SPEECH OUTPUT: 'slider 2 slider 10'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/firefox/aria_spinner_dojo.py b/test/keystrokes/firefox/aria_spinner_dojo.py
index 6ec4116..f865e28 100644
--- a/test/keystrokes/firefox/aria_spinner_dojo.py
+++ b/test/keystrokes/firefox/aria_spinner_dojo.py
@@ -19,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Spinbox #1:  900 $l'",
      "     VISIBLE:  'Spinbox #1:  900 $l', cursor=17",
-     "SPEECH OUTPUT: 'Spinbox #1:  900'",
-     "SPEECH OUTPUT: 'selected spin button'",
+     "SPEECH OUTPUT: 'Spinbox #1:  900 selected spin button'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -59,9 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. basic whereAmI",
     ["BRAILLE LINE:  'Spinbox #1:  899 $l'",
      "     VISIBLE:  'Spinbox #1:  899 $l', cursor=17",
-     "SPEECH OUTPUT: 'Spinbox #1: '",
-     "SPEECH OUTPUT: 'spin button'",
-     "SPEECH OUTPUT: '899'"]))
+     "SPEECH OUTPUT: 'Spinbox #1:  spin button 899'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_tabcontainer_dojo.py 
b/test/keystrokes/firefox/aria_tabcontainer_dojo.py
index fe6a104..3ecb7e9 100644
--- a/test/keystrokes/firefox/aria_tabcontainer_dojo.py
+++ b/test/keystrokes/firefox/aria_tabcontainer_dojo.py
@@ -20,8 +20,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Tab 2 page tab'",
      "     VISIBLE:  'Tab 2 page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab 2'",
-     "SPEECH OUTPUT: 'page tab'",
+     "SPEECH OUTPUT: 'Tab 2 page tab'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -32,8 +31,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tab 3 page tab', cursor=1",
      "BRAILLE LINE:  'Tab 3 page tab'",
      "     VISIBLE:  'Tab 3 page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab 3'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Tab 3 page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -43,8 +41,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Inlined Sub TabContainer page ta', cursor=1",
      "BRAILLE LINE:  'Inlined Sub TabContainer page tab'",
      "     VISIBLE:  'Inlined Sub TabContainer page ta', cursor=1",
-     "SPEECH OUTPUT: 'Inlined Sub TabContainer'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Inlined Sub TabContainer page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -54,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'SubTab 2 page tab', cursor=1",
      "BRAILLE LINE:  'SubTab 2 page tab'",
      "     VISIBLE:  'SubTab 2 page tab', cursor=1",
-     "SPEECH OUTPUT: 'SubTab 2'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'SubTab 2 page tab'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_tabpanel.py b/test/keystrokes/firefox/aria_tabpanel.py
index 9962e60..27c1cc9 100644
--- a/test/keystrokes/firefox/aria_tabpanel.py
+++ b/test/keystrokes/firefox/aria_tabpanel.py
@@ -13,9 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Basic whereAmI",
     ["BRAILLE LINE:  'Tab Zero page tab'",
      "     VISIBLE:  'Tab Zero page tab', cursor=1",
-     "SPEECH OUTPUT: 'page tab list'",
-     "SPEECH OUTPUT: 'Tab Zero'",
-     "SPEECH OUTPUT: 'page tab 1 of 5'"]))
+     "SPEECH OUTPUT: 'page tab list Tab Zero page tab 1 of 5'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -25,8 +23,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tab One page tab', cursor=1",
      "BRAILLE LINE:  'Tab One page tab'",
      "     VISIBLE:  'Tab One page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab One'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Tab One page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -36,8 +33,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tab Two page tab', cursor=1",
      "BRAILLE LINE:  'Tab Two page tab'",
      "     VISIBLE:  'Tab Two page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab Two'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Tab Two page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -47,8 +43,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '&=y Internal Portal Bookmark rad', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Internal Portal Bookmark'",
-     "SPEECH OUTPUT: 'selected radio button'",
+     "SPEECH OUTPUT: 'Internal Portal Bookmark selected radio button'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -63,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Tab Two page tab'",
      "     VISIBLE:  'Tab Two page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab Two'",
-     "SPEECH OUTPUT: 'page tab'",
+     "SPEECH OUTPUT: 'Tab Two page tab'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -75,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tab Three page tab', cursor=1",
      "BRAILLE LINE:  'Tab Three page tab'",
      "     VISIBLE:  'Tab Three page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab Three'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Tab Three page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -86,8 +79,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Tab Four page tab', cursor=1",
      "BRAILLE LINE:  'Tab Four page tab'",
      "     VISIBLE:  'Tab Four page tab', cursor=1",
-     "SPEECH OUTPUT: 'Tab Four'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Tab Four page tab'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_tabpanel_text_dojo.py 
b/test/keystrokes/firefox/aria_tabpanel_text_dojo.py
index 6aa606e..2baaf72 100644
--- a/test/keystrokes/firefox/aria_tabpanel_text_dojo.py
+++ b/test/keystrokes/firefox/aria_tabpanel_text_dojo.py
@@ -25,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'First tab page tab'",
      "     VISIBLE:  'First tab page tab', cursor=1",
      "SPEECH OUTPUT: 'TabContainer Dialog First tab Second tab This is the first tab. Lorem ipsum dolor sit 
amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. 
Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. 
In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae 
risus. '",
-     "SPEECH OUTPUT: 'First tab'",
-     "SPEECH OUTPUT: 'page tab'",
+     "SPEECH OUTPUT: 'First tab page tab'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -37,8 +36,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Second tab page tab', cursor=1",
      "BRAILLE LINE:  'Second tab page tab'",
      "     VISIBLE:  'Second tab page tab', cursor=1",
-     "SPEECH OUTPUT: 'Second tab'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Second tab page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -50,8 +48,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Browse mode', cursor=0",
      "BRAILLE LINE:  'Make it overflow. ipsum dolor sit amet, consectetuer adipiscing elit. Aenean'",
      "     VISIBLE:  'ipsum dolor sit amet, consectetu', cursor=1",
-     "SPEECH OUTPUT: 'ipsum dolor sit amet'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'ipsum dolor sit amet link'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/firefox/aria_tabpanel_uiuc.py b/test/keystrokes/firefox/aria_tabpanel_uiuc.py
index 05d51b7..65b5667 100644
--- a/test/keystrokes/firefox/aria_tabpanel_uiuc.py
+++ b/test/keystrokes/firefox/aria_tabpanel_uiuc.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Give focus to a widget in the first Tab",
     ["BRAILLE LINE:  '&=y Thick and cheesy radio button'",
      "     VISIBLE:  '&=y Thick and cheesy radio butto', cursor=0",
-     "SPEECH OUTPUT: 'Thick and cheesy'",
-     "SPEECH OUTPUT: 'selected radio button'"]))
+     "SPEECH OUTPUT: 'Thick and cheesy selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Control>Page_Down"))
@@ -30,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Focus mode', cursor=0",
      "BRAILLE LINE:  'Veggies page tab'",
      "     VISIBLE:  'Veggies page tab', cursor=1",
-     "SPEECH OUTPUT: 'Veggies'",
-     "SPEECH OUTPUT: 'page tab'",
+     "SPEECH OUTPUT: 'Veggies page tab'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -42,8 +40,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Carnivore page tab', cursor=1",
      "BRAILLE LINE:  'Carnivore page tab'",
      "     VISIBLE:  'Carnivore page tab', cursor=1",
-     "SPEECH OUTPUT: 'Carnivore'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Carnivore page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -51,9 +48,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. basic whereAmI",
     ["BRAILLE LINE:  'Carnivore page tab'",
      "     VISIBLE:  'Carnivore page tab', cursor=1",
-     "SPEECH OUTPUT: 'page tab list'",
-     "SPEECH OUTPUT: 'Carnivore'",
-     "SPEECH OUTPUT: 'page tab 3 of 4'"]))
+     "SPEECH OUTPUT: 'page tab list Carnivore page tab 3 of 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -63,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Delivery page tab', cursor=1",
      "BRAILLE LINE:  'Delivery page tab'",
      "     VISIBLE:  'Delivery page tab', cursor=1",
-     "SPEECH OUTPUT: 'Delivery'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Delivery page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
@@ -74,8 +68,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Carnivore page tab', cursor=1",
      "BRAILLE LINE:  'Carnivore page tab'",
      "     VISIBLE:  'Carnivore page tab', cursor=1",
-     "SPEECH OUTPUT: 'Carnivore'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Carnivore page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -85,8 +78,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '< > Pepperoni check box', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Pepperoni'",
-     "SPEECH OUTPUT: 'check box not checked'",
+     "SPEECH OUTPUT: 'Pepperoni check box not checked'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/firefox/aria_toolbar_dojo.py b/test/keystrokes/firefox/aria_toolbar_dojo.py
index 8795b4a..7a35f2c 100644
--- a/test/keystrokes/firefox/aria_toolbar_dojo.py
+++ b/test/keystrokes/firefox/aria_toolbar_dojo.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Down Arrow",
     ["BRAILLE LINE:  'Toolbar from markup h2'",
      "     VISIBLE:  'Toolbar from markup h2', cursor=1",
-     "SPEECH OUTPUT: 'Toolbar from markup'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Toolbar from markup heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -25,8 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Down Arrow",
     ["BRAILLE LINE:  'input before toolbar1 $l'",
      "     VISIBLE:  'input before toolbar1 $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'input before toolbar1'"]))
+     "SPEECH OUTPUT: 'entry input before toolbar1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -45,12 +43,9 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'ColorPalette'",
      "SPEECH OUTPUT: 'Combos:'",
      "SPEECH OUTPUT: 'Menu'",
-     "SPEECH OUTPUT: 'save options'",
-     "SPEECH OUTPUT: 'push button'",
-     "SPEECH OUTPUT: 'Menu2'",
-     "SPEECH OUTPUT: 'push button'",
-     "SPEECH OUTPUT: 'save options2'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'save options push button'",
+     "SPEECH OUTPUT: 'Menu2 push button'",
+     "SPEECH OUTPUT: 'save options2 push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -58,8 +53,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Down Arrow",
     ["BRAILLE LINE:  'input after toolbar1 $l'",
      "     VISIBLE:  'input after toolbar1 $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'input after toolbar1'"]))
+     "SPEECH OUTPUT: 'entry input after toolbar1'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/aria_tree_dojo.py b/test/keystrokes/firefox/aria_tree_dojo.py
index 5f30c23..f543ac8 100644
--- a/test/keystrokes/firefox/aria_tree_dojo.py
+++ b/test/keystrokes/firefox/aria_tree_dojo.py
@@ -19,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Continents expanded list item', cursor=1",
      "BRAILLE LINE:  'Continents expanded list item'",
      "     VISIBLE:  'Continents expanded list item', cursor=1",
-     "SPEECH OUTPUT: 'Continents'",
-     "SPEECH OUTPUT: 'expanded tree level 1'"]))
+     "SPEECH OUTPUT: 'Continents expanded tree level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -31,10 +30,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Africa collapsed list item', cursor=1",
      "BRAILLE LINE:  'Africa collapsed list item'",
      "     VISIBLE:  'Africa collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Continents'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Africa'",
-     "SPEECH OUTPUT: 'collapsed tree level 2'"]))
+     "SPEECH OUTPUT: 'Continents panel'",
+     "SPEECH OUTPUT: 'Africa collapsed tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -42,9 +39,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic whereAmI",
     ["BRAILLE LINE:  'Africa collapsed list item'",
      "     VISIBLE:  'Africa collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'Africa'",
-     "SPEECH OUTPUT: '1 of 6 collapsed tree level 2'"]))
+     "SPEECH OUTPUT: 'list item Africa 1 of 6 collapsed tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -63,10 +58,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Egypt list item', cursor=1",
      "BRAILLE LINE:  'Egypt list item'",
      "     VISIBLE:  'Egypt list item', cursor=1",
-     "SPEECH OUTPUT: 'Africa'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Egypt'",
-     "SPEECH OUTPUT: 'tree level 3'"]))
+     "SPEECH OUTPUT: 'Africa panel'",
+     "SPEECH OUTPUT: 'Egypt tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -76,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Kenya collapsed list item', cursor=1",
      "BRAILLE LINE:  'Kenya collapsed list item'",
      "     VISIBLE:  'Kenya collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Kenya'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Kenya collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -103,8 +95,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Sudan collapsed list item', cursor=1",
      "BRAILLE LINE:  'Sudan collapsed list item'",
      "     VISIBLE:  'Sudan collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Sudan'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Sudan collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -114,8 +105,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Asia collapsed list item', cursor=1",
      "BRAILLE LINE:  'Asia collapsed list item'",
      "     VISIBLE:  'Asia collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Asia'",
-     "SPEECH OUTPUT: 'collapsed tree level 2'"]))
+     "SPEECH OUTPUT: 'Asia collapsed tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -134,10 +124,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'China list item', cursor=1",
      "BRAILLE LINE:  'China list item'",
      "     VISIBLE:  'China list item', cursor=1",
-     "SPEECH OUTPUT: 'Asia'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'China'",
-     "SPEECH OUTPUT: 'tree level 3'"]))
+     "SPEECH OUTPUT: 'Asia panel'",
+     "SPEECH OUTPUT: 'China tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/aria_tree_uiuc.py b/test/keystrokes/firefox/aria_tree_uiuc.py
index 86d8d12..127ed63 100644
--- a/test/keystrokes/firefox/aria_tree_uiuc.py
+++ b/test/keystrokes/firefox/aria_tree_uiuc.py
@@ -19,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Fruits expanded list item', cursor=1",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Fruits'",
-     "SPEECH OUTPUT: 'expanded tree level 1'",
+     "SPEECH OUTPUT: 'Fruits expanded tree level 1'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -31,9 +30,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Fruits expanded list item', cursor=1",
      "BRAILLE LINE:  'Fruits expanded list item'",
      "     VISIBLE:  'Fruits expanded list item', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'Fruits'",
-     "SPEECH OUTPUT: '1 of 2 expanded tree level 1'"]))
+     "SPEECH OUTPUT: 'list item Fruits 1 of 2 expanded tree level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -43,8 +40,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Oranges list item', cursor=1",
      "BRAILLE LINE:  'Oranges list item'",
      "     VISIBLE:  'Oranges list item', cursor=1",
-     "SPEECH OUTPUT: 'Oranges'",
-     "SPEECH OUTPUT: 'tree level 2'"]))
+     "SPEECH OUTPUT: 'Oranges tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -62,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Down arrow to apples",
     ["BRAILLE LINE:  'Apples collapsed list item'",
      "     VISIBLE:  'Apples collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Apples'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Apples collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -83,8 +78,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Macintosh list item', cursor=1",
      "BRAILLE LINE:  'Macintosh list item'",
      "     VISIBLE:  'Macintosh list item', cursor=1",
-     "SPEECH OUTPUT: 'Macintosh'",
-     "SPEECH OUTPUT: 'tree level 3'"]))
+     "SPEECH OUTPUT: 'Macintosh tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -92,8 +86,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Down arrow to granny smith",
     ["BRAILLE LINE:  'Granny Smith collapsed list item'",
      "     VISIBLE:  'Granny Smith collapsed list item', cursor=1",
-     "SPEECH OUTPUT: 'Granny Smith'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Granny Smith collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -113,8 +106,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Washington State list item', cursor=1",
      "BRAILLE LINE:  'Washington State list item'",
      "     VISIBLE:  'Washington State list item', cursor=1",
-     "SPEECH OUTPUT: 'Washington State'",
-     "SPEECH OUTPUT: 'tree level 4'"]))
+     "SPEECH OUTPUT: 'Washington State tree level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -144,8 +136,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Fuji list item', cursor=1",
      "BRAILLE LINE:  'Fuji list item'",
      "     VISIBLE:  'Fuji list item', cursor=1",
-     "SPEECH OUTPUT: 'Fuji'",
-     "SPEECH OUTPUT: 'tree level 3'"]))
+     "SPEECH OUTPUT: 'Fuji tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -155,8 +146,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Bananas list item', cursor=1",
      "BRAILLE LINE:  'Bananas list item'",
      "     VISIBLE:  'Bananas list item', cursor=1",
-     "SPEECH OUTPUT: 'Bananas'",
-     "SPEECH OUTPUT: 'tree level 2'"]))
+     "SPEECH OUTPUT: 'Bananas tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -174,8 +164,7 @@ sequence.append(utils.AssertPresentationAction(
     "16. Down arrow to vegetables",
     ["BRAILLE LINE:  'Vegetables expanded list item'",
      "     VISIBLE:  'Vegetables expanded list item', cursor=1",
-     "SPEECH OUTPUT: 'Vegetables'",
-     "SPEECH OUTPUT: 'expanded tree level 1'"]))
+     "SPEECH OUTPUT: 'Vegetables expanded tree level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
diff --git a/test/keystrokes/firefox/aria_treegrid.py b/test/keystrokes/firefox/aria_treegrid.py
index 23a89f9..a0f23f6 100644
--- a/test/keystrokes/firefox/aria_treegrid.py
+++ b/test/keystrokes/firefox/aria_treegrid.py
@@ -66,8 +66,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. basic whereAmI",
     ["BRAILLE LINE:  '+A Question of Love table cell'",
      "     VISIBLE:  '+A Question of Love table cell', cursor=1",
-     "SPEECH OUTPUT: 'table row'",
-     "SPEECH OUTPUT: '+A Question of Love'"]))
+     "SPEECH OUTPUT: 'table row +A Question of Love'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(TypeAction(" "))
@@ -85,8 +84,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. basic whereAmI",
     ["BRAILLE LINE:  '-A Question of Love table cell'",
      "     VISIBLE:  '-A Question of Love table cell', cursor=1",
-     "SPEECH OUTPUT: 'table row'",
-     "SPEECH OUTPUT: '-A Question of Love'"]))
+     "SPEECH OUTPUT: 'table row -A Question of Love'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/find_wiki.py b/test/keystrokes/firefox/find_wiki.py
index 1043604..8ab8a91 100644
--- a/test/keystrokes/firefox/find_wiki.py
+++ b/test/keystrokes/firefox/find_wiki.py
@@ -18,8 +18,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Return to next result",
     ["BRAILLE LINE:  'Welcome to Orca! h1'",
      "     VISIBLE:  'Welcome to Orca! h1', cursor=12",
-     "SPEECH OUTPUT: 'Welcome to Orca!'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Welcome to Orca! heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Return"))
@@ -53,8 +52,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Escape to return to page content",
     ["BRAILLE LINE:  'synthesis, braille, and magnification, Orca helps provide'",
      "     VISIBLE:  'raille, and magnification, Orca ', cursor=32",
-     "SPEECH OUTPUT: 'synthesis, braille, and magnification, Orca helps provide '",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: 'synthesis, braille, and magnification, Orca helps provide  selected'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/focus_tracking_imagemap.py 
b/test/keystrokes/firefox/focus_tracking_imagemap.py
index 7fa0d8d..476b83c 100644
--- a/test/keystrokes/firefox/focus_tracking_imagemap.py
+++ b/test/keystrokes/firefox/focus_tracking_imagemap.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Tab",
     ["BRAILLE LINE:  'Test: z y x w v u t s r q p o n m l k j i h g f e d c b a'",
      "     VISIBLE:  'Test: z y x w v u t s r q p o n ', cursor=0",
-     "SPEECH OUTPUT: 'z'",
-     "SPEECH OUTPUT: 'image map link rect'"]))
+     "SPEECH OUTPUT: 'z image map link rect'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -22,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Tab",
     ["BRAILLE LINE:  'Test: z y x w v u t s r q p o n m l k j i h g f e d c b a'",
      "     VISIBLE:  'Test: z y x w v u t s r q p o n ', cursor=0",
-     "SPEECH OUTPUT: 'y'",
-     "SPEECH OUTPUT: 'image map link rect'"]))
+     "SPEECH OUTPUT: 'y image map link rect'"]))
 
 sequence.append(KeyComboAction("Tab"))
 sequence.append(KeyComboAction("Tab"))
@@ -56,8 +54,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: Braille is not displaying the focused link. This should be fixed as part of the braille 
redo.",
      "BRAILLE LINE:  'Test: z y x w v u t s r q p o n m l k j i h g f e d c b a'",
      "     VISIBLE:  'Test: z y x w v u t s r q p o n ', cursor=0",
-     "SPEECH OUTPUT: 'a'",
-     "SPEECH OUTPUT: 'image map link rect'"]))
+     "SPEECH OUTPUT: 'a image map link rect'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
diff --git a/test/keystrokes/firefox/focus_tracking_links.py b/test/keystrokes/firefox/focus_tracking_links.py
index b48d411..a41fa06 100644
--- a/test/keystrokes/firefox/focus_tracking_links.py
+++ b/test/keystrokes/firefox/focus_tracking_links.py
@@ -36,8 +36,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Bar', cursor=1",
      "BRAILLE LINE:  'Bar'",
      "     VISIBLE:  'Bar', cursor=1",
-     "SPEECH OUTPUT: 'Bar'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Bar link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>Tab"))
@@ -47,8 +46,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Foo', cursor=1",
      "BRAILLE LINE:  'Foo'",
      "     VISIBLE:  'Foo', cursor=1",
-     "SPEECH OUTPUT: 'Foo'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Foo link'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/html_page_summary.py b/test/keystrokes/firefox/html_page_summary.py
index c58c602..c4584e0 100644
--- a/test/keystrokes/firefox/html_page_summary.py
+++ b/test/keystrokes/firefox/html_page_summary.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Navigate to 'This is a Heading 6.'",
     ["BRAILLE LINE:  'This is a Heading 6. h6'",
      "     VISIBLE:  'This is a Heading 6. h6', cursor=1",
-     "SPEECH OUTPUT: 'This is a Heading 6.'",
-     "SPEECH OUTPUT: 'heading level 6'"]))
+     "SPEECH OUTPUT: 'This is a Heading 6. heading level 6'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'This is a Heading 6. h6', cursor=1",
      "BRAILLE LINE:  'This is a Heading 6. h6'",
      "     VISIBLE:  'This is a Heading 6. h6', cursor=1",
-     "SPEECH OUTPUT: 'heading level 6'",
-     "SPEECH OUTPUT: 'This is a Heading 6.'",
+     "SPEECH OUTPUT: 'heading level 6 This is a Heading 6.'",
      "SPEECH OUTPUT: '14 headings 3 forms 47 tables'",
      "SPEECH OUTPUT: '19 unvisited links'"]))
 
diff --git a/test/keystrokes/firefox/html_role_combo_box.py b/test/keystrokes/firefox/html_role_combo_box.py
index cf454de..5214a1d 100644
--- a/test/keystrokes/firefox/html_role_combo_box.py
+++ b/test/keystrokes/firefox/html_role_combo_box.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Severity: Severity normal combo ', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Severity normal'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Severity normal combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -29,9 +28,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Severity: Severity normal combo ', cursor=0",
      "BRAILLE LINE:  'Severity normal combo box'",
      "     VISIBLE:  'Severity normal combo box', cursor=10",
-     "SPEECH OUTPUT: 'Severity'",
-     "SPEECH OUTPUT: 'combo box'",
-     "SPEECH OUTPUT: 'normal'"]))
+     "SPEECH OUTPUT: 'Severity combo box normal'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -43,8 +40,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Browse mode', cursor=0",
      "BRAILLE LINE:  'Priority: Normal combo box'",
      "     VISIBLE:  'Priority: Normal combo box', cursor=1",
-     "SPEECH OUTPUT: 'Priority'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Priority link'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -55,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Priority: Normal combo box', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Priority: Normal'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Priority: Normal combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -67,8 +62,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Priority: Normal combo box', cursor=0",
      "BRAILLE LINE:  'FIXED combo box'",
      "     VISIBLE:  'FIXED combo box', cursor=1",
-     "SPEECH OUTPUT: 'Resolution: FIXED'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Resolution: FIXED combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -109,8 +103,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'WONTFIX combo box', cursor=1",
      "BRAILLE LINE:  'WONTFIX combo box'",
      "     VISIBLE:  'WONTFIX combo box', cursor=1",
-     "SPEECH OUTPUT: 'Resolution: WONTFIX'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Resolution: WONTFIX combo box'",
      "SPEECH OUTPUT: 'collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -119,8 +112,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Tab to Version combo box",
     ["BRAILLE LINE:  '2.16 combo box'",
      "     VISIBLE:  '2.16 combo box', cursor=1",
-     "SPEECH OUTPUT: 'Version 2.16'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Version 2.16 combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -140,8 +132,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '2.16 combo box', cursor=1",
      "BRAILLE LINE:  'Version 2.16 combo box'",
      "     VISIBLE:  'Version 2.16 combo box', cursor=9",
-     "SPEECH OUTPUT: 'Version 2.16'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Version 2.16 combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/html_role_links.py b/test/keystrokes/firefox/html_role_links.py
index a4b97ae..33881fc 100644
--- a/test/keystrokes/firefox/html_role_links.py
+++ b/test/keystrokes/firefox/html_role_links.py
@@ -23,8 +23,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•anchors.html', cursor=2",
      "BRAILLE LINE:  '•anchors.html'",
      "     VISIBLE:  '•anchors.html', cursor=2",
-     "SPEECH OUTPUT: 'anchors.html'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'anchors.html link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -34,8 +33,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•blockquotes.html', cursor=2",
      "BRAILLE LINE:  '•blockquotes.html'",
      "     VISIBLE:  '•blockquotes.html', cursor=2",
-     "SPEECH OUTPUT: 'blockquotes.html'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'blockquotes.html link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -45,8 +43,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•bugzilla_top.html', cursor=2",
      "BRAILLE LINE:  '•bugzilla_top.html'",
      "     VISIBLE:  '•bugzilla_top.html', cursor=2",
-     "SPEECH OUTPUT: 'bugzilla_top.html'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'bugzilla_top.html link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>Tab"))
@@ -56,8 +53,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•blockquotes.html', cursor=2",
      "BRAILLE LINE:  '•blockquotes.html'",
      "     VISIBLE:  '•blockquotes.html', cursor=2",
-     "SPEECH OUTPUT: 'blockquotes.html'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'blockquotes.html link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
diff --git a/test/keystrokes/firefox/html_role_list_item_where_am_i.py 
b/test/keystrokes/firefox/html_role_list_item_where_am_i.py
index 937924a..04d2980 100644
--- a/test/keystrokes/firefox/html_role_list_item_where_am_i.py
+++ b/test/keystrokes/firefox/html_role_list_item_where_am_i.py
@@ -22,9 +22,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I next item",
     ["BRAILLE LINE:  '•In a paragraph'",
      "     VISIBLE:  '•In a paragraph', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '• In a paragraph'",
-     "SPEECH OUTPUT: '2 of 4'"]))
+     "SPEECH OUTPUT: 'list item • In a paragraph'"]))
 
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
@@ -33,9 +31,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic Where Am I next item",
     ["BRAILLE LINE:  '•In a section'",
      "     VISIBLE:  '•In a section', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '• In a section'",
-     "SPEECH OUTPUT: '3 of 4'"]))
+     "SPEECH OUTPUT: 'list item • In a section'"]))
 
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
@@ -44,9 +40,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic Where Am I next item",
     ["BRAILLE LINE:  '1.A nested list item, not in a paragraph'",
      "     VISIBLE:  '1.A nested list item, not in a p', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '1.A nested list item, not in a paragraph'",
-     "SPEECH OUTPUT: '1 of 3 Nesting level 1'"]))
+     "SPEECH OUTPUT: 'list item 1.A nested list item, not in a paragraph Nesting level 1'"]))
 
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
@@ -55,9 +49,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Basic Where Am I next item",
     ["BRAILLE LINE:  '2. A nested list item, in a paragraph'",
      "     VISIBLE:  '2. A nested list item, in a para', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '2. A nested list item, in a paragraph'",
-     "SPEECH OUTPUT: '2 of 3 Nesting level 1'"]))
+     "SPEECH OUTPUT: 'list item 2. A nested list item, in a paragraph Nesting level 1'"]))
 
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
@@ -66,9 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Basic Where Am I next item",
     ["BRAILLE LINE:  '3. A nested list item, in a section'",
      "     VISIBLE:  '3. A nested list item, in a sect', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '3. A nested list item, in a section'",
-     "SPEECH OUTPUT: '3 of 3 Nesting level 1'"]))
+     "SPEECH OUTPUT: 'list item 3. A nested list item, in a section Nesting level 1'"]))
 
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.StartRecordingAction())
@@ -77,9 +67,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Basic Where Am I next item",
     ["BRAILLE LINE:  '•In a paragraph that's in a section'",
      "     VISIBLE:  '•In a paragraph that's in a sect', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: '• In a paragraph that's in a section'",
-     "SPEECH OUTPUT: '4 of 4'"]))
+     "SPEECH OUTPUT: 'list item • In a paragraph that's in a section'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/html_struct_nav_bug_554616.py 
b/test/keystrokes/firefox/html_struct_nav_bug_554616.py
index f13106c..92b5765 100644
--- a/test/keystrokes/firefox/html_struct_nav_bug_554616.py
+++ b/test/keystrokes/firefox/html_struct_nav_bug_554616.py
@@ -22,8 +22,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Snapshot version', cursor=1",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
      "SPEECH OUTPUT: 'table with 4 rows 3 columns' voice=system",
-     "SPEECH OUTPUT: 'Snapshot version'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Snapshot version column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Alt><Shift>Down"))
@@ -159,8 +158,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Snapshot version Date (UTC) Down', cursor=1",
      "BRAILLE LINE:  'Row 1, column 1.'",
      "     VISIBLE:  'Row 1, column 1.', cursor=0",
-     "SPEECH OUTPUT: 'Snapshot version'",
-     "SPEECH OUTPUT: 'column header'",
+     "SPEECH OUTPUT: 'Snapshot version column header'",
      "SPEECH OUTPUT: 'Row 1, column 1.' voice=system"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/html_struct_nav_bug_556470.py 
b/test/keystrokes/firefox/html_struct_nav_bug_556470.py
index 1916973..a5a55b7 100644
--- a/test/keystrokes/firefox/html_struct_nav_bug_556470.py
+++ b/test/keystrokes/firefox/html_struct_nav_bug_556470.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'col 1 col 2 col 3'",
      "     VISIBLE:  'col 1 col 2 col 3', cursor=1",
      "SPEECH OUTPUT: 'table with 2 rows 3 columns' voice=system",
-     "SPEECH OUTPUT: 'col 1'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'col 1 column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("t"))
@@ -43,8 +42,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'col 1 col 2 col 3', cursor=1",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
      "SPEECH OUTPUT: 'table with 2 rows 3 columns' voice=system",
-     "SPEECH OUTPUT: 'col 1'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'col 1 column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>t"))
@@ -69,8 +67,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'col 1 col 2 col 3'",
      "     VISIBLE:  'col 1 col 2 col 3', cursor=1",
      "SPEECH OUTPUT: 'table with 2 rows 3 columns' voice=system",
-     "SPEECH OUTPUT: 'col 1'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'col 1 column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>t"))
diff --git a/test/keystrokes/firefox/html_struct_nav_bug_567984.py 
b/test/keystrokes/firefox/html_struct_nav_bug_567984.py
index 90d4d38..8b9d647 100644
--- a/test/keystrokes/firefox/html_struct_nav_bug_567984.py
+++ b/test/keystrokes/firefox/html_struct_nav_bug_567984.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Index Vakbarát Hírportál h1'",
      "     VISIBLE:  'Index Vakbarát Hírportál h1', cursor=1",
-     "SPEECH OUTPUT: 'Index Vakbarát Hírportál'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Index Vakbarát Hírportál heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -22,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. h",
     ["BRAILLE LINE:  'Legfrissebb hírek h2'",
      "     VISIBLE:  'Legfrissebb hírek h2', cursor=1",
-     "SPEECH OUTPUT: 'Legfrissebb hírek'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Legfrissebb hírek heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
diff --git a/test/keystrokes/firefox/html_struct_nav_bug_591592.py 
b/test/keystrokes/firefox/html_struct_nav_bug_591592.py
index 81df48f..5032f57 100644
--- a/test/keystrokes/firefox/html_struct_nav_bug_591592.py
+++ b/test/keystrokes/firefox/html_struct_nav_bug_591592.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'This is a test. h1'",
      "     VISIBLE:  'This is a test. h1', cursor=1",
-     "SPEECH OUTPUT: 'This is a test.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'This is a test. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -22,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. h",
     ["BRAILLE LINE:  'Adding IPS Repositories h2'",
      "     VISIBLE:  'Adding IPS Repositories h2', cursor=1",
-     "SPEECH OUTPUT: 'Adding IPS Repositories'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Adding IPS Repositories heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -31,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. h",
     ["BRAILLE LINE:  'Other Repositories h3'",
      "     VISIBLE:  'Other Repositories h3', cursor=1",
-     "SPEECH OUTPUT: 'Other Repositories'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Other Repositories heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -43,8 +40,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'This is a test. h1'",
      "     VISIBLE:  'This is a test. h1', cursor=1",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
-     "SPEECH OUTPUT: 'This is a test.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'This is a test. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>h"))
@@ -55,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Other Repositories h3'",
      "     VISIBLE:  'Other Repositories h3', cursor=1",
      "SPEECH OUTPUT: 'Wrapping to bottom.' voice=system",
-     "SPEECH OUTPUT: 'Other Repositories'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Other Repositories heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>h"))
@@ -64,8 +59,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Shift h",
     ["BRAILLE LINE:  'Adding IPS Repositories h2'",
      "     VISIBLE:  'Adding IPS Repositories h2', cursor=1",
-     "SPEECH OUTPUT: 'Adding IPS Repositories'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Adding IPS Repositories heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>h"))
@@ -73,8 +67,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Shift h",
     ["BRAILLE LINE:  'This is a test. h1'",
      "     VISIBLE:  'This is a test. h1', cursor=1",
-     "SPEECH OUTPUT: 'This is a test.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'This is a test. heading level 1'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/html_struct_nav_headings_buried_deep.py 
b/test/keystrokes/firefox/html_struct_nav_headings_buried_deep.py
index c99f91e..ded2cc2 100644
--- a/test/keystrokes/firefox/html_struct_nav_headings_buried_deep.py
+++ b/test/keystrokes/firefox/html_struct_nav_headings_buried_deep.py
@@ -18,8 +18,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  '•Heading 3 h3'",
      "     VISIBLE:  '•Heading 3 h3', cursor=2",
      "SPEECH OUTPUT: 'Wrapping to bottom.' voice=system",
-     "SPEECH OUTPUT: 'Heading 3'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 3 heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>h"))
@@ -27,8 +26,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Shift+h for previous heading",
     ["BRAILLE LINE:  '•Heading 2 h3'",
      "     VISIBLE:  '•Heading 2 h3', cursor=2",
-     "SPEECH OUTPUT: 'Heading 2'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 2 heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>h"))
@@ -36,8 +34,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Shift+h for previous heading",
     ["BRAILLE LINE:  '•Heading 1 h3'",
      "     VISIBLE:  '•Heading 1 h3', cursor=2",
-     "SPEECH OUTPUT: 'Heading 1'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 1 heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -45,8 +42,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. h for next heading",
     ["BRAILLE LINE:  '•Heading 2 h3'",
      "     VISIBLE:  '•Heading 2 h3', cursor=2",
-     "SPEECH OUTPUT: 'Heading 2'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 2 heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -54,8 +50,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. h for next heading",
     ["BRAILLE LINE:  '•Heading 3 h3'",
      "     VISIBLE:  '•Heading 3 h3', cursor=2",
-     "SPEECH OUTPUT: 'Heading 3'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 3 heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("h"))
@@ -66,8 +61,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  '•Heading 1 h3'",
      "     VISIBLE:  '•Heading 1 h3', cursor=2",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
-     "SPEECH OUTPUT: 'Heading 1'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Heading 1 heading level 3'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/html_struct_nav_list_item.py 
b/test/keystrokes/firefox/html_struct_nav_list_item.py
index 9d4e8f2..6d306f7 100644
--- a/test/keystrokes/firefox/html_struct_nav_list_item.py
+++ b/test/keystrokes/firefox/html_struct_nav_list_item.py
@@ -35,14 +35,12 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("l"))
 sequence.append(utils.AssertPresentationAction(
     "3. l to third list (3) landing on the first item (3.1)",
-    ["KNOWN ISSUE: We are presenting tree level for a non-tree",
-     "BRAILLE LINE:  'List with 2 items'",
+    ["BRAILLE LINE:  'List with 2 items'",
      "     VISIBLE:  'List with 2 items', cursor=0",
      "BRAILLE LINE:  '•listing item'",
      "     VISIBLE:  '•listing item', cursor=1",
      "SPEECH OUTPUT: 'List with 2 items' voice=system",
-     "SPEECH OUTPUT: '•listing item'",
-     "SPEECH OUTPUT: 'tree level 1'"]))
+     "SPEECH OUTPUT: '•listing item'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("i"))
@@ -112,11 +110,9 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("i"))
 sequence.append(utils.AssertPresentationAction(
     "12. i to next list item, moving out of the last two levels (3.2)",
-    ["KNOWN ISSUE: We are presenting tree level for a non-tree",
-     "BRAILLE LINE:  '▪Franz Liszt'",
+    ["BRAILLE LINE:  '▪Franz Liszt'",
      "     VISIBLE:  '▪Franz Liszt', cursor=1",
-     "SPEECH OUTPUT: '▪Franz Liszt'",
-     "SPEECH OUTPUT: 'tree level 1'"]))
+     "SPEECH OUTPUT: '▪Franz Liszt'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("i"))
diff --git a/test/keystrokes/firefox/html_struct_nav_lists.py 
b/test/keystrokes/firefox/html_struct_nav_lists.py
index 652dc7e..f4bba3d 100644
--- a/test/keystrokes/firefox/html_struct_nav_lists.py
+++ b/test/keystrokes/firefox/html_struct_nav_lists.py
@@ -35,14 +35,12 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("l"))
 sequence.append(utils.AssertPresentationAction(
     "3. l to third list",
-    ["KNOWN ISSUE: We are presenting tree level for a non-tree",
-     "BRAILLE LINE:  'List with 2 items'",
+    ["BRAILLE LINE:  'List with 2 items'",
      "     VISIBLE:  'List with 2 items', cursor=0",
      "BRAILLE LINE:  '•listing item'",
      "     VISIBLE:  '•listing item', cursor=1",
      "SPEECH OUTPUT: 'List with 2 items' voice=system",
-     "SPEECH OUTPUT: '•listing item'",
-     "SPEECH OUTPUT: 'tree level 1'"]))
+     "SPEECH OUTPUT: '•listing item'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("l"))
@@ -227,14 +225,12 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>l"))
 sequence.append(utils.AssertPresentationAction(
     "17. shift + l",
-    ["KNOWN ISSUE: We are presenting tree level for a non-tree",
-     "BRAILLE LINE:  'List with 2 items'",
+    ["BRAILLE LINE:  'List with 2 items'",
      "     VISIBLE:  'List with 2 items', cursor=0",
      "BRAILLE LINE:  '•listing item'",
      "     VISIBLE:  '•listing item', cursor=1",
      "SPEECH OUTPUT: 'List with 2 items' voice=system",
-     "SPEECH OUTPUT: '•listing item'",
-     "SPEECH OUTPUT: 'tree level 1'"]))
+     "SPEECH OUTPUT: '•listing item'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Shift>l"))
diff --git a/test/keystrokes/firefox/label_inference_bug_546815.py 
b/test/keystrokes/firefox/label_inference_bug_546815.py
index c575153..033d904 100644
--- a/test/keystrokes/firefox/label_inference_bug_546815.py
+++ b/test/keystrokes/firefox/label_inference_bug_546815.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Next form field",
     ["BRAILLE LINE:  'Enter your Name:  $l text field using default type=text'",
      "     VISIBLE:  'Enter your Name:  $l text field ', cursor=0",
-     "SPEECH OUTPUT: 'Enter your Name:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Enter your Name: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -28,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Next form field",
     ["BRAILLE LINE:  '1. Enter your Address:  $l text field using SIZE and'",
      "     VISIBLE:  '1. Enter your Address:  $l text ', cursor=0",
-     "SPEECH OUTPUT: '1. Enter your Address:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: '1. Enter your Address: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -39,8 +37,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Next form field",
     ["BRAILLE LINE:  '2. Enter your City:  $l 3. Enter your State:  $l 4. Enter your Country: US $l image 
text field using'",
      "     VISIBLE:  '2. Enter your City:  $l 3. Enter', cursor=0",
-     "SPEECH OUTPUT: '2. Enter your City:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: '2. Enter your City: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -50,8 +47,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Next form field",
     ["BRAILLE LINE:  '2. Enter your City:  $l 3. Enter your State:  $l 4. Enter your Country: US $l image 
text field using'",
      "     VISIBLE:  '2. Enter your City:  $l 3. Enter', cursor=0",
-     "SPEECH OUTPUT: '3. Enter your State:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: '3. Enter your State: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -61,9 +57,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Next form field",
     ["BRAILLE LINE:  '2. Enter your City:  $l 3. Enter your State:  $l 4. Enter your Country: US $l image 
text field using'",
      "     VISIBLE:  'US $l image text field using', cursor=1",
-     "SPEECH OUTPUT: '4. Enter your Country:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'US'"]))
+     "SPEECH OUTPUT: '4. Enter your Country: entry US'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -73,8 +67,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Next form field",
     ["BRAILLE LINE:  '5. Enter your Zip:  $l'",
      "     VISIBLE:  '5. Enter your Zip:  $l', cursor=0",
-     "SPEECH OUTPUT: '5. Enter your Zip:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: '5. Enter your Zip: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -84,8 +77,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Next form field",
     ["BRAILLE LINE:  'character:  $l'",
      "     VISIBLE:  'character:  $l', cursor=0",
-     "SPEECH OUTPUT: 'character:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'character: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -106,8 +98,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Next form field",
     ["BRAILLE LINE:  '< > check box fish'",
      "     VISIBLE:  '< > check box fish', cursor=0",
-     "SPEECH OUTPUT: 'fish'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'fish check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -117,8 +108,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Next form field",
     ["BRAILLE LINE:  '< > check box wild animal'",
      "     VISIBLE:  '< > check box wild animal', cursor=0",
-     "SPEECH OUTPUT: 'wild animal'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'wild animal check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -139,8 +129,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Next form field",
     ["BRAILLE LINE:  '& y radio button merlot'",
      "     VISIBLE:  '& y radio button merlot', cursor=0",
-     "SPEECH OUTPUT: 'merlot'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'merlot not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -150,8 +139,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Next form field",
     ["BRAILLE LINE:  '& y radio button nebbiolo'",
      "     VISIBLE:  '& y radio button nebbiolo', cursor=0",
-     "SPEECH OUTPUT: 'nebbiolo'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'nebbiolo not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -161,8 +149,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Next form field",
     ["BRAILLE LINE:  '& y radio button pinot noir'",
      "     VISIBLE:  '& y radio button pinot noir', cursor=0",
-     "SPEECH OUTPUT: 'pinot noir'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'pinot noir not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -172,8 +159,7 @@ sequence.append(utils.AssertPresentationAction(
     "15. Next form field",
     ["BRAILLE LINE:  '& y radio button don't drink wine'",
      "     VISIBLE:  '& y radio button don't drink win', cursor=0",
-     "SPEECH OUTPUT: 'don't drink wine'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'don't drink wine not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -186,8 +172,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Enter your Name:  $l text field using default type=text'",
      "     VISIBLE:  'Enter your Name:\xa0 $l text field ', cursor=0",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
-     "SPEECH OUTPUT: 'Enter your Name:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Enter your Name: entry'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/label_inference_bugzilla_search.py 
b/test/keystrokes/firefox/label_inference_bugzilla_search.py
index 9e1d539..24e220f 100644
--- a/test/keystrokes/firefox/label_inference_bugzilla_search.py
+++ b/test/keystrokes/firefox/label_inference_bugzilla_search.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Summary: contains all of the wor', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Summary: contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Summary: contains all of the words/strings combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -39,8 +38,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Search push button', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'",
+     "SPEECH OUTPUT: 'Search push button'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -53,8 +51,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Admin', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Classification:'",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'",
+     "SPEECH OUTPUT: 'Classification: multi-select List with 8 items'",
      "SPEECH OUTPUT: 'Admin '",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
@@ -66,8 +63,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Admin', cursor=0",
      "BRAILLE LINE:  'accerciser'",
      "     VISIBLE:  'accerciser', cursor=1",
-     "SPEECH OUTPUT: 'Product:'",
-     "SPEECH OUTPUT: 'multi-select List with 379 items'",
+     "SPEECH OUTPUT: 'Product: multi-select List with 379 items'",
      "SPEECH OUTPUT: 'accerciser'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -80,8 +76,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Browse mode', cursor=0",
      "BRAILLE LINE:  'Component:'",
      "     VISIBLE:  'Component:', cursor=1",
-     "SPEECH OUTPUT: 'Component'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Component link'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -92,8 +87,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'abiscan', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Component:'",
-     "SPEECH OUTPUT: 'multi-select List with 1248 items'",
+     "SPEECH OUTPUT: 'Component: multi-select List with 1248 items'",
      "SPEECH OUTPUT: 'abiscan'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
@@ -105,8 +99,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'abiscan', cursor=0",
      "BRAILLE LINE:  '0.0.1'",
      "     VISIBLE:  '0.0.1', cursor=1",
-     "SPEECH OUTPUT: 'Version:'",
-     "SPEECH OUTPUT: 'multi-select List with 857 items'",
+     "SPEECH OUTPUT: 'Version: multi-select List with 857 items'",
      "SPEECH OUTPUT: '0.0.1'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -115,8 +108,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Tab",
     ["BRAILLE LINE:  '---'",
      "     VISIBLE:  '---', cursor=1",
-     "SPEECH OUTPUT: 'Target Milestone:'",
-     "SPEECH OUTPUT: 'multi-select List with 555 items'",
+     "SPEECH OUTPUT: 'Target Milestone: multi-select List with 555 items'",
      "SPEECH OUTPUT: '---'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -125,8 +117,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Tab",
     ["BRAILLE LINE:  'contains the string combo box'",
      "     VISIBLE:  'contains the string combo box', cursor=1",
-     "SPEECH OUTPUT: 'A Comment: contains the string'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'A Comment: contains the string combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -142,8 +133,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Tab",
     ["BRAILLE LINE:  'contains all of the words/strings combo box'",
      "     VISIBLE:  'contains all of the words/string', cursor=1",
-     "SPEECH OUTPUT: 'Whiteboard: contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Whiteboard: contains all of the words/strings combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -163,8 +153,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Browse mode', cursor=0",
      "BRAILLE LINE:  'Keywords: contains all of the keywords combo box $l'",
      "     VISIBLE:  'Keywords: contains all of the ke', cursor=1",
-     "SPEECH OUTPUT: 'Keywords'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Keywords link'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -175,8 +164,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Keywords: contains all of the ke', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'Keywords: contains all of the keywords'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Keywords: contains all of the keywords combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -195,8 +183,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Tab",
     ["BRAILLE LINE:  'UNCONFIRMED'",
      "     VISIBLE:  'UNCONFIRMED', cursor=1",
-     "SPEECH OUTPUT: 'Status:'",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'",
+     "SPEECH OUTPUT: 'Status: multi-select List with 8 items'",
      "SPEECH OUTPUT: 'UNCONFIRMED'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -205,8 +192,7 @@ sequence.append(utils.AssertPresentationAction(
     "18. Tab",
     ["BRAILLE LINE:  'FIXED'",
      "     VISIBLE:  'FIXED', cursor=1",
-     "SPEECH OUTPUT: 'Resolution:'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'",
+     "SPEECH OUTPUT: 'Resolution: multi-select List with 12 items'",
      "SPEECH OUTPUT: 'FIXED'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -215,8 +201,7 @@ sequence.append(utils.AssertPresentationAction(
     "19. Tab",
     ["BRAILLE LINE:  'blocker'",
      "     VISIBLE:  'blocker', cursor=1",
-     "SPEECH OUTPUT: 'Severity:'",
-     "SPEECH OUTPUT: 'multi-select List with 7 items'",
+     "SPEECH OUTPUT: 'Severity: multi-select List with 7 items'",
      "SPEECH OUTPUT: 'blocker'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -225,8 +210,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. Tab",
     ["BRAILLE LINE:  'Immediate'",
      "     VISIBLE:  'Immediate', cursor=1",
-     "SPEECH OUTPUT: 'Priority:'",
-     "SPEECH OUTPUT: 'multi-select List with 5 items'",
+     "SPEECH OUTPUT: 'Priority: multi-select List with 5 items'",
      "SPEECH OUTPUT: 'Immediate'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -235,8 +219,7 @@ sequence.append(utils.AssertPresentationAction(
     "21. Tab",
     ["BRAILLE LINE:  'All'",
      "     VISIBLE:  'All', cursor=1",
-     "SPEECH OUTPUT: 'OS:'",
-     "SPEECH OUTPUT: 'multi-select List with 21 items'",
+     "SPEECH OUTPUT: 'OS: multi-select List with 21 items'",
      "SPEECH OUTPUT: 'All'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -247,10 +230,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> check box', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Email and Numbering '",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'the bug assignee'",
-     "SPEECH OUTPUT: 'check box checked'",
+     "SPEECH OUTPUT: 'Email and Numbering  panel'",
+     "SPEECH OUTPUT: 'the bug assignee check box checked'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -261,8 +242,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> check box', cursor=1",
      "BRAILLE LINE:  '< > check box the reporter'",
      "     VISIBLE:  '< > check box the reporter', cursor=0",
-     "SPEECH OUTPUT: 'the reporter'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'the reporter check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -270,8 +250,7 @@ sequence.append(utils.AssertPresentationAction(
     "24. Tab",
     ["BRAILLE LINE:  '< > check box the QA contact'",
      "     VISIBLE:  '< > check box the QA contact', cursor=0",
-     "SPEECH OUTPUT: 'the QA contact'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'the QA contact check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -279,8 +258,7 @@ sequence.append(utils.AssertPresentationAction(
     "25. Tab",
     ["BRAILLE LINE:  '< > check box a CC list member'",
      "     VISIBLE:  '< > check box a CC list member', cursor=0",
-     "SPEECH OUTPUT: 'a CC list member'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'a CC list member check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -288,8 +266,7 @@ sequence.append(utils.AssertPresentationAction(
     "26. Tab",
     ["BRAILLE LINE:  '< > check box a commenter'",
      "     VISIBLE:  '< > check box a commenter', cursor=0",
-     "SPEECH OUTPUT: 'a commenter'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'a commenter check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -299,8 +276,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'contains combo box', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'contains combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -321,8 +297,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> check box', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'the bug assignee'",
-     "SPEECH OUTPUT: 'check box checked'",
+     "SPEECH OUTPUT: 'the bug assignee check box checked'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -333,8 +308,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '<x> check box', cursor=1",
      "BRAILLE LINE:  '<x> check box the reporter'",
      "     VISIBLE:  '<x> check box the reporter', cursor=0",
-     "SPEECH OUTPUT: 'the reporter'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'the reporter check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -342,8 +316,7 @@ sequence.append(utils.AssertPresentationAction(
     "31. Tab",
     ["BRAILLE LINE:  '<x> check box the QA contact'",
      "     VISIBLE:  '<x> check box the QA contact', cursor=0",
-     "SPEECH OUTPUT: 'the QA contact'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'the QA contact check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -351,8 +324,7 @@ sequence.append(utils.AssertPresentationAction(
     "32. Tab",
     ["BRAILLE LINE:  '<x> check box a CC list member'",
      "     VISIBLE:  '<x> check box a CC list member', cursor=0",
-     "SPEECH OUTPUT: 'a CC list member'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'a CC list member check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -360,8 +332,7 @@ sequence.append(utils.AssertPresentationAction(
     "33. Tab",
     ["BRAILLE LINE:  '< > check box a commenter'",
      "     VISIBLE:  '< > check box a commenter', cursor=0",
-     "SPEECH OUTPUT: 'a commenter'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'a commenter check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -371,8 +342,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'contains combo box', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'contains combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -391,8 +361,7 @@ sequence.append(utils.AssertPresentationAction(
     "36. Tab",
     ["BRAILLE LINE:  'Only include combo box'",
      "     VISIBLE:  'Only include combo box', cursor=1",
-     "SPEECH OUTPUT: 'Only include'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Only include combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -400,8 +369,7 @@ sequence.append(utils.AssertPresentationAction(
     "37. Tab",
     ["BRAILLE LINE:  ' $l'",
      "     VISIBLE:  ' $l', cursor=1",
-     "SPEECH OUTPUT: '(comma-separated list)'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: '(comma-separated list) entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -409,10 +377,8 @@ sequence.append(utils.AssertPresentationAction(
     "38. Tab",
     ["BRAILLE LINE:  ' $l'",
      "     VISIBLE:  ' $l', cursor=1",
-     "SPEECH OUTPUT: 'Bug Changes'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'Only bugs changed between:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Bug Changes panel'",
+     "SPEECH OUTPUT: 'Only bugs changed between: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -422,10 +388,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Now $l', cursor=4",
      "BRAILLE LINE:  'Now $l'",
      "     VISIBLE:  'Now $l', cursor=4",
-     "SPEECH OUTPUT: '(YYYY-MM-DD or relative dates)'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Now'",
-     "SPEECH OUTPUT: 'selected'"]))
+     "SPEECH OUTPUT: '(YYYY-MM-DD or relative dates) entry Now selected'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -433,8 +396,7 @@ sequence.append(utils.AssertPresentationAction(
     "40. Tab",
     ["BRAILLE LINE:  '[Bug creation]'",
      "     VISIBLE:  '[Bug creation]', cursor=1",
-     "SPEECH OUTPUT: 'where one or more of the following changed:'",
-     "SPEECH OUTPUT: 'multi-select List with 26 items'",
+     "SPEECH OUTPUT: 'where one or more of the following changed: multi-select List with 26 items'",
      "SPEECH OUTPUT: '[Bug creation]'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -443,8 +405,7 @@ sequence.append(utils.AssertPresentationAction(
     "41. Tab",
     ["BRAILLE LINE:  ' $l'",
      "     VISIBLE:  ' $l', cursor=1",
-     "SPEECH OUTPUT: 'and the new value was:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'and the new value was: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -452,8 +413,7 @@ sequence.append(utils.AssertPresentationAction(
     "42. Tab",
     ["BRAILLE LINE:  'Unspecified'",
      "     VISIBLE:  'Unspecified', cursor=1",
-     "SPEECH OUTPUT: 'GNOME version:'",
-     "SPEECH OUTPUT: 'multi-select List with 14 items'",
+     "SPEECH OUTPUT: 'GNOME version: multi-select List with 14 items'",
      "SPEECH OUTPUT: 'Unspecified'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -462,8 +422,7 @@ sequence.append(utils.AssertPresentationAction(
     "43. Tab",
     ["BRAILLE LINE:  'Unspecified'",
      "     VISIBLE:  'Unspecified', cursor=1",
-     "SPEECH OUTPUT: 'GNOME target:'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'",
+     "SPEECH OUTPUT: 'GNOME target: multi-select List with 12 items'",
      "SPEECH OUTPUT: 'Unspecified'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -472,8 +431,7 @@ sequence.append(utils.AssertPresentationAction(
     "44. Tab",
     ["BRAILLE LINE:  'Reuse same sort as last time combo box'",
      "     VISIBLE:  'Reuse same sort as last time com', cursor=1",
-     "SPEECH OUTPUT: 'Sort results by: Reuse same sort as last time'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Sort results by: Reuse same sort as last time combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -483,8 +441,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Search push button', cursor=1",
      "BRAILLE LINE:  'Browse mode'",
      "     VISIBLE:  'Browse mode', cursor=0",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'",
+     "SPEECH OUTPUT: 'Search push button'",
      "SPEECH OUTPUT: 'Browse mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -495,8 +452,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Search push button', cursor=1",
      "BRAILLE LINE:  '< > check box and remember these as my default search options'",
      "     VISIBLE:  '< > check box and remember these', cursor=0",
-     "SPEECH OUTPUT: 'and remember these as my default search options'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'and remember these as my default search options check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -504,8 +460,7 @@ sequence.append(utils.AssertPresentationAction(
     "47. Tab",
     ["BRAILLE LINE:  '< > check box Not (negate this whole chart)'",
      "     VISIBLE:  '< > check box Not \(negate this w', cursor=0",
-     "SPEECH OUTPUT: 'Not (negate this whole chart)'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'Not (negate this whole chart) check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -515,8 +470,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '--- combo box --- combo box $l O', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: '--- combo box'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -527,8 +481,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '--- combo box --- combo box $l O', cursor=0",
      "BRAILLE LINE:  '--- combo box'",
      "     VISIBLE:  '--- combo box', cursor=1",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: '--- combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
diff --git a/test/keystrokes/firefox/label_inference_entries.py 
b/test/keystrokes/firefox/label_inference_entries.py
index 315da6a..11801bc 100644
--- a/test/keystrokes/firefox/label_inference_entries.py
+++ b/test/keystrokes/firefox/label_inference_entries.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Next form field",
     ["BRAILLE LINE:  'Type something rather amusing here:  $l'",
      "     VISIBLE:  'Type something rather amusing he', cursor=0",
-     "SPEECH OUTPUT: 'Type something rather amusing here:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Type something rather amusing here: entry'"]))
 
 sequence.append(PauseAction(3000))
 
@@ -28,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Next form field",
     ["BRAILLE LINE:  'Amusing numbers fall between  $l and  $l.'",
      "     VISIBLE:  'Amusing numbers fall between  $l', cursor=0",
-     "SPEECH OUTPUT: 'Amusing numbers fall between'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Amusing numbers fall between entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -40,8 +38,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: We are not scrolling to the entry",
      "BRAILLE LINE:  'Amusing numbers fall between  $l and  $l.'",
      "     VISIBLE:  'Amusing numbers fall between  $l', cursor=0",
-     "SPEECH OUTPUT: 'and'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'and entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -51,8 +48,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Next form field",
     ["BRAILLE LINE:  ' $l I'm a label'",
      "     VISIBLE:  ' $l I'm a label', cursor=0",
-     "SPEECH OUTPUT: 'I'm a label'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'I'm a label entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -62,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Next form field",
     ["BRAILLE LINE:  ' $l Am I a label as well?'",
      "     VISIBLE:  ' $l Am I a label as well?', cursor=0",
-     "SPEECH OUTPUT: 'Am I a label as well?'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Am I a label as well? entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -74,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: As the text suggests, we probably shouldn't be guessing this.",
      "BRAILLE LINE:  ' $l Too far away to be a label.'",
      "     VISIBLE:  ' $l Too far away to be a label.', cursor=0",
-     "SPEECH OUTPUT: 'Too far away to be a label.'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Too far away to be a label. entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -85,8 +79,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Next form field",
     ["BRAILLE LINE:  'Distance doesn't count on the left $l'",
      "     VISIBLE:  'Distance doesn't count on the le', cursor=0",
-     "SPEECH OUTPUT: 'Distance doesn't count on the left'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Distance doesn't count on the left entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -129,8 +122,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -141,8 +133,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -152,8 +143,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -163,8 +153,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First Name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First Name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -175,8 +164,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -186,8 +174,7 @@ sequence.append(utils.AssertPresentationAction(
     "16. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -197,8 +184,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Given name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Given name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -208,8 +194,7 @@ sequence.append(utils.AssertPresentationAction(
     "18. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -219,8 +204,7 @@ sequence.append(utils.AssertPresentationAction(
     "19. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Surname'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Surname entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -230,8 +214,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -242,8 +225,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -253,8 +235,7 @@ sequence.append(utils.AssertPresentationAction(
     "22. Next form field",
     ["BRAILLE LINE:  ' $l $l $l'",
      "     VISIBLE:  ' $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -264,8 +245,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -276,8 +256,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -287,8 +266,7 @@ sequence.append(utils.AssertPresentationAction(
     "25. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -298,8 +276,7 @@ sequence.append(utils.AssertPresentationAction(
     "26. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'patched image'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'patched image entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -309,8 +286,7 @@ sequence.append(utils.AssertPresentationAction(
     "27. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -321,8 +297,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -332,8 +307,7 @@ sequence.append(utils.AssertPresentationAction(
     "29. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -343,8 +317,7 @@ sequence.append(utils.AssertPresentationAction(
     "30. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'patched image'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'patched image entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -354,8 +327,7 @@ sequence.append(utils.AssertPresentationAction(
     "31. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'First name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'First name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -366,8 +338,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
      "SPEECH OUTPUT: 'Middle",
-     "initial'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "initial entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -377,8 +348,7 @@ sequence.append(utils.AssertPresentationAction(
     "33. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'Last name'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Last name entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -388,8 +358,7 @@ sequence.append(utils.AssertPresentationAction(
     "34. Next form field",
     ["BRAILLE LINE:  ' $l $l $l $l'",
      "     VISIBLE:  ' $l $l $l $l', cursor=0",
-     "SPEECH OUTPUT: 'patched image'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'patched image entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -399,8 +368,7 @@ sequence.append(utils.AssertPresentationAction(
     "35. Next form field",
     ["BRAILLE LINE:  'bandaid graphic $l'",
      "     VISIBLE:  'bandaid graphic $l', cursor=0",
-     "SPEECH OUTPUT: 'bandaid graphic'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'bandaid graphic entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -410,8 +378,7 @@ sequence.append(utils.AssertPresentationAction(
     "36. Next form field",
     ["BRAILLE LINE:  ' $l bandaid graphic redux'",
      "     VISIBLE:  ' $l bandaid graphic redux', cursor=0",
-     "SPEECH OUTPUT: 'bandaid graphic redux'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'bandaid graphic redux entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -423,8 +390,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Magic disappearing text trick:  ', cursor=0",
      "BRAILLE LINE:  'Magic disappearing text trick:  $l'",
      "     VISIBLE:  'Magic disappearing text trick:  ', cursor=0",
-     "SPEECH OUTPUT: 'Magic disappearing text trick:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Magic disappearing text trick: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -434,8 +400,7 @@ sequence.append(utils.AssertPresentationAction(
     "38. Next form field",
     ["BRAILLE LINE:  'Tell me a secret:  $l'",
      "     VISIBLE:  'Tell me a secret:  $l', cursor=0",
-     "SPEECH OUTPUT: 'Tell me a secret:'",
-     "SPEECH OUTPUT: 'password text'"]))
+     "SPEECH OUTPUT: 'Tell me a secret: password text'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -445,9 +410,7 @@ sequence.append(utils.AssertPresentationAction(
     "39. Next form field",
     ["BRAILLE LINE:  'I $l'",
      "     VISIBLE:  'I $l', cursor=1",
-     "SPEECH OUTPUT: 'Tell me a little more about yourself:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'I'"]))
+     "SPEECH OUTPUT: 'Tell me a little more about yourself: entry I'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -460,8 +423,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Type something rather amusing here:  $l'",
      "     VISIBLE:  'Type something rather amusing he', cursor=0",
      "SPEECH OUTPUT: 'Wrapping to top.' voice=system",
-     "SPEECH OUTPUT: 'Type something rather amusing here:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Type something rather amusing here: entry'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/label_inference_mailman.py 
b/test/keystrokes/firefox/label_inference_mailman.py
index cf36bf8..b042e38 100644
--- a/test/keystrokes/firefox/label_inference_mailman.py
+++ b/test/keystrokes/firefox/label_inference_mailman.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Next form field",
     ["BRAILLE LINE:  'search mozilla:  $l Go push button'",
      "     VISIBLE:  'search mozilla:  $l Go push butt', cursor=0",
-     "SPEECH OUTPUT: 'search mozilla:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'search mozilla: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -29,8 +28,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: We are not scrolling to the current item",
      "BRAILLE LINE:  'search mozilla:  $l Go push button'",
      "     VISIBLE:  'search mozilla:  $l Go push butt', cursor=0",
-     "SPEECH OUTPUT: 'Go'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Go push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -40,8 +38,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Next form field",
     ["BRAILLE LINE:  'Your email address: $l'",
      "     VISIBLE:  'Your email address: $l', cursor=0",
-     "SPEECH OUTPUT: 'Your email address:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Your email address: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -51,8 +48,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Next form field",
     ["BRAILLE LINE:  'Your name (optional): $l'",
      "     VISIBLE:  'Your name (optional): $l', cursor=0",
-     "SPEECH OUTPUT: 'Your name (optional):'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Your name (optional): entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -62,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Next form field",
     ["BRAILLE LINE:  'Pick a password: $l'",
      "     VISIBLE:  'Pick a password: $l', cursor=0",
-     "SPEECH OUTPUT: 'Pick a password:'",
-     "SPEECH OUTPUT: 'password text'"]))
+     "SPEECH OUTPUT: 'Pick a password: password text'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -73,8 +68,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Next form field",
     ["BRAILLE LINE:  'Reenter password to confirm: $l'",
      "     VISIBLE:  'Reenter password to confirm: $l', cursor=0",
-     "SPEECH OUTPUT: 'Reenter password to confirm:'",
-     "SPEECH OUTPUT: 'password text'"]))
+     "SPEECH OUTPUT: 'Reenter password to confirm: password text'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -84,8 +78,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Next form field",
     ["BRAILLE LINE:  '&=y radio button No & y radio button Yes'",
      "     VISIBLE:  '&=y radio button No & y radio bu', cursor=0",
-     "SPEECH OUTPUT: 'No'",
-     "SPEECH OUTPUT: 'selected radio button'"]))
+     "SPEECH OUTPUT: 'No selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -95,8 +88,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Next form field",
     ["BRAILLE LINE:  '&=y radio button No & y radio button Yes'",
      "     VISIBLE:  '&=y radio button No & y radio bu', cursor=0",
-     "SPEECH OUTPUT: 'Yes'",
-     "SPEECH OUTPUT: 'not selected radio button'"]))
+     "SPEECH OUTPUT: 'Yes not selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -106,8 +98,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Next form field",
     ["BRAILLE LINE:  'Subscribe push button'",
      "     VISIBLE:  'Subscribe push button', cursor=0",
-     "SPEECH OUTPUT: 'Subscribe",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Subscribe push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -117,8 +108,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Next form field",
     ["BRAILLE LINE:  'Admin address:  $l Password:  $l Visit Subscriber List push button'",
      "     VISIBLE:  'Admin address:  $l Password:  $l', cursor=0",
-     "SPEECH OUTPUT: 'Admin address:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Admin address: entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -128,8 +118,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Next form field",
     ["BRAILLE LINE:  'Admin address:  $l Password:  $l Visit Subscriber List push button'",
      "     VISIBLE:  'Admin address:  $l Password:  $l', cursor=0",
-     "SPEECH OUTPUT: 'Password:'",
-     "SPEECH OUTPUT: 'password text'"]))
+     "SPEECH OUTPUT: 'Password: password text'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -139,8 +128,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Next form field",
     ["BRAILLE LINE:  'Admin address:  $l Password:  $l Visit Subscriber List push button'",
      "     VISIBLE:  'Admin address:  $l Password:  $l', cursor=0",
-     "SPEECH OUTPUT: 'Visit Subscriber List",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Visit Subscriber List push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyPressAction(0, None, "KP_Insert"))
@@ -161,8 +149,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Next form field",
     ["BRAILLE LINE:  ' $l Unsubscribe or edit options push button'",
      "     VISIBLE:  ' $l Unsubscribe or edit options ', cursor=0",
-     "SPEECH OUTPUT: 'Unsubscribe or edit options",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Unsubscribe or edit options push button'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_bug_546815.py b/test/keystrokes/firefox/line_nav_bug_546815.py
index 38cce41..fdb21e8 100644
--- a/test/keystrokes/firefox/line_nav_bug_546815.py
+++ b/test/keystrokes/firefox/line_nav_bug_546815.py
@@ -133,8 +133,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Line Down",
     ["BRAILLE LINE:  'What are your favorite pets? h2'",
      "     VISIBLE:  'What are your favorite pets? h2', cursor=1",
-     "SPEECH OUTPUT: 'What are your favorite pets?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'What are your favorite pets? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -182,16 +181,15 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "21. Line Down",
+    "20. Line Down",
     ["BRAILLE LINE:  'Would type of wine do you like? h2'",
      "     VISIBLE:  'Would type of wine do you like? ', cursor=1",
-     "SPEECH OUTPUT: 'Would type of wine do you like?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Would type of wine do you like? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "22. Line Down",
+    "21. Line Down",
     ["BRAILLE LINE:  '&=y radio button cabernet sauvignon'",
      "     VISIBLE:  '&=y radio button cabernet sauvig', cursor=0",
      "SPEECH OUTPUT: 'selected radio button'",
@@ -200,7 +198,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "23. Line Down",
+    "22. Line Down",
     ["BRAILLE LINE:  '& y radio button merlot'",
      "     VISIBLE:  '& y radio button merlot', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -209,7 +207,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "24. Line Down",
+    "23. Line Down",
     ["BRAILLE LINE:  '& y radio button nebbiolo'",
      "     VISIBLE:  '& y radio button nebbiolo', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -218,7 +216,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "25. Line Down",
+    "24. Line Down",
     ["BRAILLE LINE:  '& y radio button pinot noir'",
      "     VISIBLE:  '& y radio button pinot noir', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -227,7 +225,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
-    "26. Line Down",
+    "25. Line Down",
     ["BRAILLE LINE:  '& y radio button don't drink wine'",
      "     VISIBLE:  '& y radio button don't drink win', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -236,7 +234,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "27. Line Up",
+    "26. Line Up",
     ["BRAILLE LINE:  '& y radio button pinot noir'",
      "     VISIBLE:  '& y radio button pinot noir', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -245,7 +243,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "28. Line Up",
+    "27. Line Up",
     ["BRAILLE LINE:  '& y radio button nebbiolo'",
      "     VISIBLE:  '& y radio button nebbiolo', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -254,7 +252,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "29. Line Up",
+    "28. Line Up",
     ["BRAILLE LINE:  '& y radio button merlot'",
      "     VISIBLE:  '& y radio button merlot', cursor=0",
      "SPEECH OUTPUT: 'not selected radio button'",
@@ -263,7 +261,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "30. Line Up",
+    "29. Line Up",
     ["BRAILLE LINE:  '&=y radio button cabernet sauvignon'",
      "     VISIBLE:  '&=y radio button cabernet sauvig', cursor=0",
      "SPEECH OUTPUT: 'selected radio button'",
@@ -272,16 +270,15 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "31. Line Up",
+    "30. Line Up",
     ["BRAILLE LINE:  'Would type of wine do you like? h2'",
      "     VISIBLE:  'Would type of wine do you like? ', cursor=1",
-     "SPEECH OUTPUT: 'Would type of wine do you like?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Would type of wine do you like? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "32. Line Up",
+    "31. Line Up",
     ["BRAILLE LINE:  'Radio Buttons:'",
      "     VISIBLE:  'Radio Buttons:', cursor=1",
      "SPEECH OUTPUT: 'Radio Buttons:'"]))
@@ -289,7 +286,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "33. Line Up",
+    "32. Line Up",
     ["BRAILLE LINE:  'separator'",
      "     VISIBLE:  'separator', cursor=0",
      "SPEECH OUTPUT: 'separator'"]))
@@ -297,7 +294,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "34. Line Up",
+    "33. Line Up",
     ["BRAILLE LINE:  '< > check box wild animal'",
      "     VISIBLE:  '< > check box wild animal', cursor=0",
      "SPEECH OUTPUT: 'check box not checked'",
@@ -306,7 +303,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "35. Line Up",
+    "34. Line Up",
     ["BRAILLE LINE:  '< > check box fish'",
      "     VISIBLE:  '< > check box fish', cursor=0",
      "SPEECH OUTPUT: 'check box not checked'",
@@ -315,7 +312,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "36. Line Up",
+    "35. Line Up",
     ["BRAILLE LINE:  '< > check box bird'",
      "     VISIBLE:  '< > check box bird', cursor=0",
      "SPEECH OUTPUT: 'check box not checked'",
@@ -324,16 +321,15 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "37. Line Up",
+    "36. Line Up",
     ["BRAILLE LINE:  'What are your favorite pets? h2'",
      "     VISIBLE:  'What are your favorite pets? h2', cursor=1",
-     "SPEECH OUTPUT: 'What are your favorite pets?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'What are your favorite pets? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "38. Line Up",
+    "37. Line Up",
     ["BRAILLE LINE:  ' CheckBox:'",
      "     VISIBLE:  ' CheckBox:', cursor=1",
      "SPEECH OUTPUT: 'CheckBox:'"]))
@@ -341,7 +337,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "39. Line Up",
+    "38. Line Up",
     ["BRAILLE LINE:  'separator'",
      "     VISIBLE:  'separator', cursor=0",
      "SPEECH OUTPUT: 'separator'"]))
@@ -349,7 +345,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "40. Line Up",
+    "39. Line Up",
     ["BRAILLE LINE:  'character:  $l'",
      "     VISIBLE:  'character:  $l', cursor=1",
      "SPEECH OUTPUT: 'character:'",
@@ -358,7 +354,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "41. Line Up",
+    "40. Line Up",
     ["BRAILLE LINE:  '6. What happens when a fixed-width font(the default) is used for a one-byte text input 
area, let's try it.. Enter one'",
      "     VISIBLE:  '6. What happens when a fixed-wid', cursor=1",
      "SPEECH OUTPUT: '6. What happens when a fixed-width font(the default) is used for a one-byte text input 
area, let's try it.. Enter one'"]))
@@ -366,7 +362,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "42. Line Up",
+    "41. Line Up",
     ["BRAILLE LINE:  '5. Enter your Zip:  $l'",
      "     VISIBLE:  '5. Enter your Zip:  $l', cursor=1",
      "SPEECH OUTPUT: '5. Enter your Zip:'",
@@ -375,7 +371,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "43. Line Up",
+    "42. Line Up",
     ["BRAILLE LINE:  'value'",
      "     VISIBLE:  'value', cursor=1",
      "SPEECH OUTPUT: 'value'"]))
@@ -383,7 +379,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "44. Line Up",
+    "43. Line Up",
     ["BRAILLE LINE:  '2. Enter your City:  $l 3. Enter your State:  $l 4. Enter your Country: US $l image 
text field using'",
      "     VISIBLE:  '2. Enter your City:  $l 3. Enter', cursor=1",
      "SPEECH OUTPUT: '2. Enter your City:'",
@@ -399,7 +395,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "45. Line Up",
+    "44. Line Up",
     ["BRAILLE LINE:  'MAXLENGTH'",
      "     VISIBLE:  'MAXLENGTH', cursor=1",
      "SPEECH OUTPUT: 'MAXLENGTH'"]))
@@ -407,7 +403,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "46. Line Up",
+    "45. Line Up",
     ["BRAILLE LINE:  '1. Enter your Address:  $l text field using SIZE and'",
      "     VISIBLE:  '1. Enter your Address:  $l text ', cursor=1",
      "SPEECH OUTPUT: '1. Enter your Address:'",
@@ -417,7 +413,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "47. Line Up",
+    "46. Line Up",
     ["BRAILLE LINE:  'Enter your Name:  $l text field using default type=text'",
      "     VISIBLE:  'Enter your Name:  $l text field ', cursor=1",
      "SPEECH OUTPUT: 'Enter your Name:'",
@@ -427,7 +423,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "48. Line Up",
+    "47. Line Up",
     ["BRAILLE LINE:  'Textfield :'",
      "     VISIBLE:  'Textfield :', cursor=1",
      "SPEECH OUTPUT: 'Textfield :'"]))
@@ -435,7 +431,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "49. Line Up",
+    "48. Line Up",
     ["BRAILLE LINE:  'HTML Form and Widgets'",
      "     VISIBLE:  'HTML Form and Widgets', cursor=1",
      "SPEECH OUTPUT: 'HTML Form and Widgets'"]))
@@ -443,7 +439,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "50. Line Up",
+    "49. Line Up",
     ["BRAILLE LINE:  'separator'",
      "     VISIBLE:  'separator', cursor=0",
      "SPEECH OUTPUT: 'separator'"]))
diff --git a/test/keystrokes/firefox/line_nav_bug_552887a.py b/test/keystrokes/firefox/line_nav_bug_552887a.py
index 0e09e69..bd707e1 100644
--- a/test/keystrokes/firefox/line_nav_bug_552887a.py
+++ b/test/keystrokes/firefox/line_nav_bug_552887a.py
@@ -29,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down",
     ["BRAILLE LINE:  'Line 2 h2'",
      "     VISIBLE:  'Line 2 h2', cursor=1",
-     "SPEECH OUTPUT: 'Line 2'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Line 2 heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -46,8 +45,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Down",
     ["BRAILLE LINE:  'The Orca logo image '",
      "     VISIBLE:  'The Orca logo image ', cursor=0",
-     "SPEECH OUTPUT: 'The Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'The Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -231,8 +229,7 @@ sequence.append(utils.AssertPresentationAction(
     "28. Line Up",
     ["BRAILLE LINE:  'The Orca logo image '",
      "     VISIBLE:  'The Orca logo image ', cursor=0",
-     "SPEECH OUTPUT: 'The Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'The Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -248,8 +245,7 @@ sequence.append(utils.AssertPresentationAction(
     "30. Line Up",
     ["BRAILLE LINE:  'Line 2 h2'",
      "     VISIBLE:  'Line 2 h2', cursor=1",
-     "SPEECH OUTPUT: 'Line 2'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Line 2 heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -259,8 +255,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Line 1 Line 2 h2'",
      "     VISIBLE:  'Line 1 Line 2 h2', cursor=1",
      "SPEECH OUTPUT: 'Line 1'",
-     "SPEECH OUTPUT: 'Line 2'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Line 2 heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_bug_554616.py b/test/keystrokes/firefox/line_nav_bug_554616.py
index 212431f..1317dd2 100644
--- a/test/keystrokes/firefox/line_nav_bug_554616.py
+++ b/test/keystrokes/firefox/line_nav_bug_554616.py
@@ -15,12 +15,9 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of File",
     ["BRAILLE LINE:  'Snapshot version Date (UTC) Download'",
      "     VISIBLE:  'Snapshot version Date (UTC) Down', cursor=1",
-     "SPEECH OUTPUT: 'Snapshot version'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'Date (UTC)'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'Download'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Snapshot version column header'",
+     "SPEECH OUTPUT: 'Date (UTC) column header'",
+     "SPEECH OUTPUT: 'Download column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -95,7 +92,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "8. Line Up",
+    "9. Line Up",
     ["BRAILLE LINE:  'portable archive (9154 KB)'",
      "     VISIBLE:  'portable archive (9154 KB)', cursor=1",
      "SPEECH OUTPUT: 'portable archive'",
@@ -105,7 +102,7 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "9. Line Up",
+    "10. Line Up",
     ["BRAILLE LINE:  'r2477 Wed Nov 5 16:39:00 2008 installer (10190 KB)'",
      "     VISIBLE:  'r2477 Wed Nov 5 16:39:00 2008 in', cursor=1",
      "SPEECH OUTPUT: 'r2477'",
@@ -117,15 +114,12 @@ sequence.append(utils.AssertPresentationAction(
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "10. Line Up",
+    "11. Line Up",
     ["BRAILLE LINE:  'Snapshot version Date (UTC) Download'",
      "     VISIBLE:  'Snapshot version Date (UTC) Down', cursor=1",
-     "SPEECH OUTPUT: 'Snapshot version'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'Date (UTC)'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'Download'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Snapshot version column header'",
+     "SPEECH OUTPUT: 'Date (UTC) column header'",
+     "SPEECH OUTPUT: 'Download column header'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_bugzilla_search_down.py 
b/test/keystrokes/firefox/line_nav_bugzilla_search_down.py
index 86b3d5b..3c6ceca 100644
--- a/test/keystrokes/firefox/line_nav_bugzilla_search_down.py
+++ b/test/keystrokes/firefox/line_nav_bugzilla_search_down.py
@@ -66,13 +66,10 @@ sequence.append(utils.AssertPresentationAction(
     "4. Line Down",
     ["BRAILLE LINE:  'Summary: contains all of the words/strings combo box $l Search push button'",
      "     VISIBLE:  'Summary: contains all of the wor', cursor=1",
-     "SPEECH OUTPUT: 'Summary:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Summary: row header'",
+     "SPEECH OUTPUT: 'contains all of the words/strings combo box'",
      "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Search push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -80,8 +77,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Down",
     ["BRAILLE LINE:  'Classification:'",
      "     VISIBLE:  'Classification:', cursor=1",
-     "SPEECH OUTPUT: 'Classification:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Classification: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -89,8 +85,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Down",
     ["BRAILLE LINE:  'Admin  list box'",
      "     VISIBLE:  'Admin  list box', cursor=0",
-     "SPEECH OUTPUT: 'Admin '",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'"]))
+     "SPEECH OUTPUT: 'Admin  multi-select List with 8 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -98,8 +93,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Line Down",
     ["BRAILLE LINE:  'Product:'",
      "     VISIBLE:  'Product:', cursor=1",
-     "SPEECH OUTPUT: 'Product:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Product: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -107,8 +101,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Line Down",
     ["BRAILLE LINE:  'accerciser list box'",
      "     VISIBLE:  'accerciser list box', cursor=0",
-     "SPEECH OUTPUT: 'accerciser'",
-     "SPEECH OUTPUT: 'multi-select List with 379 items'"]))
+     "SPEECH OUTPUT: 'accerciser multi-select List with 379 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -118,8 +111,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Component:', cursor=1",
      "SPEECH OUTPUT: 'Component'",
      "SPEECH OUTPUT: 'link'",
-     "SPEECH OUTPUT: 'Component :'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Component : column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -127,8 +119,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Line Down",
     ["BRAILLE LINE:  'abiscan list box'",
      "     VISIBLE:  'abiscan list box', cursor=0",
-     "SPEECH OUTPUT: 'abiscan'",
-     "SPEECH OUTPUT: 'multi-select List with 1248 items'"]))
+     "SPEECH OUTPUT: 'abiscan multi-select List with 1248 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -136,8 +127,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Line Down",
     ["BRAILLE LINE:  'Version:'",
      "     VISIBLE:  'Version:', cursor=1",
-     "SPEECH OUTPUT: 'Version:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Version: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -145,8 +135,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Down",
     ["BRAILLE LINE:  '0.0.1 list box'",
      "     VISIBLE:  '0.0.1 list box', cursor=0",
-     "SPEECH OUTPUT: '0.0.1'",
-     "SPEECH OUTPUT: 'multi-select List with 857 items'"]))
+     "SPEECH OUTPUT: '0.0.1 multi-select List with 857 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -154,8 +143,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Line Down",
     ["BRAILLE LINE:  'Target Milestone:'",
      "     VISIBLE:  'Target Milestone:', cursor=1",
-     "SPEECH OUTPUT: 'Target Milestone:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Target Milestone: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -163,8 +151,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Line Down",
     ["BRAILLE LINE:  '--- list box'",
      "     VISIBLE:  '--- list box', cursor=0",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'multi-select List with 555 items'"]))
+     "SPEECH OUTPUT: '--- multi-select List with 555 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -172,10 +159,8 @@ sequence.append(utils.AssertPresentationAction(
     "15. Line Down",
     ["BRAILLE LINE:  'A Comment: contains the string combo box $l'",
      "     VISIBLE:  'A Comment: contains the string c', cursor=1",
-     "SPEECH OUTPUT: 'A Comment:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains the string'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'A Comment: row header'",
+     "SPEECH OUTPUT: 'contains the string combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -184,10 +169,8 @@ sequence.append(utils.AssertPresentationAction(
     "16. Line Down",
     ["BRAILLE LINE:  'Whiteboard: contains all of the words/strings combo box $l'",
      "     VISIBLE:  'Whiteboard: contains all of the ', cursor=1",
-     "SPEECH OUTPUT: 'Whiteboard:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Whiteboard: row header'",
+     "SPEECH OUTPUT: 'contains all of the words/strings combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -198,10 +181,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Keywords: contains all of the ke', cursor=1",
      "SPEECH OUTPUT: 'Keywords'",
      "SPEECH OUTPUT: 'link'",
-     "SPEECH OUTPUT: 'Keywords :'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the keywords'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Keywords : row header'",
+     "SPEECH OUTPUT: 'contains all of the keywords combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -218,8 +199,7 @@ sequence.append(utils.AssertPresentationAction(
     "19. Line Down",
     ["BRAILLE LINE:  'Status:'",
      "     VISIBLE:  'Status:', cursor=1",
-     "SPEECH OUTPUT: 'Status:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Status: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -228,8 +208,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: Should we be doing a different presentation of these selected children?",
      "BRAILLE LINE:  'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO list box'",
      "     VISIBLE:  'UNCONFIRMED NEW ASSIGNED REOPENE', cursor=0",
-     "SPEECH OUTPUT: 'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO'",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'"]))
+     "SPEECH OUTPUT: 'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO multi-select List with 8 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -237,8 +216,7 @@ sequence.append(utils.AssertPresentationAction(
     "21. Line Down",
     ["BRAILLE LINE:  'Resolution:'",
      "     VISIBLE:  'Resolution:', cursor=1",
-     "SPEECH OUTPUT: 'Resolution: '",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Resolution:  column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -246,8 +224,7 @@ sequence.append(utils.AssertPresentationAction(
     "22. Line Down",
     ["BRAILLE LINE:  'FIXED list box'",
      "     VISIBLE:  'FIXED list box', cursor=0",
-     "SPEECH OUTPUT: 'FIXED'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'"]))
+     "SPEECH OUTPUT: 'FIXED multi-select List with 12 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -255,8 +232,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. Line Down",
     ["BRAILLE LINE:  'Severity:'",
      "     VISIBLE:  'Severity:', cursor=1",
-     "SPEECH OUTPUT: 'Severity:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Severity: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -264,8 +240,7 @@ sequence.append(utils.AssertPresentationAction(
     "24. Line Down",
     ["BRAILLE LINE:  'blocker list box'",
      "     VISIBLE:  'blocker list box', cursor=0",
-     "SPEECH OUTPUT: 'blocker'",
-     "SPEECH OUTPUT: 'multi-select List with 7 items'"]))
+     "SPEECH OUTPUT: 'blocker multi-select List with 7 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -273,8 +248,7 @@ sequence.append(utils.AssertPresentationAction(
     "25. Line Down",
     ["BRAILLE LINE:  'Priority:'",
      "     VISIBLE:  'Priority:', cursor=1",
-     "SPEECH OUTPUT: 'Priority:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Priority: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -282,8 +256,7 @@ sequence.append(utils.AssertPresentationAction(
     "26. Line Down",
     ["BRAILLE LINE:  'Immediate list box'",
      "     VISIBLE:  'Immediate list box', cursor=0",
-     "SPEECH OUTPUT: 'Immediate'",
-     "SPEECH OUTPUT: 'multi-select List with 5 items'"]))
+     "SPEECH OUTPUT: 'Immediate multi-select List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -291,8 +264,7 @@ sequence.append(utils.AssertPresentationAction(
     "27. Line Down",
     ["BRAILLE LINE:  'OS:'",
      "     VISIBLE:  'OS:', cursor=1",
-     "SPEECH OUTPUT: 'OS:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'OS: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -300,8 +272,7 @@ sequence.append(utils.AssertPresentationAction(
     "28. Line Down",
     ["BRAILLE LINE:  'All list box'",
      "     VISIBLE:  'All list box', cursor=0",
-     "SPEECH OUTPUT: 'All'",
-     "SPEECH OUTPUT: 'multi-select List with 21 items'"]))
+     "SPEECH OUTPUT: 'All multi-select List with 21 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -370,8 +341,7 @@ sequence.append(utils.AssertPresentationAction(
     "36. Line Down",
     ["BRAILLE LINE:  'contains combo box'",
      "     VISIBLE:  'contains combo box', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'contains combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -440,8 +410,7 @@ sequence.append(utils.AssertPresentationAction(
     "44. Line Down",
     ["BRAILLE LINE:  'contains combo box'",
      "     VISIBLE:  'contains combo box', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'contains combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -465,8 +434,7 @@ sequence.append(utils.AssertPresentationAction(
     "47. Line Down",
     ["BRAILLE LINE:  'Only include combo box bugs numbered:  $l'",
      "     VISIBLE:  'Only include combo box bugs numb', cursor=0",
-     "SPEECH OUTPUT: 'Only include'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Only include combo box'",
      "SPEECH OUTPUT: 'bugs numbered:'",
      "SPEECH OUTPUT: 'entry'"]))
 
@@ -498,12 +466,11 @@ sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "51. Line Down",
-    ["BRAILLE LINE:  ' $l and'",
-     "     VISIBLE:  ' $l and', cursor=0",
+    ["BRAILLE LINE:  ' $l and Now $l'",
+     "     VISIBLE:  ' $l and Now $l', cursor=0",
      "SPEECH OUTPUT: 'entry'",
      "SPEECH OUTPUT: 'and'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Now'"]))
+     "SPEECH OUTPUT: 'entry Now'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -527,8 +494,7 @@ sequence.append(utils.AssertPresentationAction(
     "54. Line Down",
     ["BRAILLE LINE:  '[Bug creation] list box'",
      "     VISIBLE:  '[Bug creation] list box', cursor=0",
-     "SPEECH OUTPUT: '[Bug creation]'",
-     "SPEECH OUTPUT: 'multi-select List with 26 items'"]))
+     "SPEECH OUTPUT: '[Bug creation] multi-select List with 26 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -552,8 +518,7 @@ sequence.append(utils.AssertPresentationAction(
     "57. Line Down",
     ["BRAILLE LINE:  'GNOME version:'",
      "     VISIBLE:  'GNOME version:', cursor=1",
-     "SPEECH OUTPUT: 'GNOME version:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'GNOME version: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -561,8 +526,7 @@ sequence.append(utils.AssertPresentationAction(
     "58. Line Down",
     ["BRAILLE LINE:  'Unspecified list box'",
      "     VISIBLE:  'Unspecified list box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'multi-select List with 14 items'"]))
+     "SPEECH OUTPUT: 'Unspecified multi-select List with 14 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -570,8 +534,7 @@ sequence.append(utils.AssertPresentationAction(
     "59. Line Down",
     ["BRAILLE LINE:  'GNOME target:'",
      "     VISIBLE:  'GNOME target:', cursor=1",
-     "SPEECH OUTPUT: 'GNOME target:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'GNOME target: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -579,8 +542,7 @@ sequence.append(utils.AssertPresentationAction(
     "60. Line Down",
     ["BRAILLE LINE:  'Unspecified list box'",
      "     VISIBLE:  'Unspecified list box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'"]))
+     "SPEECH OUTPUT: 'Unspecified multi-select List with 12 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -589,8 +551,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Sort results by: Reuse same sort as last time combo box'",
      "     VISIBLE:  'Sort results by: Reuse same sort', cursor=1",
      "SPEECH OUTPUT: 'Sort results by:'",
-     "SPEECH OUTPUT: 'Reuse same sort as last time'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Reuse same sort as last time combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -598,8 +559,7 @@ sequence.append(utils.AssertPresentationAction(
     "62. Line Down",
     ["BRAILLE LINE:  'Search push button'",
      "     VISIBLE:  'Search push button', cursor=1",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Search push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -641,13 +601,10 @@ sequence.append(utils.AssertPresentationAction(
     "67. Line Down",
     ["BRAILLE LINE:  '--- combo box --- combo box $l Or push button'",
      "     VISIBLE:  '--- combo box --- combo box $l O', cursor=0",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: '--- combo box'",
+     "SPEECH OUTPUT: '--- combo box'",
      "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Or'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Or push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -655,10 +612,8 @@ sequence.append(utils.AssertPresentationAction(
     "68. Line Down",
     ["BRAILLE LINE:  'And push button Add another boolean chart push button'",
      "     VISIBLE:  'And push button Add another bool', cursor=1",
-     "SPEECH OUTPUT: 'And'",
-     "SPEECH OUTPUT: 'push button'",
-     "SPEECH OUTPUT: 'Add another boolean chart'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'And push button'",
+     "SPEECH OUTPUT: 'Add another boolean chart push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/line_nav_bugzilla_search_up.py 
b/test/keystrokes/firefox/line_nav_bugzilla_search_up.py
index ec5f27b..c6fdfce 100644
--- a/test/keystrokes/firefox/line_nav_bugzilla_search_up.py
+++ b/test/keystrokes/firefox/line_nav_bugzilla_search_up.py
@@ -24,10 +24,8 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Up",
     ["BRAILLE LINE:  'And push button Add another boolean chart push button'",
      "     VISIBLE:  'And push button Add another bool', cursor=1",
-     "SPEECH OUTPUT: 'And'",
-     "SPEECH OUTPUT: 'push button'",
-     "SPEECH OUTPUT: 'Add another boolean chart'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'And push button'",
+     "SPEECH OUTPUT: 'Add another boolean chart push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -35,13 +33,10 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Up",
     ["BRAILLE LINE:  '--- combo box --- combo box $l Or push button'",
      "     VISIBLE:  '--- combo box --- combo box $l O', cursor=0",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: '--- combo box'",
+     "SPEECH OUTPUT: '--- combo box'",
      "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Or'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Or push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -83,8 +78,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Line Up",
     ["BRAILLE LINE:  'Search push button'",
      "     VISIBLE:  'Search push button', cursor=1",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Search push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -93,8 +87,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Sort results by: Reuse same sort as last time combo box'",
      "     VISIBLE:  'Sort results by: Reuse same sort', cursor=1",
      "SPEECH OUTPUT: 'Sort results by:'",
-     "SPEECH OUTPUT: 'Reuse same sort as last time'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Reuse same sort as last time combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -102,8 +95,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Line Up",
     ["BRAILLE LINE:  'Unspecified list box'",
      "     VISIBLE:  'Unspecified list box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'"]))
+     "SPEECH OUTPUT: 'Unspecified multi-select List with 12 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -111,8 +103,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Line Up",
     ["BRAILLE LINE:  'GNOME target:'",
      "     VISIBLE:  'GNOME target:', cursor=1",
-     "SPEECH OUTPUT: 'GNOME target:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'GNOME target: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -120,8 +111,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Up",
     ["BRAILLE LINE:  'Unspecified list box'",
      "     VISIBLE:  'Unspecified list box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'multi-select List with 14 items'"]))
+     "SPEECH OUTPUT: 'Unspecified multi-select List with 14 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -129,8 +119,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Line Up",
     ["BRAILLE LINE:  'GNOME version:'",
      "     VISIBLE:  'GNOME version:', cursor=1",
-     "SPEECH OUTPUT: 'GNOME version:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'GNOME version: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -154,8 +143,7 @@ sequence.append(utils.AssertPresentationAction(
     "16. Line Up",
     ["BRAILLE LINE:  '[Bug creation] list box'",
      "     VISIBLE:  '[Bug creation] list box', cursor=0",
-     "SPEECH OUTPUT: '[Bug creation]'",
-     "SPEECH OUTPUT: 'multi-select List with 26 items'"]))
+     "SPEECH OUTPUT: '[Bug creation] multi-select List with 26 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -181,8 +169,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  ' $l and Now $l', cursor=0",
      "SPEECH OUTPUT: 'entry'",
      "SPEECH OUTPUT: 'and'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Now'"]))
+     "SPEECH OUTPUT: 'entry Now'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -214,8 +201,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. Line Up",
     ["BRAILLE LINE:  'Only include combo box bugs numbered:  $l'",
      "     VISIBLE:  'Only include combo box bugs numb', cursor=0",
-     "SPEECH OUTPUT: 'Only include'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Only include combo box'",
      "SPEECH OUTPUT: 'bugs numbered:'",
      "SPEECH OUTPUT: 'entry'"]))
 
@@ -241,8 +227,7 @@ sequence.append(utils.AssertPresentationAction(
     "26. Line Up",
     ["BRAILLE LINE:  'contains combo box'",
      "     VISIBLE:  'contains combo box', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'contains combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -311,8 +296,7 @@ sequence.append(utils.AssertPresentationAction(
     "34. Line Up",
     ["BRAILLE LINE:  'contains combo box'",
      "     VISIBLE:  'contains combo box', cursor=0",
-     "SPEECH OUTPUT: 'contains'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'contains combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -381,8 +365,7 @@ sequence.append(utils.AssertPresentationAction(
     "42. Line Up",
     ["BRAILLE LINE:  'All list box'",
      "     VISIBLE:  'All list box', cursor=0",
-     "SPEECH OUTPUT: 'All'",
-     "SPEECH OUTPUT: 'multi-select List with 21 items'"]))
+     "SPEECH OUTPUT: 'All multi-select List with 21 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -390,8 +373,7 @@ sequence.append(utils.AssertPresentationAction(
     "43. Line Up",
     ["BRAILLE LINE:  'OS:'",
      "     VISIBLE:  'OS:', cursor=1",
-     "SPEECH OUTPUT: 'OS:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'OS: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -399,8 +381,7 @@ sequence.append(utils.AssertPresentationAction(
     "44. Line Up",
     ["BRAILLE LINE:  'Immediate list box'",
      "     VISIBLE:  'Immediate list box', cursor=0",
-     "SPEECH OUTPUT: 'Immediate'",
-     "SPEECH OUTPUT: 'multi-select List with 5 items'"]))
+     "SPEECH OUTPUT: 'Immediate multi-select List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -408,8 +389,7 @@ sequence.append(utils.AssertPresentationAction(
     "45. Line Up",
     ["BRAILLE LINE:  'Priority:'",
      "     VISIBLE:  'Priority:', cursor=1",
-     "SPEECH OUTPUT: 'Priority:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Priority: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -417,8 +397,7 @@ sequence.append(utils.AssertPresentationAction(
     "46. Line Up",
     ["BRAILLE LINE:  'blocker list box'",
      "     VISIBLE:  'blocker list box', cursor=0",
-     "SPEECH OUTPUT: 'blocker'",
-     "SPEECH OUTPUT: 'multi-select List with 7 items'"]))
+     "SPEECH OUTPUT: 'blocker multi-select List with 7 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -426,8 +405,7 @@ sequence.append(utils.AssertPresentationAction(
     "47. Line Up",
     ["BRAILLE LINE:  'Severity:'",
      "     VISIBLE:  'Severity:', cursor=1",
-     "SPEECH OUTPUT: 'Severity:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Severity: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -435,8 +413,7 @@ sequence.append(utils.AssertPresentationAction(
     "48. Line Up",
     ["BRAILLE LINE:  'FIXED list box'",
      "     VISIBLE:  'FIXED list box', cursor=0",
-     "SPEECH OUTPUT: 'FIXED'",
-     "SPEECH OUTPUT: 'multi-select List with 12 items'"]))
+     "SPEECH OUTPUT: 'FIXED multi-select List with 12 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -444,8 +421,7 @@ sequence.append(utils.AssertPresentationAction(
     "49. Line Up",
     ["BRAILLE LINE:  'Resolution:'",
      "     VISIBLE:  'Resolution:', cursor=1",
-     "SPEECH OUTPUT: 'Resolution: '",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Resolution:  column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -453,8 +429,7 @@ sequence.append(utils.AssertPresentationAction(
     "50. Line Up",
     ["BRAILLE LINE:  'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO list box'",
      "     VISIBLE:  'UNCONFIRMED NEW ASSIGNED REOPENE', cursor=0",
-     "SPEECH OUTPUT: 'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO'",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'"]))
+     "SPEECH OUTPUT: 'UNCONFIRMED NEW ASSIGNED REOPENED NEEDINFO multi-select List with 8 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -462,8 +437,7 @@ sequence.append(utils.AssertPresentationAction(
     "51. Line Up",
     ["BRAILLE LINE:  'Status:'",
      "     VISIBLE:  'Status:', cursor=1",
-     "SPEECH OUTPUT: 'Status:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Status: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -481,10 +455,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Keywords: contains all of the ke', cursor=1",
      "SPEECH OUTPUT: 'Keywords'",
      "SPEECH OUTPUT: 'link'",
-     "SPEECH OUTPUT: 'Keywords :'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the keywords'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Keywords : row header'",
+     "SPEECH OUTPUT: 'contains all of the keywords combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -493,10 +465,8 @@ sequence.append(utils.AssertPresentationAction(
     "54. Line Up",
     ["BRAILLE LINE:  'Whiteboard: contains all of the words/strings combo box $l'",
      "     VISIBLE:  'Whiteboard: contains all of the ', cursor=1",
-     "SPEECH OUTPUT: 'Whiteboard:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Whiteboard: row header'",
+     "SPEECH OUTPUT: 'contains all of the words/strings combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -505,10 +475,8 @@ sequence.append(utils.AssertPresentationAction(
     "55. Line Up",
     ["BRAILLE LINE:  'A Comment: contains the string combo box $l'",
      "     VISIBLE:  'A Comment: contains the string c', cursor=1",
-     "SPEECH OUTPUT: 'A Comment:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains the string'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'A Comment: row header'",
+     "SPEECH OUTPUT: 'contains the string combo box'",
      "SPEECH OUTPUT: 'entry'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -517,8 +485,7 @@ sequence.append(utils.AssertPresentationAction(
     "56. Line Up",
     ["BRAILLE LINE:  '--- list box'",
      "     VISIBLE:  '--- list box', cursor=0",
-     "SPEECH OUTPUT: '---'",
-     "SPEECH OUTPUT: 'multi-select List with 555 items'"]))
+     "SPEECH OUTPUT: '--- multi-select List with 555 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -526,8 +493,7 @@ sequence.append(utils.AssertPresentationAction(
     "57. Line Up",
     ["BRAILLE LINE:  'Target Milestone:'",
      "     VISIBLE:  'Target Milestone:', cursor=1",
-     "SPEECH OUTPUT: 'Target Milestone:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Target Milestone: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -535,8 +501,7 @@ sequence.append(utils.AssertPresentationAction(
     "58. Line Up",
     ["BRAILLE LINE:  '0.0.1 list box'",
      "     VISIBLE:  '0.0.1 list box', cursor=0",
-     "SPEECH OUTPUT: '0.0.1'",
-     "SPEECH OUTPUT: 'multi-select List with 857 items'"]))
+     "SPEECH OUTPUT: '0.0.1 multi-select List with 857 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -544,8 +509,7 @@ sequence.append(utils.AssertPresentationAction(
     "59. Line Up",
     ["BRAILLE LINE:  'Version:'",
      "     VISIBLE:  'Version:', cursor=1",
-     "SPEECH OUTPUT: 'Version:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Version: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -553,8 +517,7 @@ sequence.append(utils.AssertPresentationAction(
     "60. Line Up",
     ["BRAILLE LINE:  'abiscan list box'",
      "     VISIBLE:  'abiscan list box', cursor=0",
-     "SPEECH OUTPUT: 'abiscan'",
-     "SPEECH OUTPUT: 'multi-select List with 1248 items'"]))
+     "SPEECH OUTPUT: 'abiscan multi-select List with 1248 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -564,8 +527,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Component:', cursor=1",
      "SPEECH OUTPUT: 'Component'",
      "SPEECH OUTPUT: 'link'",
-     "SPEECH OUTPUT: 'Component :'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Component : column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -573,8 +535,7 @@ sequence.append(utils.AssertPresentationAction(
     "62. Line Up",
     ["BRAILLE LINE:  'accerciser list box'",
      "     VISIBLE:  'accerciser list box', cursor=0",
-     "SPEECH OUTPUT: 'accerciser'",
-     "SPEECH OUTPUT: 'multi-select List with 379 items'"]))
+     "SPEECH OUTPUT: 'accerciser multi-select List with 379 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -582,8 +543,7 @@ sequence.append(utils.AssertPresentationAction(
     "63. Line Up",
     ["BRAILLE LINE:  'Product:'",
      "     VISIBLE:  'Product:', cursor=1",
-     "SPEECH OUTPUT: 'Product:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Product: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -591,8 +551,7 @@ sequence.append(utils.AssertPresentationAction(
     "64. Line Up",
     ["BRAILLE LINE:  'Admin  list box'",
      "     VISIBLE:  'Admin  list box', cursor=0",
-     "SPEECH OUTPUT: 'Admin '",
-     "SPEECH OUTPUT: 'multi-select List with 8 items'"]))
+     "SPEECH OUTPUT: 'Admin  multi-select List with 8 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -600,8 +559,7 @@ sequence.append(utils.AssertPresentationAction(
     "65. Line Up",
     ["BRAILLE LINE:  'Classification:'",
      "     VISIBLE:  'Classification:', cursor=1",
-     "SPEECH OUTPUT: 'Classification:'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'Classification: column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -609,13 +567,10 @@ sequence.append(utils.AssertPresentationAction(
     "66. Line Up",
     ["BRAILLE LINE:  'Summary: contains all of the words/strings combo box $l Search push button'",
      "     VISIBLE:  'Summary: contains all of the wor', cursor=1",
-     "SPEECH OUTPUT: 'Summary:'",
-     "SPEECH OUTPUT: 'row header'",
-     "SPEECH OUTPUT: 'contains all of the words/strings'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'Summary: row header'",
+     "SPEECH OUTPUT: 'contains all of the words/strings combo box'",
      "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Search push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_clickables.py b/test/keystrokes/firefox/line_nav_clickables.py
index 0a24c72..6856243 100644
--- a/test/keystrokes/firefox/line_nav_clickables.py
+++ b/test/keystrokes/firefox/line_nav_clickables.py
@@ -25,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Orca Logo'",
      "     VISIBLE:  'Orca Logo', cursor=0",
-     "SPEECH OUTPUT: 'Orca Logo'",
-     "SPEECH OUTPUT: 'image clickable'"]))
+     "SPEECH OUTPUT: 'Orca Logo image clickable'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -43,8 +42,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Clickable span: Click Me. More text.'",
      "     VISIBLE:  'Clickable span: Click Me. More t', cursor=1",
      "SPEECH OUTPUT: 'Clickable span:'",
-     "SPEECH OUTPUT: 'Click Me.'",
-     "SPEECH OUTPUT: 'clickable'",
+     "SPEECH OUTPUT: 'Click Me. clickable'",
      "SPEECH OUTPUT: 'More text.'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -61,8 +59,7 @@ sequence.append(utils.AssertPresentationAction(
     "6 Line Down",
     ["BRAILLE LINE:  'Click Me.'",
      "     VISIBLE:  'Click Me.', cursor=1",
-     "SPEECH OUTPUT: 'Click Me.'",
-     "SPEECH OUTPUT: 'clickable'"]))
+     "SPEECH OUTPUT: 'Click Me. clickable'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -78,8 +75,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Line Up",
     ["BRAILLE LINE:  'Click Me.'",
      "     VISIBLE:  'Click Me.', cursor=1",
-     "SPEECH OUTPUT: 'Click Me.'",
-     "SPEECH OUTPUT: 'clickable'"]))
+     "SPEECH OUTPUT: 'Click Me. clickable'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -96,8 +92,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Clickable span: Click Me. More text.'",
      "     VISIBLE:  'Clickable span: Click Me. More t', cursor=1",
      "SPEECH OUTPUT: 'Clickable span:'",
-     "SPEECH OUTPUT: 'Click Me.'",
-     "SPEECH OUTPUT: 'clickable'",
+     "SPEECH OUTPUT: 'Click Me. clickable'",
      "SPEECH OUTPUT: 'More text.'"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/firefox/line_nav_empty_anchor.py 
b/test/keystrokes/firefox/line_nav_empty_anchor.py
index 571bc2d..0fe30cc 100644
--- a/test/keystrokes/firefox/line_nav_empty_anchor.py
+++ b/test/keystrokes/firefox/line_nav_empty_anchor.py
@@ -22,8 +22,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Battery h2'",
      "     VISIBLE:  'Battery h2', cursor=1",
-     "SPEECH OUTPUT: 'Battery'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Battery heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -85,8 +84,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Line Down",
     ["BRAILLE LINE:  'Battery h2'",
      "     VISIBLE:  'Battery h2', cursor=1",
-     "SPEECH OUTPUT: 'Battery'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Battery heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -182,8 +180,7 @@ sequence.append(utils.AssertPresentationAction(
     "21. Line Up",
     ["BRAILLE LINE:  'Battery h2'",
      "     VISIBLE:  'Battery h2', cursor=1",
-     "SPEECH OUTPUT: 'Battery'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Battery heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -245,8 +242,7 @@ sequence.append(utils.AssertPresentationAction(
     "28. Line Up",
     ["BRAILLE LINE:  'Battery h2'",
      "     VISIBLE:  'Battery h2', cursor=1",
-     "SPEECH OUTPUT: 'Battery'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Battery heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_empty_textarea.py 
b/test/keystrokes/firefox/line_nav_empty_textarea.py
index 4e4c020..f082622 100644
--- a/test/keystrokes/firefox/line_nav_empty_textarea.py
+++ b/test/keystrokes/firefox/line_nav_empty_textarea.py
@@ -30,8 +30,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down",
     ["BRAILLE LINE:  'Label  $l'",
      "     VISIBLE:  'Label  $l', cursor=0",
-     "SPEECH OUTPUT: 'Label'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Label entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -47,8 +46,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Up",
     ["BRAILLE LINE:  'Label  $l'",
      "     VISIBLE:  'Label  $l', cursor=0",
-     "SPEECH OUTPUT: 'Label'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Label entry'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_enter_bug.py b/test/keystrokes/firefox/line_nav_enter_bug.py
index e2ae7e3..471bb78 100644
--- a/test/keystrokes/firefox/line_nav_enter_bug.py
+++ b/test/keystrokes/firefox/line_nav_enter_bug.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Home Bugzilla'",
      "     VISIBLE:  'Home Bugzilla', cursor=1",
-     "SPEECH OUTPUT: 'Home'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Home link'",
      "SPEECH OUTPUT: 'Bugzilla'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -55,8 +54,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down",
     ["BRAILLE LINE:  'Enter Bug: orca – This page lets you enter a new bug  h1'",
      "     VISIBLE:  'Enter Bug: orca – This page lets', cursor=1",
-     "SPEECH OUTPUT: 'Enter Bug: orca – This page lets you enter a new bug'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Enter Bug: orca – This page lets you enter a new bug heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -64,8 +62,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Line Down",
     ["BRAILLE LINE:  'into Bugzilla. h1'",
      "     VISIBLE:  'into Bugzilla. h1', cursor=1",
-     "SPEECH OUTPUT: 'into Bugzilla.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'into Bugzilla. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -151,8 +148,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Line Down",
     ["BRAILLE LINE:  '2.21.x  list box'",
      "     VISIBLE:  '2.21.x  list box', cursor=0",
-     "SPEECH OUTPUT: '2.21.x '",
-     "SPEECH OUTPUT: 'List with 9 items'"]))
+     "SPEECH OUTPUT: '2.21.x  List with 9 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -170,8 +166,7 @@ sequence.append(utils.AssertPresentationAction(
     "15. Line Down",
     ["BRAILLE LINE:  'braille  list box'",
      "     VISIBLE:  'braille  list box', cursor=0",
-     "SPEECH OUTPUT: 'braille '",
-     "SPEECH OUTPUT: 'List with 5 items'"]))
+     "SPEECH OUTPUT: 'braille  List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -206,8 +201,7 @@ sequence.append(utils.AssertPresentationAction(
     "19. Line Down",
     ["BRAILLE LINE:  'Unspecified combo box'",
      "     VISIBLE:  'Unspecified combo box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Unspecified combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -218,8 +212,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'OS'",
      "SPEECH OUTPUT: 'link'",
      "SPEECH OUTPUT: ':'",
-     "SPEECH OUTPUT: 'Linux'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Linux combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -230,8 +223,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'Severity'",
      "SPEECH OUTPUT: 'link'",
      "SPEECH OUTPUT: ':'",
-     "SPEECH OUTPUT: 'normal'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'normal combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -386,8 +378,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'Severity'",
      "SPEECH OUTPUT: 'link'",
      "SPEECH OUTPUT: ':'",
-     "SPEECH OUTPUT: 'normal'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'normal combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -398,8 +389,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'OS'",
      "SPEECH OUTPUT: 'link'",
      "SPEECH OUTPUT: ':'",
-     "SPEECH OUTPUT: 'Linux'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Linux combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -407,8 +397,7 @@ sequence.append(utils.AssertPresentationAction(
     "41. Line Up",
     ["BRAILLE LINE:  'Unspecified combo box'",
      "     VISIBLE:  'Unspecified combo box', cursor=0",
-     "SPEECH OUTPUT: 'Unspecified'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Unspecified combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -443,8 +432,7 @@ sequence.append(utils.AssertPresentationAction(
     "45. Line Up",
     ["BRAILLE LINE:  'braille  list box'",
      "     VISIBLE:  'braille  list box', cursor=0",
-     "SPEECH OUTPUT: 'braille '",
-     "SPEECH OUTPUT: 'List with 5 items'"]))
+     "SPEECH OUTPUT: 'braille  List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -462,8 +450,7 @@ sequence.append(utils.AssertPresentationAction(
     "47. Line Up",
     ["BRAILLE LINE:  '2.21.x  list box'",
      "     VISIBLE:  '2.21.x  list box', cursor=0",
-     "SPEECH OUTPUT: '2.21.x '",
-     "SPEECH OUTPUT: 'List with 9 items'"]))
+     "SPEECH OUTPUT: '2.21.x  List with 9 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -549,8 +536,7 @@ sequence.append(utils.AssertPresentationAction(
     "56. Line Up",
     ["BRAILLE LINE:  'into Bugzilla. h1'",
      "     VISIBLE:  'into Bugzilla. h1', cursor=1",
-     "SPEECH OUTPUT: 'into Bugzilla.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'into Bugzilla. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -558,8 +544,7 @@ sequence.append(utils.AssertPresentationAction(
     "57. Line Up",
     ["BRAILLE LINE:  'Enter Bug: orca \u2013 This page lets you enter a new bug  h1'",
      "     VISIBLE:  'Enter Bug: orca – This page lets', cursor=1",
-     "SPEECH OUTPUT: 'Enter Bug: orca \u2013 This page lets you enter a new bug'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Enter Bug: orca \u2013 This page lets you enter a new bug heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -597,8 +582,7 @@ sequence.append(utils.AssertPresentationAction(
     "59. Line Up",
     ["BRAILLE LINE:  'Home Bugzilla'",
      "     VISIBLE:  'Home Bugzilla', cursor=1",
-     "SPEECH OUTPUT: 'Home'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Home link'",
      "SPEECH OUTPUT: 'Bugzilla'"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/line_nav_entries.py b/test/keystrokes/firefox/line_nav_entries.py
index 5183ba6..4ca5e45 100644
--- a/test/keystrokes/firefox/line_nav_entries.py
+++ b/test/keystrokes/firefox/line_nav_entries.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Here are some entries h2'",
      "     VISIBLE:  'Here are some entries h2', cursor=1",
-     "SPEECH OUTPUT: 'Here are some entries'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Here are some entries heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -70,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Down",
     ["BRAILLE LINE:  'What the heck should we do here? h2'",
      "     VISIBLE:  'What the heck should we do here?', cursor=1",
-     "SPEECH OUTPUT: 'What the heck should we do here?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'What the heck should we do here? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -105,8 +103,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Line Down",
     ["BRAILLE LINE:  'Sometimes labels can be below the fields due to <br /> h2'",
      "     VISIBLE:  'Sometimes labels can be below th', cursor=1",
-     "SPEECH OUTPUT: 'Sometimes labels can be below the fields due to <br />'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Sometimes labels can be below the fields due to <br /> heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -162,8 +159,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Line Down",
     ["BRAILLE LINE:  'Other times it's due to layout tables h2'",
      "     VISIBLE:  'Other times it's due to layout t', cursor=1",
-     "SPEECH OUTPUT: 'Other times it's due to layout tables'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Other times it's due to layout tables heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -215,8 +211,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. Line Down",
     ["BRAILLE LINE:  'Second verse same as the first (only now the labels are above the fields) h2'",
      "     VISIBLE:  'Second verse same as the first (', cursor=1",
-     "SPEECH OUTPUT: 'Second verse same as the first (only now the labels are above the fields)'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Second verse same as the first (only now the labels are above the fields) heading 
level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -268,8 +263,7 @@ sequence.append(utils.AssertPresentationAction(
     "29. Line Down",
     ["BRAILLE LINE:  'Decisions, decisions.... When in doubt, closest table cell text wins h2'",
      "     VISIBLE:  'Decisions, decisions.... When in', cursor=1",
-     "SPEECH OUTPUT: 'Decisions, decisions.... When in doubt, closest table cell text wins'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Decisions, decisions.... When in doubt, closest table cell text wins heading level 
2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -286,8 +280,7 @@ sequence.append(utils.AssertPresentationAction(
     "31. Line Up",
     ["BRAILLE LINE:  'Decisions, decisions.... When in doubt, closest table cell text wins h2'",
      "     VISIBLE:  'Decisions, decisions.... When in', cursor=1",
-     "SPEECH OUTPUT: 'Decisions, decisions.... When in doubt, closest table cell text wins'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Decisions, decisions.... When in doubt, closest table cell text wins heading level 
2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -339,8 +332,7 @@ sequence.append(utils.AssertPresentationAction(
     "37. Line Up",
     ["BRAILLE LINE:  'Second verse same as the first (only now the labels are above the fields) h2'",
      "     VISIBLE:  'Second verse same as the first (', cursor=1",
-     "SPEECH OUTPUT: 'Second verse same as the first (only now the labels are above the fields)'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Second verse same as the first (only now the labels are above the fields) heading 
level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -392,8 +384,7 @@ sequence.append(utils.AssertPresentationAction(
     "43. Line Up",
     ["BRAILLE LINE:  'Other times it's due to layout tables h2'",
      "     VISIBLE:  'Other times it's due to layout t', cursor=1",
-     "SPEECH OUTPUT: 'Other times it's due to layout tables'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Other times it's due to layout tables heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -449,8 +440,7 @@ sequence.append(utils.AssertPresentationAction(
     "50. Line Up",
     ["BRAILLE LINE:  'Sometimes labels can be below the fields due to <br /> h2'",
      "     VISIBLE:  'Sometimes labels can be below th', cursor=1",
-     "SPEECH OUTPUT: 'Sometimes labels can be below the fields due to <br />'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Sometimes labels can be below the fields due to <br /> heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -484,8 +474,7 @@ sequence.append(utils.AssertPresentationAction(
     "54. Line Up",
     ["BRAILLE LINE:  'What the heck should we do here? h2'",
      "     VISIBLE:  'What the heck should we do here?', cursor=1",
-     "SPEECH OUTPUT: 'What the heck should we do here?'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'What the heck should we do here? heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -538,8 +527,7 @@ sequence.append(utils.AssertPresentationAction(
     "59. Line Up",
     ["BRAILLE LINE:  'Here are some entries h2'",
      "     VISIBLE:  'Here are some entries h2', cursor=1",
-     "SPEECH OUTPUT: 'Here are some entries'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Here are some entries heading level 2'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_focused_link.py 
b/test/keystrokes/firefox/line_nav_focused_link.py
index d5e2508..ae5d0e4 100644
--- a/test/keystrokes/firefox/line_nav_focused_link.py
+++ b/test/keystrokes/firefox/line_nav_focused_link.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '[Line 2]', cursor=2",
      "BRAILLE LINE:  '[Line 2]'",
      "     VISIBLE:  '[Line 2]', cursor=2",
-     "SPEECH OUTPUT: 'Line 2'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Line 2 link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/line_nav_follow_same_page_link.py 
b/test/keystrokes/firefox/line_nav_follow_same_page_link.py
index 2bf5301..93d1360 100644
--- a/test/keystrokes/firefox/line_nav_follow_same_page_link.py
+++ b/test/keystrokes/firefox/line_nav_follow_same_page_link.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Contents h1'",
      "     VISIBLE:  'Contents h1', cursor=1",
-     "SPEECH OUTPUT: 'Contents'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Contents heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -24,8 +23,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•First item', cursor=2",
      "BRAILLE LINE:  '•First item'",
      "     VISIBLE:  '•First item', cursor=2",
-     "SPEECH OUTPUT: 'First item'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'First item link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -35,8 +33,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  '•Second item', cursor=2",
      "BRAILLE LINE:  '•Second item'",
      "     VISIBLE:  '•Second item', cursor=2",
-     "SPEECH OUTPUT: 'Second item'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Second item link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Return"))
@@ -52,8 +49,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Down",
     ["BRAILLE LINE:  'Second h2'",
      "     VISIBLE:  'Second h2', cursor=1",
-     "SPEECH OUTPUT: 'Second'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Second heading level 2'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_heading_section.py 
b/test/keystrokes/firefox/line_nav_heading_section.py
index 6e50f22..dac278e 100644
--- a/test/keystrokes/firefox/line_nav_heading_section.py
+++ b/test/keystrokes/firefox/line_nav_heading_section.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Heading 1. h1'",
      "     VISIBLE:  'Heading 1. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 1.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 1. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -22,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Heading 2. h1'",
      "     VISIBLE:  'Heading 2. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 2.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 2. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -39,8 +37,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Line Down",
     ["BRAILLE LINE:  'Heading 3. h1'",
      "     VISIBLE:  'Heading 3. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 3.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 3. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -56,8 +53,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Down",
     ["BRAILLE LINE:  'Heading 4. h1'",
      "     VISIBLE:  'Heading 4. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 4.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 4. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -73,8 +69,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Line Down",
     ["BRAILLE LINE:  'Heading 5. h1'",
      "     VISIBLE:  'Heading 5. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 5.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 5. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -82,8 +77,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Line Down",
     ["BRAILLE LINE:  'Heading 6. h1'",
      "     VISIBLE:  'Heading 6. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 6.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 6. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -91,8 +85,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Line Up",
     ["BRAILLE LINE:  'Heading 5. h1'",
      "     VISIBLE:  'Heading 5. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 5.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 5. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -108,8 +101,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Up",
     ["BRAILLE LINE:  'Heading 4. h1'",
      "     VISIBLE:  'Heading 4. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 4.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 4. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -125,8 +117,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Line Up",
     ["BRAILLE LINE:  'Heading 3. h1'",
      "     VISIBLE:  'Heading 3. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 3.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 3. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -142,8 +133,7 @@ sequence.append(utils.AssertPresentationAction(
     "16. Line Up",
     ["BRAILLE LINE:  'Heading 2. h1'",
      "     VISIBLE:  'Heading 2. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 2.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 2. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -151,8 +141,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Line Up",
     ["BRAILLE LINE:  'Heading 1. h1'",
      "     VISIBLE:  'Heading 1. h1', cursor=1",
-     "SPEECH OUTPUT: 'Heading 1.'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Heading 1. heading level 1'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_hidden_buttons.py 
b/test/keystrokes/firefox/line_nav_hidden_buttons.py
index ccdd836..a7832b1 100644
--- a/test/keystrokes/firefox/line_nav_hidden_buttons.py
+++ b/test/keystrokes/firefox/line_nav_hidden_buttons.py
@@ -22,8 +22,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: We're losing a space in the button name.",
      "BRAILLE LINE:  'Button1 push button'",
      "     VISIBLE:  'Button1 push button', cursor=1",
-     "SPEECH OUTPUT: 'Button1'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Button1 push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -31,8 +30,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down",
     ["BRAILLE LINE:  'Button 2 push button'",
      "     VISIBLE:  'Button 2 push button', cursor=1",
-     "SPEECH OUTPUT: 'Button 2'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Button 2 push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -48,8 +46,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Up",
     ["BRAILLE LINE:  'Button 2 push button'",
      "     VISIBLE:  'Button 2 push button', cursor=1",
-     "SPEECH OUTPUT: 'Button 2'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Button 2 push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -58,8 +55,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: We're losing a space in the button name.",
      "BRAILLE LINE:  'Button1 push button'",
      "     VISIBLE:  'Button1 push button', cursor=1",
-     "SPEECH OUTPUT: 'Button1'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Button1 push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_hidden_label.py 
b/test/keystrokes/firefox/line_nav_hidden_label.py
index 2157399..4c006e3 100644
--- a/test/keystrokes/firefox/line_nav_hidden_label.py
+++ b/test/keystrokes/firefox/line_nav_hidden_label.py
@@ -22,8 +22,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: It would be nice to not present the junk image",
      "BRAILLE LINE:  '< > I am a hidden label!   Check me! check box image'",
      "     VISIBLE:  '< > I am a hidden label!   Check', cursor=0",
-     "SPEECH OUTPUT: 'I am a hidden label!   Check me!'",
-     "SPEECH OUTPUT: 'check box not checked'",
+     "SPEECH OUTPUT: 'I am a hidden label!   Check me! check box not checked'",
      "SPEECH OUTPUT: 'image'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -48,8 +47,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Up",
     ["BRAILLE LINE:  '< > I am a hidden label!   Check me! check box image'",
      "     VISIBLE:  '< > I am a hidden label!   Check', cursor=0",
-     "SPEECH OUTPUT: 'I am a hidden label!   Check me!'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'I am a hidden label!   Check me! check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_imagemap.py b/test/keystrokes/firefox/line_nav_imagemap.py
index 73350ee..83e6505 100644
--- a/test/keystrokes/firefox/line_nav_imagemap.py
+++ b/test/keystrokes/firefox/line_nav_imagemap.py
@@ -22,58 +22,32 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Test: z y x w v u t s r q p o n m l k j i h g f e d c b a'",
      "     VISIBLE:  'Test: z y x w v u t s r q p o n ', cursor=1",
      "SPEECH OUTPUT: 'Test:'",
-     "SPEECH OUTPUT: 'z'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'y'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'x'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'w'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'v'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'u'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 't'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 's'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'r'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'q'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'p'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'o'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'n'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'm'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'l'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'k'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'j'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'i'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'h'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'g'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'f'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'e'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'd'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'c'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'b'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'a'",
-     "SPEECH OUTPUT: 'image map link'"]))
+     "SPEECH OUTPUT: 'z image map link'",
+     "SPEECH OUTPUT: 'y image map link'",
+     "SPEECH OUTPUT: 'x image map link'",
+     "SPEECH OUTPUT: 'w image map link'",
+     "SPEECH OUTPUT: 'v image map link'",
+     "SPEECH OUTPUT: 'u image map link'",
+     "SPEECH OUTPUT: 't image map link'",
+     "SPEECH OUTPUT: 's image map link'",
+     "SPEECH OUTPUT: 'r image map link'",
+     "SPEECH OUTPUT: 'q image map link'",
+     "SPEECH OUTPUT: 'p image map link'",
+     "SPEECH OUTPUT: 'o image map link'",
+     "SPEECH OUTPUT: 'n image map link'",
+     "SPEECH OUTPUT: 'm image map link'",
+     "SPEECH OUTPUT: 'l image map link'",
+     "SPEECH OUTPUT: 'k image map link'",
+     "SPEECH OUTPUT: 'j image map link'",
+     "SPEECH OUTPUT: 'i image map link'",
+     "SPEECH OUTPUT: 'h image map link'",
+     "SPEECH OUTPUT: 'g image map link'",
+     "SPEECH OUTPUT: 'f image map link'",
+     "SPEECH OUTPUT: 'e image map link'",
+     "SPEECH OUTPUT: 'd image map link'",
+     "SPEECH OUTPUT: 'c image map link'",
+     "SPEECH OUTPUT: 'b image map link'",
+     "SPEECH OUTPUT: 'a image map link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -90,58 +64,32 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Test: z y x w v u t s r q p o n m l k j i h g f e d c b a'",
      "     VISIBLE:  'Test: z y x w v u t s r q p o n ', cursor=1",
      "SPEECH OUTPUT: 'Test:'",
-     "SPEECH OUTPUT: 'z'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'y'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'x'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'w'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'v'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'u'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 't'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 's'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'r'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'q'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'p'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'o'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'n'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'm'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'l'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'k'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'j'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'i'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'h'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'g'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'f'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'e'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'd'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'c'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'b'",
-     "SPEECH OUTPUT: 'image map link'",
-     "SPEECH OUTPUT: 'a'",
-     "SPEECH OUTPUT: 'image map link'"]))
+     "SPEECH OUTPUT: 'z image map link'",
+     "SPEECH OUTPUT: 'y image map link'",
+     "SPEECH OUTPUT: 'x image map link'",
+     "SPEECH OUTPUT: 'w image map link'",
+     "SPEECH OUTPUT: 'v image map link'",
+     "SPEECH OUTPUT: 'u image map link'",
+     "SPEECH OUTPUT: 't image map link'",
+     "SPEECH OUTPUT: 's image map link'",
+     "SPEECH OUTPUT: 'r image map link'",
+     "SPEECH OUTPUT: 'q image map link'",
+     "SPEECH OUTPUT: 'p image map link'",
+     "SPEECH OUTPUT: 'o image map link'",
+     "SPEECH OUTPUT: 'n image map link'",
+     "SPEECH OUTPUT: 'm image map link'",
+     "SPEECH OUTPUT: 'l image map link'",
+     "SPEECH OUTPUT: 'k image map link'",
+     "SPEECH OUTPUT: 'j image map link'",
+     "SPEECH OUTPUT: 'i image map link'",
+     "SPEECH OUTPUT: 'h image map link'",
+     "SPEECH OUTPUT: 'g image map link'",
+     "SPEECH OUTPUT: 'f image map link'",
+     "SPEECH OUTPUT: 'e image map link'",
+     "SPEECH OUTPUT: 'd image map link'",
+     "SPEECH OUTPUT: 'c image map link'",
+     "SPEECH OUTPUT: 'b image map link'",
+     "SPEECH OUTPUT: 'a image map link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_images_in_links.py 
b/test/keystrokes/firefox/line_nav_images_in_links.py
index 49f4ece..c8d8e00 100644
--- a/test/keystrokes/firefox/line_nav_images_in_links.py
+++ b/test/keystrokes/firefox/line_nav_images_in_links.py
@@ -25,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Orca logo image'",
      "     VISIBLE:  'Orca logo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -42,8 +41,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Line Down",
     ["BRAILLE LINE:  'Orca logo showing a whale holding a white cane image'",
      "     VISIBLE:  'Orca logo showing a whale holdin', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo showing a whale holding a white cane'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo showing a whale holding a white cane image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -59,8 +57,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Down",
     ["BRAILLE LINE:  'Orca logo image'",
      "     VISIBLE:  'Orca logo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -131,8 +128,7 @@ sequence.append(utils.AssertPresentationAction(
     "14. Line Down",
     ["BRAILLE LINE:  'Orca logo image foo image'",
      "     VISIBLE:  'Orca logo image foo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'",
+     "SPEECH OUTPUT: 'Orca logo image link'",
      "SPEECH OUTPUT: 'foo'",
      "SPEECH OUTPUT: 'image link'"]))
 
@@ -389,8 +385,7 @@ sequence.append(utils.AssertPresentationAction(
     "42. Line Up",
     ["BRAILLE LINE:  'Orca logo image foo image'",
      "     VISIBLE:  'Orca logo image foo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'",
+     "SPEECH OUTPUT: 'Orca logo image link'",
      "SPEECH OUTPUT: 'foo'",
      "SPEECH OUTPUT: 'image link'"]))
 
@@ -463,8 +458,7 @@ sequence.append(utils.AssertPresentationAction(
     "50. Line Up",
     ["BRAILLE LINE:  'Orca logo image'",
      "     VISIBLE:  'Orca logo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -480,8 +474,7 @@ sequence.append(utils.AssertPresentationAction(
     "52. Line Up",
     ["BRAILLE LINE:  'Orca logo showing a whale holding a white cane image'",
      "     VISIBLE:  'Orca logo showing a whale holdin', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo showing a whale holding a white cane'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo showing a whale holding a white cane image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -497,8 +490,7 @@ sequence.append(utils.AssertPresentationAction(
     "54. Line Up",
     ["BRAILLE LINE:  'Orca logo image'",
      "     VISIBLE:  'Orca logo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca logo'",
-     "SPEECH OUTPUT: 'image link'"]))
+     "SPEECH OUTPUT: 'Orca logo image link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_lists.py b/test/keystrokes/firefox/line_nav_lists.py
index edaddf1..c0c4259 100644
--- a/test/keystrokes/firefox/line_nav_lists.py
+++ b/test/keystrokes/firefox/line_nav_lists.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Top of file",
     ["BRAILLE LINE:  'Welcome to a List of Lists h1'",
      "     VISIBLE:  'Welcome to a List of Lists h1', cursor=1",
-     "SPEECH OUTPUT: 'Welcome to a List of Lists",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Welcome to a List of Lists heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -190,8 +189,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. Line Up",
     ["BRAILLE LINE:  'Welcome to a List of Lists h1'",
      "     VISIBLE:  'Welcome to a List of Lists h1', cursor=1",
-     "SPEECH OUTPUT: 'Welcome to a List of Lists",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Welcome to a List of Lists heading level 1'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_multi_line_text.py 
b/test/keystrokes/firefox/line_nav_multi_line_text.py
index feb45fa..5828936 100644
--- a/test/keystrokes/firefox/line_nav_multi_line_text.py
+++ b/test/keystrokes/firefox/line_nav_multi_line_text.py
@@ -62,8 +62,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Line Down",
     ["BRAILLE LINE:  'Hello h3'",
      "     VISIBLE:  'Hello h3', cursor=1",
-     "SPEECH OUTPUT: 'Hello'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Hello heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -115,8 +114,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Down",
     ["BRAILLE LINE:  'World h3'",
      "     VISIBLE:  'World h3', cursor=1",
-     "SPEECH OUTPUT: 'World'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'World heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -201,8 +199,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. Line Up",
     ["BRAILLE LINE:  'World h3'",
      "     VISIBLE:  'World h3', cursor=1",
-     "SPEECH OUTPUT: 'World'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'World heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -254,8 +251,7 @@ sequence.append(utils.AssertPresentationAction(
     "25. Line Up",
     ["BRAILLE LINE:  'Hello h3'",
      "     VISIBLE:  'Hello h3', cursor=1",
-     "SPEECH OUTPUT: 'Hello'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Hello heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_simple_form.py b/test/keystrokes/firefox/line_nav_simple_form.py
index a103ed0..8346459 100644
--- a/test/keystrokes/firefox/line_nav_simple_form.py
+++ b/test/keystrokes/firefox/line_nav_simple_form.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Magic disappearing text trick: tab to me and I disappear $l'",
      "     VISIBLE:  'Magic disappearing text trick: t', cursor=1",
      "SPEECH OUTPUT: 'Magic disappearing text trick:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'tab to me and I disappear'"]))
+     "SPEECH OUTPUT: 'entry tab to me and I disappear'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -42,8 +41,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. line Down",
     ["BRAILLE LINE:  'I am a monkey with a long tail.  I like  $l'",
      "     VISIBLE:  'I am a monkey with a long tail. ', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'I am a monkey with a long tail.  I like '"]))
+     "SPEECH OUTPUT: 'entry I am a monkey with a long tail.  I like '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -51,8 +49,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. line Down",
     ["BRAILLE LINE:  'to swing from trees and eat bananas.   $l'",
      "     VISIBLE:  'to swing from trees and eat bana', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'to swing from trees and eat bananas.  '"]))
+     "SPEECH OUTPUT: 'entry to swing from trees and eat bananas.  '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -60,8 +57,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. line Down",
     ["BRAILLE LINE:  'I've recently taken up typing and plan  $l'",
      "     VISIBLE:  'I've recently taken up typing an', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'I've recently taken up typing and plan '"]))
+     "SPEECH OUTPUT: 'entry I've recently taken up typing and plan '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -69,8 +65,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. line Down",
     ["BRAILLE LINE:  'to write my memoirs. $l'",
      "     VISIBLE:  'to write my memoirs. $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'to write my memoirs.",
+     "SPEECH OUTPUT: 'entry to write my memoirs.",
      "'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -79,8 +74,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. line Down",
     ["BRAILLE LINE:  '      $l'",
      "     VISIBLE:  '      $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: '     '"]))
+     "SPEECH OUTPUT: 'entry      '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -89,12 +83,9 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Check one or more: < > Red check box < > Blue check box < > Green check box'",
      "     VISIBLE:  'Check one or more: < > Red check', cursor=1",
      "SPEECH OUTPUT: 'Check one or more:'",
-     "SPEECH OUTPUT: 'Red'",
-     "SPEECH OUTPUT: 'check box not checked'",
-     "SPEECH OUTPUT: 'Blue'",
-     "SPEECH OUTPUT: 'check box not checked'",
-     "SPEECH OUTPUT: 'Green'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'Red check box not checked'",
+     "SPEECH OUTPUT: 'Blue check box not checked'",
+     "SPEECH OUTPUT: 'Green check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -103,8 +94,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Make a selection: Water combo box'",
      "     VISIBLE:  'Make a selection: Water combo bo', cursor=1",
      "SPEECH OUTPUT: 'Make a selection:'",
-     "SPEECH OUTPUT: 'Water'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Water combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -120,8 +110,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. line Down",
     ["BRAILLE LINE:  'Hockey list box'",
      "     VISIBLE:  'Hockey list box', cursor=0",
-     "SPEECH OUTPUT: 'Hockey'",
-     "SPEECH OUTPUT: 'multi-select List with 4 items'"]))
+     "SPEECH OUTPUT: 'Hockey multi-select List with 4 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -129,8 +118,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. line Down",
     ["BRAILLE LINE:  'Dashing picture of Willie Walker image'",
      "     VISIBLE:  'Dashing picture of Willie Walker', cursor=0",
-     "SPEECH OUTPUT: 'Dashing picture of Willie Walker'",
-     "SPEECH OUTPUT: 'image'"]))
+     "SPEECH OUTPUT: 'Dashing picture of Willie Walker image'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -150,8 +138,7 @@ sequence.append(utils.AssertPresentationAction(
     "15. line Up",
     ["BRAILLE LINE:  'Dashing picture of Willie Walker image'",
      "     VISIBLE:  'Dashing picture of Willie Walker', cursor=0",
-     "SPEECH OUTPUT: 'Dashing picture of Willie Walker'",
-     "SPEECH OUTPUT: 'image'"]))
+     "SPEECH OUTPUT: 'Dashing picture of Willie Walker image'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -159,8 +146,7 @@ sequence.append(utils.AssertPresentationAction(
     "16. line Up",
     ["BRAILLE LINE:  'Hockey list box'",
      "     VISIBLE:  'Hockey list box', cursor=0",
-     "SPEECH OUTPUT: 'Hockey'",
-     "SPEECH OUTPUT: 'multi-select List with 4 items'"]))
+     "SPEECH OUTPUT: 'Hockey multi-select List with 4 items'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -177,8 +163,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Make a selection: Water combo box'",
      "     VISIBLE:  'Make a selection: Water combo bo', cursor=1",
      "SPEECH OUTPUT: 'Make a selection:'",
-     "SPEECH OUTPUT: 'Water'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Water combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -187,12 +172,9 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Check one or more: < > Red check box < > Blue check box < > Green check box'",
      "     VISIBLE:  'Check one or more: < > Red check', cursor=1",
      "SPEECH OUTPUT: 'Check one or more:'",
-     "SPEECH OUTPUT: 'Red'",
-     "SPEECH OUTPUT: 'check box not checked'",
-     "SPEECH OUTPUT: 'Blue'",
-     "SPEECH OUTPUT: 'check box not checked'",
-     "SPEECH OUTPUT: 'Green'",
-     "SPEECH OUTPUT: 'check box not checked'"]))
+     "SPEECH OUTPUT: 'Red check box not checked'",
+     "SPEECH OUTPUT: 'Blue check box not checked'",
+     "SPEECH OUTPUT: 'Green check box not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -200,8 +182,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. line Up",
     ["BRAILLE LINE:  '      $l'",
      "     VISIBLE:  '      $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: '     '"]))
+     "SPEECH OUTPUT: 'entry      '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -209,8 +190,7 @@ sequence.append(utils.AssertPresentationAction(
     "21. line Up",
     ["BRAILLE LINE:  'to write my memoirs. $l'",
      "     VISIBLE:  'to write my memoirs. $l', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'to write my memoirs.",
+     "SPEECH OUTPUT: 'entry to write my memoirs.",
      "'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -219,8 +199,7 @@ sequence.append(utils.AssertPresentationAction(
     "22. line Up",
     ["BRAILLE LINE:  'I've recently taken up typing and plan  $l'",
      "     VISIBLE:  'I've recently taken up typing an', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'I've recently taken up typing and plan '"]))
+     "SPEECH OUTPUT: 'entry I've recently taken up typing and plan '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -228,8 +207,7 @@ sequence.append(utils.AssertPresentationAction(
     "23. line Up",
     ["BRAILLE LINE:  'to swing from trees and eat bananas.   $l'",
      "     VISIBLE:  'to swing from trees and eat bana', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'to swing from trees and eat bananas.  '"]))
+     "SPEECH OUTPUT: 'entry to swing from trees and eat bananas.  '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -237,8 +215,7 @@ sequence.append(utils.AssertPresentationAction(
     "24. line Up",
     ["BRAILLE LINE:  'I am a monkey with a long tail.  I like  $l'",
      "     VISIBLE:  'I am a monkey with a long tail. ', cursor=1",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'I am a monkey with a long tail.  I like '"]))
+     "SPEECH OUTPUT: 'entry I am a monkey with a long tail.  I like '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -264,8 +241,7 @@ sequence.append(utils.AssertPresentationAction(
     ["BRAILLE LINE:  'Magic disappearing text trick: tab to me and I disappear $l'",
      "     VISIBLE:  'Magic disappearing text trick: t', cursor=1",
      "SPEECH OUTPUT: 'Magic disappearing text trick:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'tab to me and I disappear'"]))
+     "SPEECH OUTPUT: 'entry tab to me and I disappear'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_slash_test.py b/test/keystrokes/firefox/line_nav_slash_test.py
index bed15c0..5061011 100644
--- a/test/keystrokes/firefox/line_nav_slash_test.py
+++ b/test/keystrokes/firefox/line_nav_slash_test.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Line Down",
     ["BRAILLE LINE:  'About h4'",
      "     VISIBLE:  'About h4', cursor=1",
-     "SPEECH OUTPUT: 'About'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'About heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -24,8 +23,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Services h4'",
      "     VISIBLE:  'Services h4', cursor=1",
-     "SPEECH OUTPUT: 'Services'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Services heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -75,8 +73,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Line Down",
     ["BRAILLE LINE:  'Slashdot Login h4'",
      "     VISIBLE:  'Slashdot Login h4', cursor=1",
-     "SPEECH OUTPUT: 'Slashdot Login'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Slashdot Login heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -88,8 +85,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'entry'",
      "SPEECH OUTPUT: 'Password'",
      "SPEECH OUTPUT: 'password text'",
-     "SPEECH OUTPUT: 'Log in'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Log in push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -97,8 +93,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Line Down",
     ["BRAILLE LINE:  'Some Poll h4'",
      "     VISIBLE:  'Some Poll h4', cursor=1",
-     "SPEECH OUTPUT: 'Some Poll'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Some Poll heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -150,8 +145,7 @@ sequence.append(utils.AssertPresentationAction(
     "15. Line Up",
     ["BRAILLE LINE:  'Some Poll h4'",
      "     VISIBLE:  'Some Poll h4', cursor=1",
-     "SPEECH OUTPUT: 'Some Poll'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Some Poll heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -163,8 +157,7 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'entry'",
      "SPEECH OUTPUT: 'Password'",
      "SPEECH OUTPUT: 'password text'",
-     "SPEECH OUTPUT: 'Log in'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Log in push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -172,8 +165,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Line Up",
     ["BRAILLE LINE:  'Slashdot Login h4'",
      "     VISIBLE:  'Slashdot Login h4', cursor=1",
-     "SPEECH OUTPUT: 'Slashdot Login'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Slashdot Login heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -201,8 +193,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. Line Up",
     ["BRAILLE LINE:  'Services h4'",
      "     VISIBLE:  'Services h4', cursor=1",
-     "SPEECH OUTPUT: 'Services'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Services heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -210,8 +201,7 @@ sequence.append(utils.AssertPresentationAction(
     "21. Line Up",
     ["BRAILLE LINE:  'About h4'",
      "     VISIBLE:  'About h4', cursor=1",
-     "SPEECH OUTPUT: 'About'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'About heading level 4'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -219,8 +209,7 @@ sequence.append(utils.AssertPresentationAction(
     "22. Line Up",
     ["BRAILLE LINE:  'Stories h4'",
      "     VISIBLE:  'Stories h4', cursor=1",
-     "SPEECH OUTPUT: 'Stories'",
-     "SPEECH OUTPUT: 'heading level 4'"]))
+     "SPEECH OUTPUT: 'Stories heading level 4'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/line_nav_sun_java.py b/test/keystrokes/firefox/line_nav_sun_java.py
index dbee0d2..1668ddb 100644
--- a/test/keystrokes/firefox/line_nav_sun_java.py
+++ b/test/keystrokes/firefox/line_nav_sun_java.py
@@ -20,10 +20,8 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: '\xbb'",
      "SPEECH OUTPUT: 'search tips'",
      "SPEECH OUTPUT: 'link'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'Submit Search'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'entry Search'",
+     "SPEECH OUTPUT: 'Submit Search push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -31,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'Home Page Sun Developer Network'",
      "     VISIBLE:  'Home Page Sun Developer Network', cursor=1",
-     "SPEECH OUTPUT: 'Home Page'",
-     "SPEECH OUTPUT: 'link'",
+     "SPEECH OUTPUT: 'Home Page link'",
      "SPEECH OUTPUT: 'Sun Developer Network'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -76,8 +73,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Down",
     ["BRAILLE LINE:  'Linux Installation (32-bit) h1'",
      "     VISIBLE:  'Linux Installation (32-bit) h1', cursor=1",
-     "SPEECH OUTPUT: 'Linux Installation (32-bit)'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Linux Installation (32-bit) heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -102,8 +98,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Line Down",
     ["BRAILLE LINE:  'Contents h2'",
      "     VISIBLE:  'Contents h2', cursor=1",
-     "SPEECH OUTPUT: 'Contents'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Contents heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -174,8 +169,7 @@ sequence.append(utils.AssertPresentationAction(
     "17. Line Down",
     ["BRAILLE LINE:  'System Requirements h2'",
      "     VISIBLE:  'System Requirements h2', cursor=1",
-     "SPEECH OUTPUT: 'System Requirements'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'System Requirements heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -205,8 +199,7 @@ sequence.append(utils.AssertPresentationAction(
     "20. Line Down",
     ["BRAILLE LINE:  'Installation Instructions h2'",
      "     VISIBLE:  'Installation Instructions h2', cursor=1",
-     "SPEECH OUTPUT: 'Installation Instructions'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Installation Instructions heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -375,8 +368,7 @@ sequence.append(utils.AssertPresentationAction(
     "40. Line Down",
     ["BRAILLE LINE:  'Installation of Self-Extracting Binary h3'",
      "     VISIBLE:  'Installation of Self-Extracting ', cursor=1",
-     "SPEECH OUTPUT: 'Installation of Self-Extracting Binary'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Installation of Self-Extracting Binary heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/line_nav_table_captions.py 
b/test/keystrokes/firefox/line_nav_table_captions.py
index 4fb00f0..82c3f99 100644
--- a/test/keystrokes/firefox/line_nav_table_captions.py
+++ b/test/keystrokes/firefox/line_nav_table_captions.py
@@ -21,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down into the caption",
     ["BRAILLE LINE:  'this is a caption for this table caption'",
      "     VISIBLE:  'this is a caption for this table', cursor=1",
-     "SPEECH OUTPUT: 'this is a caption for this table'",
-     "SPEECH OUTPUT: 'caption'"]))
+     "SPEECH OUTPUT: 'this is a caption for this table caption'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -30,12 +29,9 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down to headers row",
     ["BRAILLE LINE:  'col1 col2 col3'",
      "     VISIBLE:  'col1 col2 col3', cursor=1",
-     "SPEECH OUTPUT: 'col1'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'col2'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'col3'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'col1 column header'",
+     "SPEECH OUTPUT: 'col2 column header'",
+     "SPEECH OUTPUT: 'col3 column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -111,12 +107,9 @@ sequence.append(utils.AssertPresentationAction(
     "11. Line Up to headers row",
     ["BRAILLE LINE:  'col1 col2 col3'",
      "     VISIBLE:  'col1 col2 col3', cursor=1",
-     "SPEECH OUTPUT: 'col1'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'col2'",
-     "SPEECH OUTPUT: 'column header'",
-     "SPEECH OUTPUT: 'col3'",
-     "SPEECH OUTPUT: 'column header'"]))
+     "SPEECH OUTPUT: 'col1 column header'",
+     "SPEECH OUTPUT: 'col2 column header'",
+     "SPEECH OUTPUT: 'col3 column header'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -124,8 +117,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Up to the caption",
     ["BRAILLE LINE:  'this is a caption for this table caption'",
      "     VISIBLE:  'this is a caption for this table', cursor=1",
-     "SPEECH OUTPUT: 'this is a caption for this table'",
-     "SPEECH OUTPUT: 'caption'"]))
+     "SPEECH OUTPUT: 'this is a caption for this table caption'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_twitter_bug.py b/test/keystrokes/firefox/line_nav_twitter_bug.py
index 7968f16..0af135a 100644
--- a/test/keystrokes/firefox/line_nav_twitter_bug.py
+++ b/test/keystrokes/firefox/line_nav_twitter_bug.py
@@ -31,8 +31,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Line Down",
     ["BRAILLE LINE:  'Joanmarie h2'",
      "     VISIBLE:  'Joanmarie h2', cursor=1",
-     "SPEECH OUTPUT: 'Joanmarie'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Joanmarie heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -48,8 +47,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Down",
     ["BRAILLE LINE:  'Joanmarie h2'",
      "     VISIBLE:  'Joanmarie h2', cursor=1",
-     "SPEECH OUTPUT: 'Joanmarie'",
-     "SPEECH OUTPUT: 'heading level 2'"]))
+     "SPEECH OUTPUT: 'Joanmarie heading level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/line_nav_wiki_down.py b/test/keystrokes/firefox/line_nav_wiki_down.py
index 9fc63b7..5fa3718 100644
--- a/test/keystrokes/firefox/line_nav_wiki_down.py
+++ b/test/keystrokes/firefox/line_nav_wiki_down.py
@@ -37,14 +37,10 @@ sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
     ["BRAILLE LINE:  'live.gnome.org  h1 Search $l Titles push button Text push button'",
      "     VISIBLE:  'live.gnome.org  h1 Search $l Tit', cursor=1",
-     "SPEECH OUTPUT: 'live.gnome.org'",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'Titles'",
-     "SPEECH OUTPUT: 'push button grayed'",
-     "SPEECH OUTPUT: 'Text'",
-     "SPEECH OUTPUT: 'push button grayed'"]))
+     "SPEECH OUTPUT: 'live.gnome.org heading level 1'",
+     "SPEECH OUTPUT: 'entry Search'",
+     "SPEECH OUTPUT: 'Titles push button grayed'",
+     "SPEECH OUTPUT: 'Text push button grayed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -115,8 +111,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Line Down",
     ["BRAILLE LINE:  'Welcome to Orca! h1'",
      "     VISIBLE:  'Welcome to Orca! h1', cursor=1",
-     "SPEECH OUTPUT: 'Welcome to Orca!'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Welcome to Orca! heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -124,8 +119,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Line Down",
     ["BRAILLE LINE:  'Orca Logo'",
      "     VISIBLE:  'Orca Logo', cursor=1",
-     "SPEECH OUTPUT: 'Orca Logo'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Orca Logo link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -231,8 +225,7 @@ sequence.append(utils.AssertPresentationAction(
     "19. Line Down",
     ["BRAILLE LINE:  'About h1'",
      "     VISIBLE:  'About h1', cursor=1",
-     "SPEECH OUTPUT: 'About'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'About heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -373,8 +366,7 @@ sequence.append(utils.AssertPresentationAction(
     "34. Line Down",
     ["BRAILLE LINE:  'Audio Guides h1'",
      "     VISIBLE:  'Audio Guides h1', cursor=1",
-     "SPEECH OUTPUT: 'Audio Guides'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Audio Guides heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -442,8 +434,7 @@ sequence.append(utils.AssertPresentationAction(
     "41. Line Down",
     ["BRAILLE LINE:  'Download/Installation h1'",
      "     VISIBLE:  'Download/Installation h1', cursor=1",
-     "SPEECH OUTPUT: 'Download/Installation'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Download/Installation heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -499,8 +490,7 @@ sequence.append(utils.AssertPresentationAction(
     "47. Line Down",
     ["BRAILLE LINE:  'Configuration/Use h1'",
      "     VISIBLE:  'Configuration/Use h1', cursor=1",
-     "SPEECH OUTPUT: 'Configuration/Use'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Configuration/Use heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -615,8 +605,7 @@ sequence.append(utils.AssertPresentationAction(
     "59. Line Down",
     ["BRAILLE LINE:  'Accessible Applications h1'",
      "     VISIBLE:  'Accessible Applications h1', cursor=1",
-     "SPEECH OUTPUT: 'Accessible Applications'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Accessible Applications heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -740,8 +729,7 @@ sequence.append(utils.AssertPresentationAction(
     "73. Line Down",
     ["BRAILLE LINE:  'How Can I Help? h1'",
      "     VISIBLE:  'How Can I Help? h1', cursor=1",
-     "SPEECH OUTPUT: 'How Can I Help?'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'How Can I Help? heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -768,8 +756,7 @@ sequence.append(utils.AssertPresentationAction(
     "76. Line Down",
     ["BRAILLE LINE:  'More Information h1'",
      "     VISIBLE:  'More Information h1', cursor=1",
-     "SPEECH OUTPUT: 'More Information'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'More Information heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -919,8 +906,7 @@ sequence.append(utils.AssertPresentationAction(
     "91. Line Down",
     ["BRAILLE LINE:  'User h3'",
      "     VISIBLE:  'User h3', cursor=1",
-     "SPEECH OUTPUT: 'User'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'User heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -937,8 +923,7 @@ sequence.append(utils.AssertPresentationAction(
     "93. Line Down",
     ["BRAILLE LINE:  'Page h3'",
      "     VISIBLE:  'Page h3', cursor=1",
-     "SPEECH OUTPUT: 'Page'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Page heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -972,8 +957,7 @@ sequence.append(utils.AssertPresentationAction(
     "97. Line Down",
     ["BRAILLE LINE:  'More Actions: combo box'",
      "     VISIBLE:  'More Actions: combo box', cursor=0",
-     "SPEECH OUTPUT: 'More Actions:'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'More Actions: combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -981,8 +965,7 @@ sequence.append(utils.AssertPresentationAction(
     "98. Line Down",
     ["BRAILLE LINE:  'GNOME World  h3'",
      "     VISIBLE:  'GNOME World  h3', cursor=1",
-     "SPEECH OUTPUT: 'GNOME World'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'GNOME World heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -990,8 +973,7 @@ sequence.append(utils.AssertPresentationAction(
     "99. Line Down",
     ["BRAILLE LINE:  'Wide h3'",
      "     VISIBLE:  'Wide h3', cursor=1",
-     "SPEECH OUTPUT: 'Wide'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Wide heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
diff --git a/test/keystrokes/firefox/line_nav_wiki_up.py b/test/keystrokes/firefox/line_nav_wiki_up.py
index 7d93039..6b4f416 100644
--- a/test/keystrokes/firefox/line_nav_wiki_up.py
+++ b/test/keystrokes/firefox/line_nav_wiki_up.py
@@ -47,8 +47,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Line Up",
     ["BRAILLE LINE:  'Wide h3'",
      "     VISIBLE:  'Wide h3', cursor=1",
-     "SPEECH OUTPUT: 'Wide'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Wide heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -56,8 +55,7 @@ sequence.append(utils.AssertPresentationAction(
     "5. Line Up",
     ["BRAILLE LINE:  'GNOME World  h3'",
      "     VISIBLE:  'GNOME World  h3', cursor=1",
-     "SPEECH OUTPUT: 'GNOME World'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'GNOME World heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -65,8 +63,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Line Up",
     ["BRAILLE LINE:  'More Actions: combo box'",
      "     VISIBLE:  'More Actions: combo box', cursor=0",
-     "SPEECH OUTPUT: 'More Actions:'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'More Actions: combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -100,8 +97,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Line Up",
     ["BRAILLE LINE:  'Page h3'",
      "     VISIBLE:  'Page h3', cursor=1",
-     "SPEECH OUTPUT: 'Page'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'Page heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -118,8 +114,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Line Up",
     ["BRAILLE LINE:  'User h3'",
      "     VISIBLE:  'User h3', cursor=1",
-     "SPEECH OUTPUT: 'User'",
-     "SPEECH OUTPUT: 'heading level 3'"]))
+     "SPEECH OUTPUT: 'User heading level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -269,8 +264,7 @@ sequence.append(utils.AssertPresentationAction(
     "27. Line Up",
     ["BRAILLE LINE:  'More Information h1'",
      "     VISIBLE:  'More Information h1', cursor=1",
-     "SPEECH OUTPUT: 'More Information'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'More Information heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -297,8 +291,7 @@ sequence.append(utils.AssertPresentationAction(
     "30. Line Up",
     ["BRAILLE LINE:  'How Can I Help? h1'",
      "     VISIBLE:  'How Can I Help? h1', cursor=1",
-     "SPEECH OUTPUT: 'How Can I Help?'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'How Can I Help? heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -422,8 +415,7 @@ sequence.append(utils.AssertPresentationAction(
     "44. Line Up",
     ["BRAILLE LINE:  'Accessible Applications h1'",
      "     VISIBLE:  'Accessible Applications h1', cursor=1",
-     "SPEECH OUTPUT: 'Accessible Applications'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Accessible Applications heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -538,8 +530,7 @@ sequence.append(utils.AssertPresentationAction(
     "56. Line Up",
     ["BRAILLE LINE:  'Configuration/Use h1'",
      "     VISIBLE:  'Configuration/Use h1', cursor=1",
-     "SPEECH OUTPUT: 'Configuration/Use'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Configuration/Use heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -595,8 +586,7 @@ sequence.append(utils.AssertPresentationAction(
     "62. Line Up",
     ["BRAILLE LINE:  'Download/Installation h1'",
      "     VISIBLE:  'Download/Installation h1', cursor=1",
-     "SPEECH OUTPUT: 'Download/Installation'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Download/Installation heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -664,8 +654,7 @@ sequence.append(utils.AssertPresentationAction(
     "69. Line Up",
     ["BRAILLE LINE:  'Audio Guides h1'",
      "     VISIBLE:  'Audio Guides h1', cursor=1",
-     "SPEECH OUTPUT: 'Audio Guides'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Audio Guides heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -806,8 +795,7 @@ sequence.append(utils.AssertPresentationAction(
     "84. Line Up",
     ["BRAILLE LINE:  'About h1'",
      "     VISIBLE:  'About h1', cursor=1",
-     "SPEECH OUTPUT: 'About'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'About heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -913,8 +901,7 @@ sequence.append(utils.AssertPresentationAction(
     "95. Line Up",
     ["BRAILLE LINE:  'Orca Logo'",
      "     VISIBLE:  'Orca Logo', cursor=1",
-     "SPEECH OUTPUT: 'Orca Logo'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Orca Logo link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -922,8 +909,7 @@ sequence.append(utils.AssertPresentationAction(
     "96. Line Up",
     ["BRAILLE LINE:  'Welcome to Orca! h1'",
      "     VISIBLE:  'Welcome to Orca! h1', cursor=1",
-     "SPEECH OUTPUT: 'Welcome to Orca!'",
-     "SPEECH OUTPUT: 'heading level 1'"]))
+     "SPEECH OUTPUT: 'Welcome to Orca! heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -994,14 +980,10 @@ sequence.append(utils.AssertPresentationAction(
     "101. Line Up",
     ["BRAILLE LINE:  'live.gnome.org  h1 Search $l Titles push button Text push button'",
      "     VISIBLE:  'live.gnome.org  h1 Search $l Tit', cursor=1",
-     "SPEECH OUTPUT: 'live.gnome.org'",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Search'",
-     "SPEECH OUTPUT: 'Titles'",
-     "SPEECH OUTPUT: 'push button grayed'",
-     "SPEECH OUTPUT: 'Text'",
-     "SPEECH OUTPUT: 'push button grayed'"]))
+     "SPEECH OUTPUT: 'live.gnome.org heading level 1'",
+     "SPEECH OUTPUT: 'entry Search'",
+     "SPEECH OUTPUT: 'Titles push button grayed'",
+     "SPEECH OUTPUT: 'Text push button grayed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
diff --git a/test/keystrokes/firefox/longdesc_1.py b/test/keystrokes/firefox/longdesc_1.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_1.py
+++ b/test/keystrokes/firefox/longdesc_1.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_10.py b/test/keystrokes/firefox/longdesc_10.py
index 5ad34fb..8e38d46 100644
--- a/test/keystrokes/firefox/longdesc_10.py
+++ b/test/keystrokes/firefox/longdesc_10.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -27,8 +26,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: This test fails not because of longdesc, but because jumping to any anchor in a page is 
broken",
      "BRAILLE LINE:  'Fail if you land here h1'",
      "     VISIBLE:  'Fail if you land here h1', cursor=0",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Fail if you land here'"]))
+     "SPEECH OUTPUT: 'heading level 1 Fail if you land here'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_11.py b/test/keystrokes/firefox/longdesc_11.py
index 5ad34fb..8e38d46 100644
--- a/test/keystrokes/firefox/longdesc_11.py
+++ b/test/keystrokes/firefox/longdesc_11.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -27,8 +26,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: This test fails not because of longdesc, but because jumping to any anchor in a page is 
broken",
      "BRAILLE LINE:  'Fail if you land here h1'",
      "     VISIBLE:  'Fail if you land here h1', cursor=0",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Fail if you land here'"]))
+     "SPEECH OUTPUT: 'heading level 1 Fail if you land here'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_12.py b/test/keystrokes/firefox/longdesc_12.py
index df8f951..c4c3484 100644
--- a/test/keystrokes/firefox/longdesc_12.py
+++ b/test/keystrokes/firefox/longdesc_12.py
@@ -13,8 +13,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -28,8 +27,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_13.py b/test/keystrokes/firefox/longdesc_13.py
index 5aeee1c..649ce8b 100644
--- a/test/keystrokes/firefox/longdesc_13.py
+++ b/test/keystrokes/firefox/longdesc_13.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Use g to navigate to the image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=0",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -20,8 +19,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=0",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -36,8 +34,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: Braille and eyeballs suggest we're in the right place. Speech does not. The test case 
states the image is broken.",
      "BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=1",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'invalid'"]))
+     "SPEECH OUTPUT: 'the image invalid'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_14.py b/test/keystrokes/firefox/longdesc_14.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_14.py
+++ b/test/keystrokes/firefox/longdesc_14.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_15.py b/test/keystrokes/firefox/longdesc_15.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_15.py
+++ b/test/keystrokes/firefox/longdesc_15.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_2.py b/test/keystrokes/firefox/longdesc_2.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_2.py
+++ b/test/keystrokes/firefox/longdesc_2.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_3.py b/test/keystrokes/firefox/longdesc_3.py
index efca4d8..3043e0c 100644
--- a/test/keystrokes/firefox/longdesc_3.py
+++ b/test/keystrokes/firefox/longdesc_3.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -27,8 +26,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: This test fails not because of longdesc, but because jumping to any anchor in a page is 
broken",
      "BRAILLE LINE:  'Fail if you land here h1'",
      "     VISIBLE:  'Fail if you land here h1', cursor=1",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Fail if you land here'"]))
+     "SPEECH OUTPUT: 'heading level 1 Fail if you land here'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_7.py b/test/keystrokes/firefox/longdesc_7.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_7.py
+++ b/test/keystrokes/firefox/longdesc_7.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_8.py b/test/keystrokes/firefox/longdesc_8.py
index 505d4d0..3443a5f 100644
--- a/test/keystrokes/firefox/longdesc_8.py
+++ b/test/keystrokes/firefox/longdesc_8.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=0",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/longdesc_9.py b/test/keystrokes/firefox/longdesc_9.py
index 121560b..df19a07 100644
--- a/test/keystrokes/firefox/longdesc_9.py
+++ b/test/keystrokes/firefox/longdesc_9.py
@@ -11,8 +11,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Where Am I on image",
     ["BRAILLE LINE:  'the image image'",
      "     VISIBLE:  'the image image', cursor=(0|1)",
-     "SPEECH OUTPUT: 'the image'",
-     "SPEECH OUTPUT: 'image has long description'"]))
+     "SPEECH OUTPUT: 'the image image has long description'"]))
 
 sequence.append(PauseAction(3000))
 sequence.append(KeyComboAction("KP_Multiply"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Having selected View Description, do a Where Am I for new location",
     ["BRAILLE LINE:  'Pass h1'",
      "     VISIBLE:  'Pass h1', cursor=(0|1)",
-     "SPEECH OUTPUT: 'heading level 1'",
-     "SPEECH OUTPUT: 'Pass'"]))
+     "SPEECH OUTPUT: 'heading level 1 Pass'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/mouseover_javascript_alert.py 
b/test/keystrokes/firefox/mouseover_javascript_alert.py
index 2143a4a..f71baf3 100644
--- a/test/keystrokes/firefox/mouseover_javascript_alert.py
+++ b/test/keystrokes/firefox/mouseover_javascript_alert.py
@@ -21,8 +21,7 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Firefox application MouseOvers - Mozilla Firefox frame dialog OK push button'",
      "     VISIBLE:  'OK push button', cursor=1",
      "SPEECH OUTPUT: 'Welcome to mouseover-enabled Orca!'",
-     "SPEECH OUTPUT: 'OK'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'OK push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Escape"))
@@ -30,8 +29,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Escape to dismiss the dialog.",
     ["BRAILLE LINE:  'Orca Logo image'",
      "     VISIBLE:  'Orca Logo image', cursor=0",
-     "SPEECH OUTPUT: 'Orca Logo'",
-     "SPEECH OUTPUT: 'image'"]))
+     "SPEECH OUTPUT: 'Orca Logo image'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/say_all_imagemap.py b/test/keystrokes/firefox/say_all_imagemap.py
index dba8663..04365b1 100644
--- a/test/keystrokes/firefox/say_all_imagemap.py
+++ b/test/keystrokes/firefox/say_all_imagemap.py
@@ -71,7 +71,10 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: 'image'",
      "SPEECH OUTPUT: 'link'",
      "SPEECH OUTPUT: 'image'",
-     "SPEECH OUTPUT: 'image'",
+     "SPEECH OUTPUT: 'shop.safeway.com'",
+     "SPEECH OUTPUT: 'image map link'",
+     "SPEECH OUTPUT: 'Rancher's Reserve'",
+     "SPEECH OUTPUT: 'image map link'",
      "SPEECH OUTPUT: 'image'"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/say_all_role_lists.py b/test/keystrokes/firefox/say_all_role_lists.py
index fd4e729..5e9adc7 100644
--- a/test/keystrokes/firefox/say_all_role_lists.py
+++ b/test/keystrokes/firefox/say_all_role_lists.py
@@ -27,7 +27,6 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: '50.Though you can set the value in a list item!'",
      "SPEECH OUTPUT: 'Unordered list:'",
      "SPEECH OUTPUT: '•listing item'",
-     "SPEECH OUTPUT: 'tree level 1'",
      "SPEECH OUTPUT: '◦first sublevel'",
      "SPEECH OUTPUT: '▪look for the bullet on'",
      "SPEECH OUTPUT: '▪each sublevel'",
@@ -37,7 +36,6 @@ sequence.append(utils.AssertPresentationAction(
      "SPEECH OUTPUT: '◦if your TYPE is circle'",
      "SPEECH OUTPUT: '•or even a disc'",
      "SPEECH OUTPUT: '▪Franz Liszt'",
-     "SPEECH OUTPUT: 'tree level 1'",
      "SPEECH OUTPUT: '◦was a composer who was not square'",
      "SPEECH OUTPUT: '•would have liked the Who'",
      "SPEECH OUTPUT: '◦feeling listless'",
diff --git a/test/keystrokes/firefox/ui_doc_tabs.py b/test/keystrokes/firefox/ui_doc_tabs.py
index 928ed47..7ca0f84 100644
--- a/test/keystrokes/firefox/ui_doc_tabs.py
+++ b/test/keystrokes/firefox/ui_doc_tabs.py
@@ -17,10 +17,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Orca - GNOME Live! page tab', cursor=1",
      "BRAILLE LINE:  'Home'",
      "     VISIBLE:  'Home', cursor=0",
-     "SPEECH OUTPUT: 'Orca - GNOME Live!'",
-     "SPEECH OUTPUT: 'page tab'",
-     "SPEECH OUTPUT: 'Home'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Orca - GNOME Live! page tab'",
+     "SPEECH OUTPUT: 'Home link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Alt>1"))
@@ -30,10 +28,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'HTML test page page tab', cursor=1",
      "BRAILLE LINE:  'Test Formats'",
      "     VISIBLE:  'Test Formats', cursor=0",
-     "SPEECH OUTPUT: 'HTML test page'",
-     "SPEECH OUTPUT: 'page tab'",
-     "SPEECH OUTPUT: 'Test Formats'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'HTML test page page tab'",
+     "SPEECH OUTPUT: 'Test Formats link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Alt>3"))
@@ -45,10 +41,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  ' $l Show push button [Help]', cursor=0",
      "BRAILLE LINE:  'Focus mode'",
      "     VISIBLE:  'Focus mode', cursor=0",
-     "SPEECH OUTPUT: 'GNOME Bug Tracking System'",
-     "SPEECH OUTPUT: 'page tab'",
-     "SPEECH OUTPUT: 'Enter a bug # or some search terms:'",
-     "SPEECH OUTPUT: 'entry'",
+     "SPEECH OUTPUT: 'GNOME Bug Tracking System page tab'",
+     "SPEECH OUTPUT: 'Enter a bug # or some search terms: entry'",
      "SPEECH OUTPUT: 'Focus mode' voice=system"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -61,10 +55,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Orca - GNOME Live! page tab', cursor=1",
      "BRAILLE LINE:  'Home'",
      "     VISIBLE:  'Home', cursor=0",
-     "SPEECH OUTPUT: 'Orca - GNOME Live!'",
-     "SPEECH OUTPUT: 'page tab'",
-     "SPEECH OUTPUT: 'Home'",
-     "SPEECH OUTPUT: 'link'"]))
+     "SPEECH OUTPUT: 'Orca - GNOME Live! page tab'",
+     "SPEECH OUTPUT: 'Home link'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/ui_role_accel_label.py b/test/keystrokes/firefox/ui_role_accel_label.py
index 2f6f844..67add73 100644
--- a/test/keystrokes/firefox/ui_role_accel_label.py
+++ b/test/keystrokes/firefox/ui_role_accel_label.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Down Arrow in File menu",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar New 
Window(Ctrl+N)'",
      "     VISIBLE:  'New Window(Ctrl+N)', cursor=1",
-     "SPEECH OUTPUT: 'New Window'",
-     "SPEECH OUTPUT: 'Ctrl+N'"]))
+     "SPEECH OUTPUT: 'New Window Ctrl+N'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -24,8 +23,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Down Arrow in File menu",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar New 
Private Window(Shift+Ctrl+P)'",
      "     VISIBLE:  'New Private Window(Shift+Ctrl+P)', cursor=1",
-     "SPEECH OUTPUT: 'New Private Window'",
-     "SPEECH OUTPUT: 'Shift+Ctrl+P'"]))
+     "SPEECH OUTPUT: 'New Private Window Shift+Ctrl+P'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -33,12 +31,8 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar New 
Private Window(Shift+Ctrl+P)'",
      "     VISIBLE:  'New Private Window(Shift+Ctrl+P)', cursor=1",
-     "SPEECH OUTPUT: 'Menu Bar'",
-     "SPEECH OUTPUT: 'File'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'tool bar'",
-     "SPEECH OUTPUT: 'New Private Window'",
-     "SPEECH OUTPUT: 'Shift+Ctrl+P 3 of 12.'",
+     "SPEECH OUTPUT: 'File menu'",
+     "SPEECH OUTPUT: 'Menu Bar tool bar New Private Window Shift+Ctrl+P 3 of 12.'",
      "SPEECH OUTPUT: 'W'"]))
 
 sequence.append(utils.AssertionSummaryAction())
diff --git a/test/keystrokes/firefox/ui_role_check_box.py b/test/keystrokes/firefox/ui_role_check_box.py
index 084cad2..497460a 100644
--- a/test/keystrokes/firefox/ui_role_check_box.py
+++ b/test/keystrokes/firefox/ui_role_check_box.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Right Arrow to Page Setup",
     ["BRAILLE LINE:  'Firefox application Print dialog Page Setup page tab'",
      "     VISIBLE:  'Page Setup page tab', cursor=1",
-     "SPEECH OUTPUT: 'Page Setup'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Page Setup page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Right Arrow to Options",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab'",
      "     VISIBLE:  'Options page tab', cursor=1",
-     "SPEECH OUTPUT: 'Options'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Options page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -35,8 +33,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Tab to checkbox",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab <x> Ignore Scaling and Shrink To Fit 
Page Width check box'",
      "     VISIBLE:  '<x> Ignore Scaling and Shrink To', cursor=1",
-     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width'",
-     "SPEECH OUTPUT: 'check box checked'"]))
+     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width check box checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -44,8 +41,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab <x> Ignore Scaling and Shrink To Fit 
Page Width check box'",
      "     VISIBLE:  '<x> Ignore Scaling and Shrink To', cursor=1",
-     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width'",
-     "SPEECH OUTPUT: 'check box checked.'",
+     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width check box checked.'",
      "SPEECH OUTPUT: 'Alt+H'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -62,8 +58,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab < > Ignore Scaling and Shrink To Fit 
Page Width check box'",
      "     VISIBLE:  '< > Ignore Scaling and Shrink To', cursor=1",
-     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width'",
-     "SPEECH OUTPUT: 'check box not checked.'",
+     "SPEECH OUTPUT: 'Ignore Scaling and Shrink To Fit Page Width check box not checked.'",
      "SPEECH OUTPUT: 'Alt+H'"]))
 
 sequence.append(utils.StartRecordingAction())
diff --git a/test/keystrokes/firefox/ui_role_check_menu_item.py 
b/test/keystrokes/firefox/ui_role_check_menu_item.py
index a2736dd..9db44de 100644
--- a/test/keystrokes/firefox/ui_role_check_menu_item.py
+++ b/test/keystrokes/firefox/ui_role_check_menu_item.py
@@ -15,8 +15,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Up Arrow in View menu",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar < > 
Full Screen check menu item'",
      "     VISIBLE:  '< > Full Screen check menu item', cursor=1",
-     "SPEECH OUTPUT: 'Full Screen'",
-     "SPEECH OUTPUT: 'check menu item not checked'"]))
+     "SPEECH OUTPUT: 'Full Screen check menu item not checked'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -24,12 +23,8 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar < > 
Full Screen check menu item'",
      "     VISIBLE:  '< > Full Screen check menu item', cursor=1",
-     "SPEECH OUTPUT: 'Menu Bar'",
-     "SPEECH OUTPUT: 'View'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'tool bar'",
-     "SPEECH OUTPUT: 'Full Screen'",
-     "SPEECH OUTPUT: 'check menu item not checked 6 of 6.'",
+     "SPEECH OUTPUT: 'View menu'",
+     "SPEECH OUTPUT: 'Menu Bar tool bar Full Screen check menu item not checked 6 of 6.'",
      "SPEECH OUTPUT: 'F'"]))
 
 sequence.append(KeyComboAction("Escape"))
diff --git a/test/keystrokes/firefox/ui_role_combo_box.py b/test/keystrokes/firefox/ui_role_combo_box.py
index 8549f0e..e2abc5b 100644
--- a/test/keystrokes/firefox/ui_role_combo_box.py
+++ b/test/keystrokes/firefox/ui_role_combo_box.py
@@ -17,10 +17,8 @@ sequence.append(utils.AssertPresentationAction(
     "1. Tab to combobox",
     ["BRAILLE LINE:  'Firefox application Firefox Preferences dialog Startup When Firefox starts: Show a 
blank page combo box'",
      "     VISIBLE:  'When Firefox starts: Show a blan', cursor=22",
-     "SPEECH OUTPUT: 'Startup'",
-     "SPEECH OUTPUT: 'panel'",
-     "SPEECH OUTPUT: 'When Firefox starts: Show a blank page'",
-     "SPEECH OUTPUT: 'combo box'"]))
+     "SPEECH OUTPUT: 'Startup panel'",
+     "SPEECH OUTPUT: 'When Firefox starts: Show a blank page combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -69,8 +67,7 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'When Firefox starts: Show a blan', cursor=22",
      "BRAILLE LINE:  'Firefox application Firefox Preferences dialog Startup When Firefox starts: Show a 
blank page combo box'",
      "     VISIBLE:  'When Firefox starts: Show a blan', cursor=22",
-     "SPEECH OUTPUT: 'When Firefox starts: Show a blank page'",
-     "SPEECH OUTPUT: 'combo box'",
+     "SPEECH OUTPUT: 'When Firefox starts: Show a blank page combo box'",
      "SPEECH OUTPUT: 'collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -97,13 +94,10 @@ sequence.append(utils.AssertPresentationAction(
      "BRAILLE LINE:  'Firefox application Firefox Preferences dialog Startup When Firefox starts: Show a 
blank page combo box'",
      "     VISIBLE:  'When Firefox starts: Show a blan', cursor=22",
      "SPEECH OUTPUT: 'Firefox Preferences'",
-     "SPEECH OUTPUT: 'Startup'",
-     "SPEECH OUTPUT: 'panel'",
+     "SPEECH OUTPUT: 'Startup panel'",
      "SPEECH OUTPUT: 'collapsed'",
-     "SPEECH OUTPUT: 'Show a blank page'",
-     "SPEECH OUTPUT: 'combo box'",
-     "SPEECH OUTPUT: 'Show a blank page'",
-     "SPEECH OUTPUT: '1 of 2'"]))
+     "SPEECH OUTPUT: 'Show a blank page combo box'",
+     "SPEECH OUTPUT: 'Show a blank page 1 of 2'"]))
 
 sequence.append(KeyComboAction("Escape"))
 
diff --git a/test/keystrokes/firefox/ui_role_entry.py b/test/keystrokes/firefox/ui_role_entry.py
index 7f61db2..9834a1c 100644
--- a/test/keystrokes/firefox/ui_role_entry.py
+++ b/test/keystrokes/firefox/ui_role_entry.py
@@ -108,9 +108,7 @@ sequence.append(utils.AssertPresentationAction(
     ["KNOWN ISSUE: The mnemonic seems to have gone missing",
      "BRAILLE LINE:  'Firefox application New Bookmark dialog Name: this s  $l'",
      "     VISIBLE:  'Name: this s  $l', cursor=12",
-     "SPEECH OUTPUT: 'Name:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'this s '"]))
+     "SPEECH OUTPUT: 'Name: entry this s '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("<Alt>d"))
@@ -118,8 +116,7 @@ sequence.append(utils.AssertPresentationAction(
     "10. Alt+D to Description",
     ["BRAILLE LINE:  'Description:  $l'",
      "     VISIBLE:  'Description:  $l', cursor=14",
-     "SPEECH OUTPUT: 'Description:'",
-     "SPEECH OUTPUT: 'entry'"]))
+     "SPEECH OUTPUT: 'Description: entry'"]))
 
 sequence.append(TypeAction("Here is the first line."))
 sequence.append(KeyComboAction("Return"))
@@ -147,9 +144,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Basic Where Am I",
     ["BRAILLE LINE:  'Description: Here is the second line. $l'",
      "     VISIBLE:  'ption: Here is the second line. ', cursor=32",
-     "SPEECH OUTPUT: 'Description:'",
-     "SPEECH OUTPUT: 'entry'",
-     "SPEECH OUTPUT: 'Here is the second line.'"]))
+     "SPEECH OUTPUT: 'Description: entry Here is the second line.'"]))
 
 sequence.append(utils.AssertionSummaryAction())
 sequence.start()
diff --git a/test/keystrokes/firefox/ui_role_list_item.py b/test/keystrokes/firefox/ui_role_list_item.py
index 30a1e00..9975f93 100644
--- a/test/keystrokes/firefox/ui_role_list_item.py
+++ b/test/keystrokes/firefox/ui_role_list_item.py
@@ -37,9 +37,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Firefox Preferences dialog General list box General'",
      "     VISIBLE:  'General', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'General'",
-     "SPEECH OUTPUT: '1 of 8'"]))
+     "SPEECH OUTPUT: 'list item General 1 of 8'"]))
 
 sequence.append(KeyComboAction("Escape"))
 
diff --git a/test/keystrokes/firefox/ui_role_menu_bar.py b/test/keystrokes/firefox/ui_role_menu_bar.py
index c60b9cb..29704fe 100644
--- a/test/keystrokes/firefox/ui_role_menu_bar.py
+++ b/test/keystrokes/firefox/ui_role_menu_bar.py
@@ -17,10 +17,8 @@ sequence.append(utils.AssertPresentationAction(
      "     VISIBLE:  'Edit menu', cursor=1",
      "BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar Undo 
grayed(Ctrl+Z)'",
      "     VISIBLE:  'Undo grayed(Ctrl+Z)', cursor=1",
-     "SPEECH OUTPUT: 'Edit'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'Undo'",
-     "SPEECH OUTPUT: 'grayed Ctrl+Z'"]))
+     "SPEECH OUTPUT: 'Edit menu'",
+     "SPEECH OUTPUT: 'Undo grayed Ctrl+Z'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
@@ -28,10 +26,8 @@ sequence.append(utils.AssertPresentationAction(
     "2. Left Arrow on menu bar",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar New 
Tab(Ctrl+T)'",
      "     VISIBLE:  'New Tab(Ctrl+T)', cursor=1",
-     "SPEECH OUTPUT: 'File'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'New Tab'",
-     "SPEECH OUTPUT: 'Ctrl+T'"]))
+     "SPEECH OUTPUT: 'File menu'",
+     "SPEECH OUTPUT: 'New Tab Ctrl+T'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -39,12 +35,8 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar New 
Tab(Ctrl+T)'",
      "     VISIBLE:  'New Tab(Ctrl+T)', cursor=1",
-     "SPEECH OUTPUT: 'Menu Bar'",
-     "SPEECH OUTPUT: 'File'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'tool bar'",
-     "SPEECH OUTPUT: 'New Tab'",
-     "SPEECH OUTPUT: 'Ctrl+T 1 of 12.'",
+     "SPEECH OUTPUT: 'File menu'",
+     "SPEECH OUTPUT: 'Menu Bar tool bar New Tab Ctrl+T 1 of 12.'",
      "SPEECH OUTPUT: 'T'"]))
 
 sequence.append(KeyComboAction("Escape"))
diff --git a/test/keystrokes/firefox/ui_role_page_tab.py b/test/keystrokes/firefox/ui_role_page_tab.py
index d26318b..451e222 100644
--- a/test/keystrokes/firefox/ui_role_page_tab.py
+++ b/test/keystrokes/firefox/ui_role_page_tab.py
@@ -17,8 +17,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Right Arrow to next page tab",
     ["BRAILLE LINE:  'Firefox application Print dialog Page Setup page tab'",
      "     VISIBLE:  'Page Setup page tab', cursor=1",
-     "SPEECH OUTPUT: 'Page Setup'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Page Setup page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -26,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Right Arrow to next page tab",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab'",
      "     VISIBLE:  'Options page tab', cursor=1",
-     "SPEECH OUTPUT: 'Options'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Options page tab'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -35,9 +33,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Print dialog Options page tab'",
      "     VISIBLE:  'Options page tab', cursor=1",
-     "SPEECH OUTPUT: 'page tab list'",
-     "SPEECH OUTPUT: 'Options'",
-     "SPEECH OUTPUT: 'page tab 3 of 5'"]))
+     "SPEECH OUTPUT: 'page tab list Options page tab 3 of 5'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
@@ -45,8 +41,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Left Arrow to previous page tab",
     ["BRAILLE LINE:  'Firefox application Print dialog Page Setup page tab'",
      "     VISIBLE:  'Page Setup page tab', cursor=1",
-     "SPEECH OUTPUT: 'Page Setup'",
-     "SPEECH OUTPUT: 'page tab'"]))
+     "SPEECH OUTPUT: 'Page Setup page tab'"]))
 
 sequence.append(KeyComboAction("Escape"))
 
diff --git a/test/keystrokes/firefox/ui_role_push_button.py b/test/keystrokes/firefox/ui_role_push_button.py
index 5f8e5d9..6edb5a4 100644
--- a/test/keystrokes/firefox/ui_role_push_button.py
+++ b/test/keystrokes/firefox/ui_role_push_button.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Shift+Tab to button",
     ["BRAILLE LINE:  'Firefox application Print dialog Print push button'",
      "     VISIBLE:  'Print push button', cursor=1",
-     "SPEECH OUTPUT: 'Print'",
-     "SPEECH OUTPUT: 'push button'"]))
+     "SPEECH OUTPUT: 'Print push button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -25,8 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Print dialog Print push button'",
      "     VISIBLE:  'Print push button', cursor=1",
-     "SPEECH OUTPUT: 'Print'",
-     "SPEECH OUTPUT: 'push button.'",
+     "SPEECH OUTPUT: 'Print push button.'",
      "SPEECH OUTPUT: 'Alt+P'"]))
 
 sequence.append(TypeAction("Escape"))
diff --git a/test/keystrokes/firefox/ui_role_radio_button.py b/test/keystrokes/firefox/ui_role_radio_button.py
index 4bf2c31..9c86cdf 100644
--- a/test/keystrokes/firefox/ui_role_radio_button.py
+++ b/test/keystrokes/firefox/ui_role_radio_button.py
@@ -16,10 +16,8 @@ sequence.append(utils.AssertPresentationAction(
     "1. Alt a to radio button group",
     ["BRAILLE LINE:  'Firefox application Print dialog General page tab &=y All Pages radio button'",
      "     VISIBLE:  '&=y All Pages radio button', cursor=1",
-     "SPEECH OUTPUT: 'General'",
-     "SPEECH OUTPUT: 'page tab'",
-     "SPEECH OUTPUT: 'All Pages'",
-     "SPEECH OUTPUT: 'selected radio button'"]))
+     "SPEECH OUTPUT: 'General page tab'",
+     "SPEECH OUTPUT: 'All Pages selected radio button'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -27,8 +25,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Print dialog General page tab &=y All Pages radio button'",
      "     VISIBLE:  '&=y All Pages radio button', cursor=1",
-     "SPEECH OUTPUT: 'All Pages'",
-     "SPEECH OUTPUT: 'radio button selected 1 of 4.'",
+     "SPEECH OUTPUT: 'All Pages radio button selected 1 of 4.'",
      "SPEECH OUTPUT: 'Alt+A'"]))
 
 sequence.append(KeyComboAction("Escape"))
diff --git a/test/keystrokes/firefox/ui_role_radio_menu_item.py 
b/test/keystrokes/firefox/ui_role_radio_menu_item.py
index 722db80..2db892b 100644
--- a/test/keystrokes/firefox/ui_role_radio_menu_item.py
+++ b/test/keystrokes/firefox/ui_role_radio_menu_item.py
@@ -15,10 +15,8 @@ sequence.append(utils.AssertPresentationAction(
     "1. y for the Page Style menu",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar View 
menu & y No Style radio menu item'",
      "     VISIBLE:  '& y No Style radio menu item', cursor=1",
-     "SPEECH OUTPUT: 'Page Style'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'No Style'",
-     "SPEECH OUTPUT: 'not selected radio menu item'"]))
+     "SPEECH OUTPUT: 'Page Style menu'",
+     "SPEECH OUTPUT: 'No Style not selected radio menu item'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -26,14 +24,9 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar View 
menu & y No Style radio menu item'",
      "     VISIBLE:  '& y No Style radio menu item', cursor=1",
-     "SPEECH OUTPUT: 'Menu Bar'",
-     "SPEECH OUTPUT: 'View'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'Page Style'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'tool bar'",
-     "SPEECH OUTPUT: 'No Style'",
-     "SPEECH OUTPUT: 'radio menu item not selected 1 of 2.'",
+     "SPEECH OUTPUT: 'View menu'",
+     "SPEECH OUTPUT: 'Page Style menu'",
+     "SPEECH OUTPUT: 'Menu Bar tool bar No Style radio menu item not selected 1 of 2.'",
      "SPEECH OUTPUT: 'N'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -42,8 +35,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Down Arrow in menu",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar View 
menu &=y Basic Page Style radio menu item'",
      "     VISIBLE:  '&=y Basic Page Style radio menu ', cursor=1",
-     "SPEECH OUTPUT: 'Basic Page Style'",
-     "SPEECH OUTPUT: 'selected radio menu item'"]))
+     "SPEECH OUTPUT: 'Basic Page Style selected radio menu item'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -51,14 +43,9 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Mozilla Firefox frame Menu Bar tool bar Application menu bar View 
menu &=y Basic Page Style radio menu item'",
      "     VISIBLE:  '&=y Basic Page Style radio menu ', cursor=1",
-     "SPEECH OUTPUT: 'Menu Bar'",
-     "SPEECH OUTPUT: 'View'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'Page Style'",
-     "SPEECH OUTPUT: 'menu'",
-     "SPEECH OUTPUT: 'tool bar'",
-     "SPEECH OUTPUT: 'Basic Page Style'",
-     "SPEECH OUTPUT: 'radio menu item selected 2 of 2.'",
+     "SPEECH OUTPUT: 'View menu'",
+     "SPEECH OUTPUT: 'Page Style menu'",
+     "SPEECH OUTPUT: 'Menu Bar tool bar Basic Page Style radio menu item selected 2 of 2.'",
      "SPEECH OUTPUT: 'B'"]))
 
 sequence.append(KeyComboAction("Escape"))
diff --git a/test/keystrokes/firefox/ui_role_tree.py b/test/keystrokes/firefox/ui_role_tree.py
index 7e6a8ee..c39ce21 100644
--- a/test/keystrokes/firefox/ui_role_tree.py
+++ b/test/keystrokes/firefox/ui_role_tree.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Shift Tab for tree",
     ["BRAILLE LINE:  'Firefox application Library frame All Bookmarks expanded list item TREE LEVEL 1'",
      "     VISIBLE:  'All Bookmarks expanded list item', cursor=1",
-     "SPEECH OUTPUT: 'All Bookmarks'",
-     "SPEECH OUTPUT: 'expanded'"]))
+     "SPEECH OUTPUT: 'All Bookmarks expanded'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -25,8 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Down Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Toolbar collapsed list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Toolbar collapsed list', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Toolbar'",
-     "SPEECH OUTPUT: 'collapsed tree level 2'"]))
+     "SPEECH OUTPUT: 'Bookmarks Toolbar collapsed tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -34,8 +32,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Down Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Menu collapsed list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Menu collapsed list it', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Menu'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Bookmarks Menu collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -43,9 +40,7 @@ sequence.append(utils.AssertPresentationAction(
     "4. Basic Where Am I", 
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Menu collapsed list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Menu collapsed list it', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'Bookmarks Menu'",
-     "SPEECH OUTPUT: '2 of 3 collapsed tree level 2'"]))
+     "SPEECH OUTPUT: 'list item Bookmarks Menu 2 of 3 collapsed tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
@@ -61,9 +56,7 @@ sequence.append(utils.AssertPresentationAction(
     "6. Basic Where Am I", 
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Menu expanded list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Menu expanded list ite', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'Bookmarks Menu'",
-     "SPEECH OUTPUT: '2 of 3 expanded tree level 2'"]))
+     "SPEECH OUTPUT: 'list item Bookmarks Menu 2 of 3 expanded tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
@@ -71,8 +64,7 @@ sequence.append(utils.AssertPresentationAction(
     "7. Down Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame Recently Bookmarked list item TREE LEVEL 3'",
      "     VISIBLE:  'Recently Bookmarked list item TR', cursor=1",
-     "SPEECH OUTPUT: 'Recently Bookmarked'",
-     "SPEECH OUTPUT: 'tree level 3'"]))
+     "SPEECH OUTPUT: 'Recently Bookmarked tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -80,9 +72,7 @@ sequence.append(utils.AssertPresentationAction(
     "8. Basic Where Am I", 
     ["BRAILLE LINE:  'Firefox application Library frame Recently Bookmarked list item TREE LEVEL 3'",
      "     VISIBLE:  'Recently Bookmarked list item TR', cursor=1",
-     "SPEECH OUTPUT: 'list item'",
-     "SPEECH OUTPUT: 'Recently Bookmarked'",
-     "SPEECH OUTPUT: '1 of 4 tree level 3'"]))
+     "SPEECH OUTPUT: 'list item Recently Bookmarked 1 of 4 tree level 3'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -90,8 +80,7 @@ sequence.append(utils.AssertPresentationAction(
     "9. Up Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Menu expanded list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Menu expanded list ite', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Menu'",
-     "SPEECH OUTPUT: 'expanded tree level 2'"]))
+     "SPEECH OUTPUT: 'Bookmarks Menu expanded tree level 2'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
@@ -107,8 +96,7 @@ sequence.append(utils.AssertPresentationAction(
     "11. Up Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame Bookmarks Toolbar collapsed list item TREE LEVEL 2'",
      "     VISIBLE:  'Bookmarks Toolbar collapsed list', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Toolbar'",
-     "SPEECH OUTPUT: 'collapsed'"]))
+     "SPEECH OUTPUT: 'Bookmarks Toolbar collapsed'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -116,8 +104,7 @@ sequence.append(utils.AssertPresentationAction(
     "12. Up Arrow in tree",
     ["BRAILLE LINE:  'Firefox application Library frame All Bookmarks expanded list item TREE LEVEL 1'",
      "     VISIBLE:  'All Bookmarks expanded list item', cursor=1",
-     "SPEECH OUTPUT: 'All Bookmarks'",
-     "SPEECH OUTPUT: 'expanded tree level 1'"]))
+     "SPEECH OUTPUT: 'All Bookmarks expanded tree level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Tab"))
@@ -125,8 +112,7 @@ sequence.append(utils.AssertPresentationAction(
     "13. Tab back to tree table",
     ["BRAILLE LINE:  'Firefox application Library frame tree table Tags column header Bookmarks Toolbar   
table row TREE LEVEL 1'",
      "     VISIBLE:  'Bookmarks Toolbar   table row TR', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Toolbar  '",
-     "SPEECH OUTPUT: 'table row'"]))
+     "SPEECH OUTPUT: 'Bookmarks Toolbar   table row'"]))
 
 sequence.append(KeyComboAction("<Alt>F4"))
 
diff --git a/test/keystrokes/firefox/ui_role_tree_table.py b/test/keystrokes/firefox/ui_role_tree_table.py
index 87b8d93..d6f3667 100644
--- a/test/keystrokes/firefox/ui_role_tree_table.py
+++ b/test/keystrokes/firefox/ui_role_tree_table.py
@@ -16,8 +16,7 @@ sequence.append(utils.AssertPresentationAction(
     "1. Down Arrow in tree table",
     ["BRAILLE LINE:  'Firefox application Library frame tree table Location column header Bookmarks Menu   
table row TREE LEVEL 1'",
      "     VISIBLE:  'Bookmarks Menu   table row TREE ', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Menu  '",
-     "SPEECH OUTPUT: 'table row'"]))
+     "SPEECH OUTPUT: 'Bookmarks Menu   table row'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
@@ -25,8 +24,7 @@ sequence.append(utils.AssertPresentationAction(
     "2. Basic Where Am I",
     ["BRAILLE LINE:  'Firefox application Library frame tree table Location column header Bookmarks Menu   
table row TREE LEVEL 1'",
      "     VISIBLE:  'Bookmarks Menu   table row TREE ', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Menu  '",
-     "SPEECH OUTPUT: 'table row'"]))
+     "SPEECH OUTPUT: 'Bookmarks Menu   table row'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
@@ -34,8 +32,7 @@ sequence.append(utils.AssertPresentationAction(
     "3. Up Arrow in tree table",
     ["BRAILLE LINE:  'Firefox application Library frame tree table Tags column header Bookmarks Toolbar   
table row TREE LEVEL 1'",
      "     VISIBLE:  'Bookmarks Toolbar   table row TR', cursor=1",
-     "SPEECH OUTPUT: 'Bookmarks Toolbar  '",
-     "SPEECH OUTPUT: 'table row'"]))
+     "SPEECH OUTPUT: 'Bookmarks Toolbar   table row'"]))
 
 sequence.append(KeyComboAction("<Alt>F4"))
 


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