Index: test/keystrokes/firefox/moz_menu.py
===================================================================
--- test/keystrokes/firefox/moz_menu.py	(revision 4153)
+++ test/keystrokes/firefox/moz_menu.py	(working copy)
@@ -71,7 +71,7 @@
 sequence.append(utils.AssertPresentationAction(
     "Move to Themes", 
     ["BRAILLE LINE:  'Themes          >'",
-     "     VISIBLE:  'Themes          >', cursor=0",
+     "     VISIBLE:  'Themes          >', cursor=(0|1)",
      "BRAILLE LINE:  'Themes          >'",
      "     VISIBLE:  'Themes          >', cursor=1",
      "SPEECH OUTPUT: ''",
@@ -85,7 +85,7 @@
 sequence.append(utils.AssertPresentationAction(
     "Move to basic grey", 
     ["BRAILLE LINE:  'Basic Grey'",
-     "     VISIBLE:  'Basic Grey', cursor=0",
+     "     VISIBLE:  'Basic Grey', cursor=(0|1)",
      "BRAILLE LINE:  'Basic Grey'",
      "     VISIBLE:  'Basic Grey', cursor=1",
      "SPEECH OUTPUT: ''",
@@ -171,7 +171,7 @@
 sequence.append(utils.AssertPresentationAction(
     "Move to one", 
     ["BRAILLE LINE:  'one'",
-     "     VISIBLE:  'one', cursor=0",
+     "     VISIBLE:  'one', cursor=(0|1)",
      "BRAILLE LINE:  'one'",
      "     VISIBLE:  'one', cursor=1",
      "SPEECH OUTPUT: ''",
Index: test/keystrokes/firefox/xul_role_radio_button.py
===================================================================
--- test/keystrokes/firefox/xul_role_radio_button.py	(revision 4153)
+++ test/keystrokes/firefox/xul_role_radio_button.py	(working copy)
@@ -28,10 +28,11 @@
 sequence.append(KeyComboAction("<Alt>a"))
 sequence.append(utils.AssertPresentationAction(
     "Alt a to radio button group",
-    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Print Pages Filler &=y All RadioButton'",
-     "     VISIBLE:  '&=y All RadioButton', cursor=1",
-     "SPEECH OUTPUT: 'Print Pages'",
-     "SPEECH OUTPUT: 'All selected radio button'"]))
+    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Range Filler &=y All Pages RadioButton'",
+     "     VISIBLE:  '&=y All Pages RadioButton', cursor=1",
+     "SPEECH OUTPUT: 'Range'",
+     "SPEECH OUTPUT: 'General Page'",
+     "SPEECH OUTPUT: 'All Pages selected radio button'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter. 
@@ -41,10 +42,10 @@
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Basic Where Am I", 
-    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Print Pages Filler &=y All RadioButton'",
-     "     VISIBLE:  '&=y All RadioButton', cursor=1",
-     "SPEECH OUTPUT: 'Print Pages'",
-     "SPEECH OUTPUT: 'All radio button'",
+    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Range Filler &=y All Pages RadioButton'",
+     "     VISIBLE:  '&=y All Pages RadioButton', cursor=1",
+     "SPEECH OUTPUT: 'Range'",
+     "SPEECH OUTPUT: 'All Pages radio button'",
      "SPEECH OUTPUT: 'selected'",
      "SPEECH OUTPUT: 'item 1 of 3'",
      "SPEECH OUTPUT: 'Alt a'"]))
@@ -56,10 +57,10 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Down Arrow to next radio button",
-    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Print Pages Filler & y Range RadioButton'",
-     "     VISIBLE:  '& y Range RadioButton', cursor=1",
+    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Range Filler & y Pages: RadioButton'",
+     "     VISIBLE:  '& y Pages: RadioButton', cursor=1",
      "SPEECH OUTPUT: ''",
-     "SPEECH OUTPUT: 'Range not selected radio button'"]))
+     "SPEECH OUTPUT: 'Pages: not selected radio button'"]))
 
 ########################################################################
 # Do a basic "Where Am I" via KP_Enter. 
@@ -69,13 +70,13 @@
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Basic Where Am I", 
-    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Print Pages Filler &=y Range RadioButton'",
-     "     VISIBLE:  '&=y Range RadioButton', cursor=1",
-     "SPEECH OUTPUT: 'Print Pages'",
-     "SPEECH OUTPUT: 'Range radio button'",
+    ["BRAILLE LINE:  'Minefield Application Print Dialog TabList General Page Range Filler &=y Pages: RadioButton'",
+     "     VISIBLE:  '&=y Pages: RadioButton', cursor=1",
+     "SPEECH OUTPUT: 'Range'",
+     "SPEECH OUTPUT: 'Pages: radio button'",
      "SPEECH OUTPUT: 'selected'",
      "SPEECH OUTPUT: 'item 3 of 3'",
-     "SPEECH OUTPUT: 'Alt n'"]))
+     "SPEECH OUTPUT: 'Alt e'"]))
 
 ########################################################################
 # Dismiss the dialog by pressing Escape and wait for the location bar
Index: test/keystrokes/firefox/xul_role_list_item.py
===================================================================
--- test/keystrokes/firefox/xul_role_list_item.py	(revision 4153)
+++ test/keystrokes/firefox/xul_role_list_item.py	(working copy)
@@ -38,7 +38,8 @@
 sequence.append(KeyComboAction("Right"))
 sequence.append(utils.AssertPresentationAction(
     "Right Arrow in list",
-    ["BRAILLE LINE:  'Minefield Application Minefield Preferences Frame List Content ListItem'",
+    ["BUG? - Sometimes way say 'Size:' and 'Default font:'; sometimes we don't. Seems to be a timing thing.",
+     "BRAILLE LINE:  'Minefield Application Minefield Preferences Frame List Content ListItem'",
      "     VISIBLE:  'Content ListItem', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Content'",
Index: test/keystrokes/firefox/label_guess_bugzilla_search.py
===================================================================
--- test/keystrokes/firefox/label_guess_bugzilla_search.py	(revision 4153)
+++ test/keystrokes/firefox/label_guess_bugzilla_search.py	(working copy)
@@ -182,7 +182,7 @@
 sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
 sequence.append(utils.AssertPresentationAction(
     "Next form field", 
-    ["BRAILLE LINE:  'Keywords Link : contains all of the keywords Combo  $l'",
+    ["BRAILLE LINE:  'Keywords : contains all of the keywords Combo  $l'",
      "     VISIBLE:  'contains all of the keywords Com', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Keywords contains all of the keywords combo box'"]))
@@ -194,7 +194,7 @@
 sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_ENTRY))
 sequence.append(utils.AssertPresentationAction(
     "Next form field", 
-    ["BRAILLE LINE:  'Keywords Link : contains all of the keywords Combo  $l'",
+    ["BRAILLE LINE:  'Keywords : contains all of the keywords Combo  $l'",
      "     VISIBLE:  ' $l', cursor=1",
      "SPEECH OUTPUT: 'text'"]))
 
Index: test/keystrokes/firefox/sayAll_html_test_page.py
===================================================================
--- test/keystrokes/firefox/sayAll_html_test_page.py	(revision 4153)
+++ test/keystrokes/firefox/sayAll_html_test_page.py	(working copy)
@@ -26,8 +26,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file",
-    ["BRAILLE LINE:  'Test Formats Link'",
-     "     VISIBLE:  'Test Formats Link', cursor=1",
+    ["BRAILLE LINE:  'Test Formats'",
+     "     VISIBLE:  'Test Formats', cursor=1",
      "SPEECH OUTPUT: 'Test Formats link ",
      "'"]))
 
Index: test/keystrokes/firefox/xul_role_tree.py
===================================================================
--- test/keystrokes/firefox/xul_role_tree.py	(revision 4153)
+++ test/keystrokes/firefox/xul_role_tree.py	(working copy)
@@ -146,7 +146,7 @@
      "     VISIBLE:  'Recently Bookmarked ListItem', cursor=1",
      "SPEECH OUTPUT: 'list item'",
      "SPEECH OUTPUT: 'Recently Bookmarked'",
-     "SPEECH OUTPUT: 'item 1 of 7'",
+     "SPEECH OUTPUT: 'item 1 of 4'",
      "SPEECH OUTPUT: 'tree level 3'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/html_role_combo_box.py
===================================================================
--- test/keystrokes/firefox/html_role_combo_box.py	(revision 4153)
+++ test/keystrokes/firefox/html_role_combo_box.py	(working copy)
@@ -35,8 +35,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file", 
-    ["BRAILLE LINE:  'Severity Link : Severity normal Combo'",
-     "     VISIBLE:  'Severity Link : Severity normal ', cursor=1",
+    ["BRAILLE LINE:  'Severity : Severity normal Combo'",
+     "     VISIBLE:  'Severity : Severity normal Combo', cursor=1",
      "SPEECH OUTPUT: 'Severity link : Severity normal combo box'"]))
 
 ########################################################################
@@ -46,8 +46,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab to Severity combo box", 
-    ["BRAILLE LINE:  'Severity Link : Severity normal Combo'",
-     "     VISIBLE:  'Severity Link : Severity normal ', cursor=1",
+    ["BRAILLE LINE:  'Severity : Severity normal Combo'",
+     "     VISIBLE:  'Severity : Severity normal Combo', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Severity link'"]))
 
@@ -60,7 +60,8 @@
 sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_COMBO_BOX))
 sequence.append(utils.AssertPresentationAction(
     "Tab to Severity combo box", 
-    ["BRAILLE LINE:  'Severity Link : Severity normal Combo'",
+    ["BUG? - Below is what we should be getting. The underlining link patch changed that. I'll get it later.",
+     "BRAILLE LINE:  'Severity Link : Severity normal Combo'",
      "     VISIBLE:  'normal Combo', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Severity normal combo box'"]))
@@ -73,8 +74,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab to Priority Link", 
-    ["BRAILLE LINE:  'Priority Link : Normal Combo'",
-     "     VISIBLE:  'Priority Link : Normal Combo', cursor=1",
+    ["BRAILLE LINE:  'Priority : Normal Combo'",
+     "     VISIBLE:  'Priority : Normal Combo', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Priority link'"]))
 
@@ -83,8 +84,8 @@
 sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_COMBO_BOX))
 sequence.append(utils.AssertPresentationAction(
     "Tab to Priority combo box", 
-    ["BRAILLE LINE:  'Priority Link : Normal Combo'",
-     "     VISIBLE:  'Priority Link : Normal Combo', cursor=17",
+    ["BRAILLE LINE:  'Priority : Normal Combo'",
+     "     VISIBLE:  'Priority : Normal Combo', cursor=12",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Normal combo box'"]))
 
@@ -119,8 +120,8 @@
 sequence.append(KeyComboAction("<Alt>Down"))
 sequence.append(utils.AssertPresentationAction(
     "Alt Down to Expand",
-    ["BRAILLE LINE:  'Priority Link : Normal Combo'",
-     "     VISIBLE:  'Priority Link : Normal Combo', cursor=17",
+    ["BRAILLE LINE:  'Priority : Normal Combo'",
+     "     VISIBLE:  'Priority : Normal Combo', cursor=12",
      "BRAILLE LINE:  'Normal'",
      "     VISIBLE:  'Normal', cursor=1",
      "SPEECH OUTPUT: ''",
@@ -147,8 +148,8 @@
 sequence.append(KeyComboAction("Return"))
 sequence.append(utils.AssertPresentationAction(
     "Return to collapse combo box",
-    ["BRAILLE LINE:  'Priority Link : Low Combo'",
-     "     VISIBLE:  'Priority Link : Low Combo', cursor=17",
+    ["BRAILLE LINE:  'Priority : Low Combo'",
+     "     VISIBLE:  'Priority : Low Combo', cursor=12",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Low combo box'"]))
 
Index: test/keystrokes/firefox/line_nav_wiki.py
===================================================================
--- test/keystrokes/firefox/line_nav_wiki.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_wiki.py	(working copy)
@@ -40,8 +40,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file", 
-    ["BRAILLE LINE:  'Home Link News Link Projects Link Art Link Support Link Development Link Community Link'",
-     "     VISIBLE:  'Home Link News Link Projects Lin', cursor=1",
+    ["BRAILLE LINE:  'Home News Projects Art Support Development Community'",
+     "     VISIBLE:  'Home News Projects Art Support D', cursor=1",
      "SPEECH OUTPUT: 'Home link News link Projects link Art link Support link Development link Community link'"]))
 
 ########################################################################
@@ -59,32 +59,32 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Home Link RecentChanges Link FindPage Link HelpContents Link Orca Link'",
-     "     VISIBLE:  'Home Link RecentChanges Link Fin', cursor=1",
+    ["BRAILLE LINE:  'Home RecentChanges FindPage HelpContents Orca'",
+     "     VISIBLE:  'Home RecentChanges FindPage Help', cursor=1",
      "SPEECH OUTPUT: 'Home link RecentChanges link FindPage link HelpContents link Orca link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'en Español Link'",
-     "     VISIBLE:  'en Español Link', cursor=1",
+    ["BRAILLE LINE:  'en Español'",
+     "     VISIBLE:  'en Español', cursor=1",
      "SPEECH OUTPUT: 'en Español link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Home Link | Download/Installation Link  | Configuration/Use Link  | Accessible Applications Link  | Mailing List Link  ( Archives Link ) |'",
-     "     VISIBLE:  'Home Link | Download/Installatio', cursor=1",
+    ["BRAILLE LINE:  'Home | Download/Installation  | Configuration/Use  | Accessible Applications  | Mailing List  ( Archives ) |'",
+     "     VISIBLE:  'Home | Download/Installation  | ', cursor=1",
      "SPEECH OUTPUT: 'Home link | Download/Installation link  | Configuration/Use link  | Accessible Applications link  | Mailing List link  ( Archives link ) |'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'FAQ Link | DocIndex Link'",
-     "     VISIBLE:  'FAQ Link | DocIndex Link', cursor=1",
+    ["BRAILLE LINE:  'FAQ | DocIndex'",
+     "     VISIBLE:  'FAQ | DocIndex', cursor=1",
      "SPEECH OUTPUT: 'FAQ link | DocIndex link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -99,7 +99,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Orca Logo Link Image'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Orca Logo Link Image'",
      "     VISIBLE:  'Orca Logo Link Image', cursor=1",
      "SPEECH OUTPUT: 'Orca Logo link image'"]))
 
@@ -107,7 +108,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'HOT HOT HOT: Notes on access to Firefox 3.0 Link'",
+    ["BRAILLE LINE:  'HOT HOT HOT: Notes on access to Firefox 3.0'",
      "     VISIBLE:  'HOT HOT HOT: Notes on access to ', cursor=1",
      "SPEECH OUTPUT: 'HOT HOT HOT: Notes on access to Firefox 3.0 link'"]))
 
@@ -123,64 +124,64 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '1. Welcome to Orca! Link'",
-     "     VISIBLE:  '1. Welcome to Orca! Link', cursor=1",
+    ["BRAILLE LINE:  '1. Welcome to Orca!'",
+     "     VISIBLE:  '1. Welcome to Orca!', cursor=1",
      "SPEECH OUTPUT: '1. Welcome to Orca! link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '2. About Link'",
-     "     VISIBLE:  '2. About Link', cursor=1",
+    ["BRAILLE LINE:  '2. About'",
+     "     VISIBLE:  '2. About', cursor=1",
      "SPEECH OUTPUT: '2. About link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '3. Audio Guides Link'",
-     "     VISIBLE:  '3. Audio Guides Link', cursor=1",
+    ["BRAILLE LINE:  '3. Audio Guides'",
+     "     VISIBLE:  '3. Audio Guides', cursor=1",
      "SPEECH OUTPUT: '3. Audio Guides link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '4. Download/Installation Link'",
-     "     VISIBLE:  '4. Download/Installation Link', cursor=1",
+    ["BRAILLE LINE:  '4. Download/Installation'",
+     "     VISIBLE:  '4. Download/Installation', cursor=1",
      "SPEECH OUTPUT: '4. Download/Installation link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '5. Configuration/Use Link'",
-     "     VISIBLE:  '5. Configuration/Use Link', cursor=1",
+    ["BRAILLE LINE:  '5. Configuration/Use'",
+     "     VISIBLE:  '5. Configuration/Use', cursor=1",
      "SPEECH OUTPUT: '5. Configuration/Use link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '6. Accessible Applications Link'",
-     "     VISIBLE:  '6. Accessible Applications Link', cursor=1",
+    ["BRAILLE LINE:  '6. Accessible Applications'",
+     "     VISIBLE:  '6. Accessible Applications', cursor=1",
      "SPEECH OUTPUT: '6. Accessible Applications link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '7. How Can I Help? Link'",
-     "     VISIBLE:  '7. How Can I Help? Link', cursor=1",
+    ["BRAILLE LINE:  '7. How Can I Help?'",
+     "     VISIBLE:  '7. How Can I Help?', cursor=1",
      "SPEECH OUTPUT: '7. How Can I Help? link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '8. More Information Link'",
-     "     VISIBLE:  '8. More Information Link', cursor=1",
+    ["BRAILLE LINE:  '8. More Information'",
+     "     VISIBLE:  '8. More Information', cursor=1",
      "SPEECH OUTPUT: '8. More Information link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -235,7 +236,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'been led by the Accessibility Program Office of Sun Microsystems, Inc. Link'",
+    ["BRAILLE LINE:  'been led by the Accessibility Program Office of Sun Microsystems, Inc.'",
      "     VISIBLE:  'been led by the Accessibility Pr', cursor=1",
      "SPEECH OUTPUT: 'been led by the Accessibility Program Office of Sun Microsystems, Inc. link'"]))
 
@@ -243,7 +244,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'with contributions from many community members Link .'",
+    ["BRAILLE LINE:  'with contributions from many community members .'",
      "     VISIBLE:  'with contributions from many com', cursor=1",
      "SPEECH OUTPUT: 'with contributions from many community members link .'"]))
 
@@ -267,15 +268,15 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Bugzilla Link (please see our notes on how we use Bugzilla Link ).'",
-     "     VISIBLE:  'Bugzilla Link (please see our no', cursor=1",
+    ["BRAILLE LINE:  'Bugzilla (please see our notes on how we use Bugzilla ).'",
+     "     VISIBLE:  'Bugzilla (please see our notes o', cursor=1",
      "SPEECH OUTPUT: 'Bugzilla link (please see our notes on how we use Bugzilla link ).'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Please join and participate on the Orca mailing list Link  ( archives Link ): it's a helpful, kind, and productive'",
+    ["BRAILLE LINE:  'Please join and participate on the Orca mailing list  ( archives ): it's a helpful, kind, and productive'",
      "     VISIBLE:  'Please join and participate on t', cursor=1",
      "SPEECH OUTPUT: 'Please join and participate on the Orca mailing list link  ( archives link ): it's a helpful, kind, and productive'"]))
 
@@ -299,15 +300,15 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Darragh Ó Héiligh Link has created several audio guides for Orca. This is a fantastic contribution'",
-     "     VISIBLE:  'Darragh Ó Héiligh Link has cre', cursor=1",
+    ["BRAILLE LINE:  'Darragh Ó Héiligh has created several audio guides for Orca. This is a fantastic contribution'",
+     "     VISIBLE:  'Darragh Ó Héiligh has created ', cursor=1",
      "SPEECH OUTPUT: 'Darragh Ó Héiligh link has created several audio guides for Orca. This is a fantastic contribution'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp Link  and'",
+    ["BRAILLE LINE:  '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp  and'",
      "     VISIBLE:  '(THANKS!)!!! The audio guides ca', cursor=1",
      "SPEECH OUTPUT: '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp link  and'"]))
 
@@ -323,7 +324,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial Link'",
+    ["BRAILLE LINE:  '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'",
      "     VISIBLE:  '• Walk through of the installa', cursor=1",
      "SPEECH OUTPUT: '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial link'"]))
 
@@ -331,7 +332,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop Link'",
+    ["BRAILLE LINE:  '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop'",
      "     VISIBLE:  '• Review of Fedora 7 and the O', cursor=1",
      "SPEECH OUTPUT: '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop link'"]))
 
@@ -339,7 +340,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  '• Guide to installing the latest versions of Firefox and Orca Link'",
+    ["BRAILLE LINE:  '• Guide to installing the latest versions of Firefox and Orca'",
      "     VISIBLE:  '• Guide to installing the late', cursor=1",
      "SPEECH OUTPUT: '• Guide to installing the latest versions of Firefox and Orca link'"]))
 
@@ -363,7 +364,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'default on a number of operating system distributions, including Open Solaris Link  and Ubuntu Link .'",
+    ["BRAILLE LINE:  'default on a number of operating system distributions, including Open Solaris  and Ubuntu .'",
      "     VISIBLE:  'default on a number of operating', cursor=1",
      "SPEECH OUTPUT: 'default on a number of operating system distributions, including Open Solaris link  and Ubuntu link .'"]))
 
@@ -371,7 +372,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'Please also refer to the Download/Installation page Link  for detailed information on various distributions'",
+    ["BRAILLE LINE:  'Please also refer to the Download/Installation page  for detailed information on various distributions'",
      "     VISIBLE:  'Please also refer to the Downloa', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Download/Installation page link  for detailed information on various distributions'"]))
 
@@ -411,7 +412,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'information as you navigate the desktop using the built-in navigation mechanisms of GNOME Link . These'",
+    ["BUG? - In many places, when we removed the role 'Link' in braille, we left a space like the one between GNOME and the period that follows it. These should come out. Only marking one instance though.",
+     "BRAILLE LINE:  'information as you navigate the desktop using the built-in navigation mechanisms of GNOME . These'",
      "     VISIBLE:  'information as you navigate the ', cursor=1",
      "SPEECH OUTPUT: 'information as you navigate the desktop using the built-in navigation mechanisms of GNOME link . These'"]))
 
@@ -427,7 +429,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI Link'",
+    ["BRAILLE LINE:  'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI'",
      "     VISIBLE:  'You may sometimes wish to contro', cursor=1",
      "SPEECH OUTPUT: 'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI link'"]))
 
@@ -443,7 +445,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'a window. Refer to Orca Keyboard Commands Link (Laptop Layout) Link  for more information on Orca-specific'",
+    ["BRAILLE LINE:  'a window. Refer to Orca Keyboard Commands (Laptop Layout)  for more information on Orca-specific'",
      "     VISIBLE:  'a window. Refer to Orca Keyboard', cursor=1",
      "SPEECH OUTPUT: 'a window. Refer to Orca Keyboard Commands link (Laptop Layout) link  for more information on Orca-specific'"]))
 
@@ -451,7 +453,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'keyboard commands. The Orca Configuration GUI Link  also includes a \"Key Bindings\" tab that allows'",
+    ["BRAILLE LINE:  'keyboard commands. The Orca Configuration GUI  also includes a \"Key Bindings\" tab that allows'",
      "     VISIBLE:  'keyboard commands. The Orca Conf', cursor=1",
      "SPEECH OUTPUT: 'keyboard commands. The Orca Configuration GUI link  also includes a \"Key Bindings\" tab that allows'"]))
 
@@ -467,7 +469,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Please also refer to the Configuration/Use page Link  for detailed information.'",
+    ["BRAILLE LINE:  'Please also refer to the Configuration/Use page  for detailed information.'",
      "     VISIBLE:  'Please also refer to the Configu', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Configuration/Use page link  for detailed information.'"]))
 
@@ -491,7 +493,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice Link ,'",
+    ["BRAILLE LINE:  'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice ,'",
      "     VISIBLE:  'provider interface (AT-SPI). Thi', cursor=1",
      "SPEECH OUTPUT: 'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice link ,'"]))
 
@@ -515,7 +517,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'On the Accessible Applications page Link , you will find a growing list of information regarding various'",
+    ["BRAILLE LINE:  'On the Accessible Applications page , you will find a growing list of information regarding various'",
      "     VISIBLE:  'On the Accessible Applications p', cursor=1",
      "SPEECH OUTPUT: 'On the Accessible Applications page link , you will find a growing list of information regarding various'"]))
 
@@ -547,7 +549,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'See also the Application Specific Settings Link  page for how to configure settings specific to an'",
+    ["BRAILLE LINE:  'See also the Application Specific Settings  page for how to configure settings specific to an'",
      "     VISIBLE:  'See also the Application Specifi', cursor=1",
      "SPEECH OUTPUT: 'See also the Application Specific Settings link  page for how to configure settings specific to an'"]))
 
@@ -563,7 +565,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Please also refer to the Accessible Applications page Link  for detailed information.'",
+    ["BRAILLE LINE:  'Please also refer to the Accessible Applications page  for detailed information.'",
      "     VISIBLE:  'Please also refer to the Accessi', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Accessible Applications page link  for detailed information.'"]))
 
@@ -579,7 +581,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'There's a bunch you can do! Please refer to the How Can I Help page Link  for detailed information.'",
+    ["BRAILLE LINE:  'There's a bunch you can do! Please refer to the How Can I Help page  for detailed information.'",
      "     VISIBLE:  'There's a bunch you can do! Plea', cursor=1",
      "SPEECH OUTPUT: 'There's a bunch you can do! Please refer to the How Can I Help page link  for detailed information.'"]))
 
@@ -595,7 +597,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Frequently Asked Questions: FAQ Link'",
+    ["BRAILLE LINE:  '• Frequently Asked Questions: FAQ'",
      "     VISIBLE:  '• Frequently Asked Questions: ', cursor=1",
      "SPEECH OUTPUT: '• Frequently Asked Questions: FAQ link'"]))
 
@@ -603,7 +605,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Mailing list: orca-list@gnome.org Link  ( Archives Link )'",
+    ["BRAILLE LINE:  '• Mailing list: orca-list@gnome.org  ( Archives )'",
      "     VISIBLE:  '• Mailing list: orca-list@gnom', cursor=1",
      "SPEECH OUTPUT: '• Mailing list: orca-list@gnome.org link  ( Archives link )'"]))
 
@@ -611,7 +613,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Bug database: GNOME Bug Tracking System (Bugzilla) Link  ( current bug list Link )'",
+    ["BRAILLE LINE:  '• Bug database: GNOME Bug Tracking System (Bugzilla)  ( current bug list )'",
      "     VISIBLE:  '• Bug database: GNOME Bug Trac', cursor=1",
      "SPEECH OUTPUT: '• Bug database: GNOME Bug Tracking System (Bugzilla) link  ( current bug list link )'"]))
 
@@ -619,7 +621,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Design documents: Orca Documentation Series Link'",
+    ["BRAILLE LINE:  '• Design documents: Orca Documentation Series'",
      "     VISIBLE:  '• Design documents: Orca Docum', cursor=1",
      "SPEECH OUTPUT: '• Design documents: Orca Documentation Series link'"]))
 
@@ -627,7 +629,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Dive Into Python, Mark Pilgrim Link'",
+    ["BRAILLE LINE:  '• Dive Into Python, Mark Pilgrim'",
      "     VISIBLE:  '• Dive Into Python, Mark Pilgr', cursor=1",
      "SPEECH OUTPUT: '• Dive Into Python, Mark Pilgrim link'"]))
 
@@ -635,7 +637,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Python in a Nutshell, Alex Martelli Link'",
+    ["BRAILLE LINE:  '• Python in a Nutshell, Alex Martelli'",
      "     VISIBLE:  '• Python in a Nutshell, Alex M', cursor=1",
      "SPEECH OUTPUT: '• Python in a Nutshell, Alex Martelli link'"]))
 
@@ -643,7 +645,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Python Pocket Reference, Mark Lutz Link'",
+    ["BRAILLE LINE:  '• Python Pocket Reference, Mark Lutz'",
      "     VISIBLE:  '• Python Pocket Reference, Mar', cursor=1",
      "SPEECH OUTPUT: '• Python Pocket Reference, Mark Lutz link'"]))
 
@@ -691,15 +693,15 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'CategoryAccessibility Link'",
-     "     VISIBLE:  'CategoryAccessibility Link', cursor=1",
+    ["BRAILLE LINE:  'CategoryAccessibility'",
+     "     VISIBLE:  'CategoryAccessibility', cursor=1",
      "SPEECH OUTPUT: 'CategoryAccessibility link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Orca (last edited 2007-12-07 22:09:22 by WillieWalker Link )'",
+    ["BRAILLE LINE:  'Orca (last edited 2007-12-07 22:09:22 by WillieWalker )'",
      "     VISIBLE:  'Orca (last edited 2007-12-07 22:', cursor=1",
      "SPEECH OUTPUT: 'Orca (last edited 2007-12-07 22:09:22 by WillieWalker link )'"]))
 
@@ -715,8 +717,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Login Link'",
-     "     VISIBLE:  'Login Link', cursor=1",
+    ["BRAILLE LINE:  'Login'",
+     "     VISIBLE:  'Login', cursor=1",
      "SPEECH OUTPUT: 'Login link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -739,16 +741,16 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Info Link'",
-     "     VISIBLE:  'Info Link', cursor=1",
+    ["BRAILLE LINE:  'Info'",
+     "     VISIBLE:  'Info', cursor=1",
      "SPEECH OUTPUT: 'Info link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Attachments Link'",
-     "     VISIBLE:  'Attachments Link', cursor=1",
+    ["BRAILLE LINE:  'Attachments'",
+     "     VISIBLE:  'Attachments', cursor=1",
      "SPEECH OUTPUT: 'Attachments link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -784,16 +786,16 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Attachments Link'",
-     "     VISIBLE:  'Attachments Link', cursor=1",
+    ["BRAILLE LINE:  'Attachments'",
+     "     VISIBLE:  'Attachments', cursor=1",
      "SPEECH OUTPUT: 'Attachments link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Info Link'",
-     "     VISIBLE:  'Info Link', cursor=1",
+    ["BRAILLE LINE:  'Info'",
+     "     VISIBLE:  'Info', cursor=1",
      "SPEECH OUTPUT: 'Info link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -816,8 +818,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Login Link'",
-     "     VISIBLE:  'Login Link', cursor=1",
+    ["BRAILLE LINE:  'Login'",
+     "     VISIBLE:  'Login', cursor=1",
      "SPEECH OUTPUT: 'Login link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -832,7 +834,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Orca (last edited 2007-12-07 22:09:22 by WillieWalker Link )'",
+    ["BRAILLE LINE:  'Orca (last edited 2007-12-07 22:09:22 by WillieWalker )'",
      "     VISIBLE:  'Orca (last edited 2007-12-07 22:', cursor=1",
      "SPEECH OUTPUT: 'Orca (last edited 2007-12-07 22:09:22 by WillieWalker link )'"]))
 
@@ -840,8 +842,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'CategoryAccessibility Link'",
-     "     VISIBLE:  'CategoryAccessibility Link', cursor=1",
+    ["BRAILLE LINE:  'CategoryAccessibility'",
+     "     VISIBLE:  'CategoryAccessibility', cursor=1",
      "SPEECH OUTPUT: 'CategoryAccessibility link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -888,7 +890,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Python Pocket Reference, Mark Lutz Link'",
+    ["BRAILLE LINE:  '• Python Pocket Reference, Mark Lutz'",
      "     VISIBLE:  '• Python Pocket Reference, Mar', cursor=1",
      "SPEECH OUTPUT: '• Python Pocket Reference, Mark Lutz link'"]))
 
@@ -896,7 +898,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Python in a Nutshell, Alex Martelli Link'",
+    ["BRAILLE LINE:  '• Python in a Nutshell, Alex Martelli'",
      "     VISIBLE:  '• Python in a Nutshell, Alex M', cursor=1",
      "SPEECH OUTPUT: '• Python in a Nutshell, Alex Martelli link'"]))
 
@@ -904,7 +906,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Dive Into Python, Mark Pilgrim Link'",
+    ["BRAILLE LINE:  '• Dive Into Python, Mark Pilgrim'",
      "     VISIBLE:  '• Dive Into Python, Mark Pilgr', cursor=1",
      "SPEECH OUTPUT: '• Dive Into Python, Mark Pilgrim link'"]))
 
@@ -912,7 +914,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Design documents: Orca Documentation Series Link'",
+    ["BRAILLE LINE:  '• Design documents: Orca Documentation Series'",
      "     VISIBLE:  '• Design documents: Orca Docum', cursor=1",
      "SPEECH OUTPUT: '• Design documents: Orca Documentation Series link'"]))
 
@@ -920,7 +922,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Bug database: GNOME Bug Tracking System (Bugzilla) Link  ( current bug list Link )'",
+    ["BRAILLE LINE:  '• Bug database: GNOME Bug Tracking System (Bugzilla)  ( current bug list )'",
      "     VISIBLE:  '• Bug database: GNOME Bug Trac', cursor=1",
      "SPEECH OUTPUT: '• Bug database: GNOME Bug Tracking System (Bugzilla) link  ( current bug list link )'"]))
 
@@ -928,7 +930,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Mailing list: orca-list@gnome.org Link  ( Archives Link )'",
+    ["BRAILLE LINE:  '• Mailing list: orca-list@gnome.org  ( Archives )'",
      "     VISIBLE:  '• Mailing list: orca-list@gnom', cursor=1",
      "SPEECH OUTPUT: '• Mailing list: orca-list@gnome.org link  ( Archives link )'"]))
 
@@ -936,7 +938,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Frequently Asked Questions: FAQ Link'",
+    ["BRAILLE LINE:  '• Frequently Asked Questions: FAQ'",
      "     VISIBLE:  '• Frequently Asked Questions: ', cursor=1",
      "SPEECH OUTPUT: '• Frequently Asked Questions: FAQ link'"]))
 
@@ -952,7 +954,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'There's a bunch you can do! Please refer to the How Can I Help page Link  for detailed information.'",
+    ["BRAILLE LINE:  'There's a bunch you can do! Please refer to the How Can I Help page  for detailed information.'",
      "     VISIBLE:  'There's a bunch you can do! Plea', cursor=1",
      "SPEECH OUTPUT: 'There's a bunch you can do! Please refer to the How Can I Help page link  for detailed information.'"]))
 
@@ -968,7 +970,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Please also refer to the Accessible Applications page Link  for detailed information.'",
+    ["BRAILLE LINE:  'Please also refer to the Accessible Applications page  for detailed information.'",
      "     VISIBLE:  'Please also refer to the Accessi', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Accessible Applications page link  for detailed information.'"]))
 
@@ -984,7 +986,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'See also the Application Specific Settings Link  page for how to configure settings specific to an'",
+    ["BRAILLE LINE:  'See also the Application Specific Settings  page for how to configure settings specific to an'",
      "     VISIBLE:  'See also the Application Specifi', cursor=1",
      "SPEECH OUTPUT: 'See also the Application Specific Settings link  page for how to configure settings specific to an'"]))
 
@@ -1016,7 +1018,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'On the Accessible Applications page Link , you will find a growing list of information regarding various'",
+    ["BRAILLE LINE:  'On the Accessible Applications page , you will find a growing list of information regarding various'",
      "     VISIBLE:  'On the Accessible Applications p', cursor=1",
      "SPEECH OUTPUT: 'On the Accessible Applications page link , you will find a growing list of information regarding various'"]))
 
@@ -1040,7 +1042,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice Link ,'",
+    ["BRAILLE LINE:  'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice ,'",
      "     VISIBLE:  'provider interface (AT-SPI). Thi', cursor=1",
      "SPEECH OUTPUT: 'provider interface (AT-SPI). This includes the GNOME desktop and its applications, OpenOffice link ,'"]))
 
@@ -1064,7 +1066,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Please also refer to the Configuration/Use page Link  for detailed information.'",
+    ["BRAILLE LINE:  'Please also refer to the Configuration/Use page  for detailed information.'",
      "     VISIBLE:  'Please also refer to the Configu', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Configuration/Use page link  for detailed information.'"]))
 
@@ -1080,7 +1082,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'keyboard commands. The Orca Configuration GUI Link  also includes a \"Key Bindings\" tab that allows'",
+    ["BRAILLE LINE:  'keyboard commands. The Orca Configuration GUI  also includes a \"Key Bindings\" tab that allows'",
      "     VISIBLE:  'keyboard commands. The Orca Conf', cursor=1",
      "SPEECH OUTPUT: 'keyboard commands. The Orca Configuration GUI link  also includes a \"Key Bindings\" tab that allows'"]))
 
@@ -1088,7 +1090,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'a window. Refer to Orca Keyboard Commands Link (Laptop Layout) Link  for more information on Orca-specific'",
+    ["BRAILLE LINE:  'a window. Refer to Orca Keyboard Commands (Laptop Layout)  for more information on Orca-specific'",
      "     VISIBLE:  'a window. Refer to Orca Keyboard', cursor=1",
      "SPEECH OUTPUT: 'a window. Refer to Orca Keyboard Commands link (Laptop Layout) link  for more information on Orca-specific'"]))
 
@@ -1104,7 +1106,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI Link'",
+    ["BRAILLE LINE:  'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI'",
      "     VISIBLE:  'You may sometimes wish to contro', cursor=1",
      "SPEECH OUTPUT: 'You may sometimes wish to control Orca itself, such as bringing up the Orca Configuration GUI link'"]))
 
@@ -1120,7 +1122,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'information as you navigate the desktop using the built-in navigation mechanisms of GNOME Link . These'",
+    ["BRAILLE LINE:  'information as you navigate the desktop using the built-in navigation mechanisms of GNOME . These'",
      "     VISIBLE:  'information as you navigate the ', cursor=1",
      "SPEECH OUTPUT: 'information as you navigate the desktop using the built-in navigation mechanisms of GNOME link . These'"]))
 
@@ -1160,7 +1162,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'Please also refer to the Download/Installation page Link  for detailed information on various distributions'",
+    ["BRAILLE LINE:  'Please also refer to the Download/Installation page  for detailed information on various distributions'",
      "     VISIBLE:  'Please also refer to the Downloa', cursor=1",
      "SPEECH OUTPUT: 'Please also refer to the Download/Installation page link  for detailed information on various distributions'"]))
 
@@ -1168,7 +1170,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'default on a number of operating system distributions, including Open Solaris Link  and Ubuntu Link .'",
+    ["BRAILLE LINE:  'default on a number of operating system distributions, including Open Solaris  and Ubuntu .'",
      "     VISIBLE:  'default on a number of operating', cursor=1",
      "SPEECH OUTPUT: 'default on a number of operating system distributions, including Open Solaris link  and Ubuntu link .'"]))
 
@@ -1192,7 +1194,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '• Guide to installing the latest versions of Firefox and Orca Link'",
+    ["BRAILLE LINE:  '• Guide to installing the latest versions of Firefox and Orca'",
      "     VISIBLE:  '• Guide to installing the late', cursor=1",
      "SPEECH OUTPUT: '• Guide to installing the latest versions of Firefox and Orca link'"]))
 
@@ -1200,7 +1202,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop Link'",
+    ["BRAILLE LINE:  '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop'",
      "     VISIBLE:  '• Review of Fedora 7 and the O', cursor=1",
      "SPEECH OUTPUT: '• Review of Fedora 7 and the Orca screen reader for the Gnome graphical desktop link'"]))
 
@@ -1208,7 +1210,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial Link'",
+    ["BRAILLE LINE:  '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'",
      "     VISIBLE:  '• Walk through of the installa', cursor=1",
      "SPEECH OUTPUT: '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial link'"]))
 
@@ -1224,7 +1226,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp Link  and'",
+    ["BRAILLE LINE:  '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp  and'",
      "     VISIBLE:  '(THANKS!)!!! The audio guides ca', cursor=1",
      "SPEECH OUTPUT: '(THANKS!)!!! The audio guides can be found at http://www.digitaldarragh.com/linuxat.asp link  and'"]))
 
@@ -1232,8 +1234,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'Darragh Ó Héiligh Link has created several audio guides for Orca. This is a fantastic contribution'",
-     "     VISIBLE:  'Darragh Ó Héiligh Link has cre', cursor=1",
+    ["BRAILLE LINE:  'Darragh Ó Héiligh has created several audio guides for Orca. This is a fantastic contribution'",
+     "     VISIBLE:  'Darragh Ó Héiligh has created ', cursor=1",
      "SPEECH OUTPUT: 'Darragh Ó Héiligh link has created several audio guides for Orca. This is a fantastic contribution'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1256,7 +1258,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'Please join and participate on the Orca mailing list Link  ( archives Link ): it's a helpful, kind, and productive'",
+    ["BRAILLE LINE:  'Please join and participate on the Orca mailing list  ( archives ): it's a helpful, kind, and productive'",
      "     VISIBLE:  'Please join and participate on t', cursor=1",
      "SPEECH OUTPUT: 'Please join and participate on the Orca mailing list link  ( archives link ): it's a helpful, kind, and productive'"]))
 
@@ -1264,8 +1266,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'Bugzilla Link (please see our notes on how we use Bugzilla Link ).'",
-     "     VISIBLE:  'Bugzilla Link (please see our no', cursor=1",
+    ["BRAILLE LINE:  'Bugzilla (please see our notes on how we use Bugzilla ).'",
+     "     VISIBLE:  'Bugzilla (please see our notes o', cursor=1",
      "SPEECH OUTPUT: 'Bugzilla link (please see our notes on how we use Bugzilla link ).'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1288,7 +1290,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'with contributions from many community members Link .'",
+    ["BRAILLE LINE:  'with contributions from many community members .'",
      "     VISIBLE:  'with contributions from many com', cursor=1",
      "SPEECH OUTPUT: 'with contributions from many community members link .'"]))
 
@@ -1296,7 +1298,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'been led by the Accessibility Program Office of Sun Microsystems, Inc. Link'",
+    ["BRAILLE LINE:  'been led by the Accessibility Program Office of Sun Microsystems, Inc.'",
      "     VISIBLE:  'been led by the Accessibility Pr', cursor=1",
      "SPEECH OUTPUT: 'been led by the Accessibility Program Office of Sun Microsystems, Inc. link'"]))
 
@@ -1352,64 +1354,64 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '8. More Information Link'",
-     "     VISIBLE:  '8. More Information Link', cursor=1",
+    ["BRAILLE LINE:  '8. More Information'",
+     "     VISIBLE:  '8. More Information', cursor=1",
      "SPEECH OUTPUT: '8. More Information link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '7. How Can I Help? Link'",
-     "     VISIBLE:  '7. How Can I Help? Link', cursor=1",
+    ["BRAILLE LINE:  '7. How Can I Help?'",
+     "     VISIBLE:  '7. How Can I Help?', cursor=1",
      "SPEECH OUTPUT: '7. How Can I Help? link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '6. Accessible Applications Link'",
-     "     VISIBLE:  '6. Accessible Applications Link', cursor=1",
+    ["BRAILLE LINE:  '6. Accessible Applications'",
+     "     VISIBLE:  '6. Accessible Applications', cursor=1",
      "SPEECH OUTPUT: '6. Accessible Applications link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '5. Configuration/Use Link'",
-     "     VISIBLE:  '5. Configuration/Use Link', cursor=1",
+    ["BRAILLE LINE:  '5. Configuration/Use'",
+     "     VISIBLE:  '5. Configuration/Use', cursor=1",
      "SPEECH OUTPUT: '5. Configuration/Use link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '4. Download/Installation Link'",
-     "     VISIBLE:  '4. Download/Installation Link', cursor=1",
+    ["BRAILLE LINE:  '4. Download/Installation'",
+     "     VISIBLE:  '4. Download/Installation', cursor=1",
      "SPEECH OUTPUT: '4. Download/Installation link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '3. Audio Guides Link'",
-     "     VISIBLE:  '3. Audio Guides Link', cursor=1",
+    ["BRAILLE LINE:  '3. Audio Guides'",
+     "     VISIBLE:  '3. Audio Guides', cursor=1",
      "SPEECH OUTPUT: '3. Audio Guides link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '2. About Link'",
-     "     VISIBLE:  '2. About Link', cursor=1",
+    ["BRAILLE LINE:  '2. About'",
+     "     VISIBLE:  '2. About', cursor=1",
      "SPEECH OUTPUT: '2. About link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  '1. Welcome to Orca! Link'",
-     "     VISIBLE:  '1. Welcome to Orca! Link', cursor=1",
+    ["BRAILLE LINE:  '1. Welcome to Orca!'",
+     "     VISIBLE:  '1. Welcome to Orca!', cursor=1",
      "SPEECH OUTPUT: '1. Welcome to Orca! link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1424,15 +1426,16 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'HOT HOT HOT: Notes on access to Firefox 3.0 Link'",
+    ["BRAILLE LINE:  'HOT HOT HOT: Notes on access to Firefox 3.0'",
      "     VISIBLE:  'HOT HOT HOT: Notes on access to ', cursor=1",
      "SPEECH OUTPUT: 'HOT HOT HOT: Notes on access to Firefox 3.0 link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
-    "Line Up", 
-    ["BRAILLE LINE:  'Orca Logo Link Image'",
+    "Line Up",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Orca Logo Link Image'",
      "     VISIBLE:  'Orca Logo Link Image', cursor=1",
      "SPEECH OUTPUT: 'Orca Logo link image'"]))
 
@@ -1448,32 +1451,32 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BRAILLE LINE:  'FAQ Link | DocIndex Link'",
-     "     VISIBLE:  'FAQ Link | DocIndex Link', cursor=1",
+    ["BRAILLE LINE:  'FAQ | DocIndex'",
+     "     VISIBLE:  'FAQ | DocIndex', cursor=1",
      "SPEECH OUTPUT: 'FAQ link | DocIndex link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'Home Link | Download/Installation Link  | Configuration/Use Link  | Accessible Applications Link  | Mailing List Link  ( Archives Link ) |'",
-     "     VISIBLE:  'Home Link | Download/Installatio', cursor=1",
+    ["BRAILLE LINE:  'Home | Download/Installation  | Configuration/Use  | Accessible Applications  | Mailing List  ( Archives ) |'",
+     "     VISIBLE:  'Home | Download/Installation  | ', cursor=1",
      "SPEECH OUTPUT: 'Home link | Download/Installation link  | Configuration/Use link  | Accessible Applications link  | Mailing List link  ( Archives link ) |'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up", 
-    ["BRAILLE LINE:  'en Español Link'",
-     "     VISIBLE:  'en Español Link', cursor=1",
+    ["BRAILLE LINE:  'en Español'",
+     "     VISIBLE:  'en Español', cursor=1",
      "SPEECH OUTPUT: 'en Español link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Home Link RecentChanges Link FindPage Link HelpContents Link Orca Link'",
-     "     VISIBLE:  'Home Link RecentChanges Link Fin', cursor=1",
+    ["BRAILLE LINE:  'Home RecentChanges FindPage HelpContents Orca'",
+     "     VISIBLE:  'Home RecentChanges FindPage Help', cursor=1",
      "SPEECH OUTPUT: 'Home link RecentChanges link FindPage link HelpContents link Orca link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1488,8 +1491,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Home Link News Link Projects Link Art Link Support Link Development Link Community Link'",
-     "     VISIBLE:  'Home Link News Link Projects Lin', cursor=1",
+    ["BRAILLE LINE:  'Home News Projects Art Support Development Community'",
+     "     VISIBLE:  'Home News Projects Art Support D', cursor=1",
      "SPEECH OUTPUT: 'Home link News link Projects link Art link Support link Development link Community link'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/line_nav_multi_line_text.py
===================================================================
--- test/keystrokes/firefox/line_nav_multi_line_text.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_multi_line_text.py	(working copy)
@@ -97,32 +97,32 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• This is a test Link  that is not very interesting.'",
-     "     VISIBLE:  '• This is a test Link  that is', cursor=1",
+    ["BRAILLE LINE:  '• This is a test  that is not very interesting.'",
+     "     VISIBLE:  '• This is a test  that is not ', cursor=1",
      "SPEECH OUTPUT: '• This is a test link  that is not very interesting.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• But it looks like Link  a real-world example.'",
-     "     VISIBLE:  '• But it looks like Link  a re', cursor=1",
+    ["BRAILLE LINE:  '• But it looks like  a real-world example.'",
+     "     VISIBLE:  '• But it looks like  a real-wo', cursor=1",
      "SPEECH OUTPUT: '• But it looks like link  a real-world example.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• And that's Link  why this silly test is here.'",
-     "     VISIBLE:  '• And that's Link  why this si', cursor=1",
+    ["BRAILLE LINE:  '• And that's  why this silly test is here.'",
+     "     VISIBLE:  '• And that's  why this silly t', cursor=1",
      "SPEECH OUTPUT: '• And that's link  why this silly test is here.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'So it's far more interesting Link  than it looks.'",
-     "     VISIBLE:  'So it's far more interesting Lin', cursor=1",
+    ["BRAILLE LINE:  'So it's far more interesting  than it looks.'",
+     "     VISIBLE:  'So it's far more interesting  th', cursor=1",
      "SPEECH OUTPUT: 'So it's far more interesting link  than it looks.'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -137,32 +137,32 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• The thing is Link  we can't copy content.'",
-     "     VISIBLE:  '• The thing is Link  we can't ', cursor=1",
+    ["BRAILLE LINE:  '• The thing is  we can't copy content.'",
+     "     VISIBLE:  '• The thing is  we can't copy ', cursor=1",
      "SPEECH OUTPUT: '• The thing is link  we can't copy content.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• So we must Link  create silly tests.'",
-     "     VISIBLE:  '• So we must Link  create sill', cursor=1",
+    ["BRAILLE LINE:  '• So we must  create silly tests.'",
+     "     VISIBLE:  '• So we must  create silly tes', cursor=1",
      "SPEECH OUTPUT: '• So we must link  create silly tests.'",]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '• Oh Link  well.'",
-     "     VISIBLE:  '• Oh Link  well.', cursor=1",
+    ["BRAILLE LINE:  '• Oh  well.'",
+     "     VISIBLE:  '• Oh  well.', cursor=1",
      "SPEECH OUTPUT: '• Oh link  well.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'At least it's over Link .'",
-     "     VISIBLE:  'At least it's over Link .', cursor=1",
+    ["BRAILLE LINE:  'At least it's over .'",
+     "     VISIBLE:  'At least it's over .', cursor=1",
      "SPEECH OUTPUT: 'At least it's over link .'"]))
 
 ########################################################################
@@ -172,24 +172,24 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• Oh Link  well.'",
-     "     VISIBLE:  '• Oh Link  well.', cursor=1",
+    ["BRAILLE LINE:  '• Oh  well.'",
+     "     VISIBLE:  '• Oh  well.', cursor=1",
      "SPEECH OUTPUT: '• Oh link  well.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• So we must Link  create silly tests.'",
-     "     VISIBLE:  '• So we must Link  create sill', cursor=1",
+    ["BRAILLE LINE:  '• So we must  create silly tests.'",
+     "     VISIBLE:  '• So we must  create silly tes', cursor=1",
      "SPEECH OUTPUT: '• So we must link  create silly tests.'",]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• The thing is Link  we can't copy content.'",
-     "     VISIBLE:  '• The thing is Link  we can't ', cursor=1",
+    ["BRAILLE LINE:  '• The thing is  we can't copy content.'",
+     "     VISIBLE:  '• The thing is  we can't copy ', cursor=1",
      "SPEECH OUTPUT: '• The thing is link  we can't copy content.'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -204,32 +204,32 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'So it's far more interesting Link  than it looks.'",
-     "     VISIBLE:  'So it's far more interesting Lin', cursor=1",
+    ["BRAILLE LINE:  'So it's far more interesting  than it looks.'",
+     "     VISIBLE:  'So it's far more interesting  th', cursor=1",
      "SPEECH OUTPUT: 'So it's far more interesting link  than it looks.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• And that's Link  why this silly test is here.'",
-     "     VISIBLE:  '• And that's Link  why this si', cursor=1",
+    ["BRAILLE LINE:  '• And that's  why this silly test is here.'",
+     "     VISIBLE:  '• And that's  why this silly t', cursor=1",
      "SPEECH OUTPUT: '• And that's link  why this silly test is here.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• But it looks like Link  a real-world example.'",
-     "     VISIBLE:  '• But it looks like Link  a re', cursor=1",
+    ["BRAILLE LINE:  '• But it looks like  a real-world example.'",
+     "     VISIBLE:  '• But it looks like  a real-wo', cursor=1",
      "SPEECH OUTPUT: '• But it looks like link  a real-world example.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '• This is a test Link  that is not very interesting.'",
-     "     VISIBLE:  '• This is a test Link  that is', cursor=1",
+    ["BRAILLE LINE:  '• This is a test  that is not very interesting.'",
+     "     VISIBLE:  '• This is a test  that is not ', cursor=1",
      "SPEECH OUTPUT: '• This is a test link  that is not very interesting.'"]))
 
 sequence.append(utils.StartRecordingAction())
Index: test/keystrokes/firefox/label_guess_entries.py
===================================================================
--- test/keystrokes/firefox/label_guess_entries.py	(revision 4153)
+++ test/keystrokes/firefox/label_guess_entries.py	(working copy)
@@ -51,7 +51,7 @@
 sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
 sequence.append(utils.AssertPresentationAction(
     "Next form field", 
-    ["BRAILLE LINE:  'Type something Link  rather amusing Link  here:  $l'",
+    ["BRAILLE LINE:  'Type something  rather amusing  here:  $l'",
      "     VISIBLE:  ' $l', cursor=1",
      "SPEECH OUTPUT: 'Type something rather amusing here: text'"]))
 
@@ -455,7 +455,7 @@
 sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
 sequence.append(utils.AssertPresentationAction(
     "Next form field", 
-    ["BRAILLE LINE:  'Type something Link  rather amusing Link  here:  $l'",
+    ["BRAILLE LINE:  'Type something  rather amusing  here:  $l'",
      "     VISIBLE:  ' $l', cursor=1",
      "SPEECH OUTPUT: 'Wrapping to top.'",
      "SPEECH OUTPUT: 'Type something rather amusing here: text'"]))
Index: test/keystrokes/firefox/bug_511389.py
===================================================================
--- test/keystrokes/firefox/bug_511389.py	(revision 4153)
+++ test/keystrokes/firefox/bug_511389.py	(working copy)
@@ -31,8 +31,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file",
-    ["BRAILLE LINE:  'Hello world Link , this is a test.'",
-     "     VISIBLE:  'Hello world Link , this is a tes', cursor=1",
+    ["BRAILLE LINE:  'Hello world , this is a test.'",
+     "     VISIBLE:  'Hello world , this is a test.', cursor=1",
      "SPEECH OUTPUT: 'Hello world link , this is a test.'"]))
 
 ########################################################################
@@ -42,8 +42,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Foo Link'",
-     "     VISIBLE:  'Foo Link', cursor=1",
+    ["BRAILLE LINE:  'Foo'",
+     "     VISIBLE:  'Foo', cursor=1",
      "SPEECH OUTPUT: 'Foo link ",
      "'"]))
 
@@ -54,8 +54,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab",
-    ["BRAILLE LINE:  'Bar Link'",
-     "     VISIBLE:  'Bar Link', cursor=1",
+    ["BRAILLE LINE:  'Bar'",
+     "     VISIBLE:  'Bar', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Bar link'"]))
 
@@ -67,8 +67,8 @@
 sequence.append(KeyComboAction("<Shift>Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Shift Tab",
-    ["BRAILLE LINE:  'Foo Link'",
-     "     VISIBLE:  'Foo Link', cursor=1",
+    ["BRAILLE LINE:  'Foo'",
+     "     VISIBLE:  'Foo', cursor=1",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'Foo link'"]))
 
Index: test/keystrokes/firefox/sayAll_role_combo_box.py
===================================================================
--- test/keystrokes/firefox/sayAll_role_combo_box.py	(revision 4153)
+++ test/keystrokes/firefox/sayAll_role_combo_box.py	(working copy)
@@ -32,8 +32,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file", 
-    ["BRAILLE LINE:  'Severity Link : Severity normal Combo'",
-     "     VISIBLE:  'Severity Link : Severity normal ', cursor=1",
+    ["BRAILLE LINE:  'Severity : Severity normal Combo'",
+     "     VISIBLE:  'Severity : Severity normal Combo', cursor=1",
      "SPEECH OUTPUT: 'Severity link : Severity normal combo box'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/line_nav_table_cell_links.py
===================================================================
--- test/keystrokes/firefox/line_nav_table_cell_links.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_table_cell_links.py	(working copy)
@@ -64,8 +64,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '<!--> Link'",
-     "     VISIBLE:  '<!--> Link', cursor=1",
+    ["BRAILLE LINE:  '<!-->'",
+     "     VISIBLE:  '<!-->', cursor=1",
      "SPEECH OUTPUT: '<!--> link ",
      "'"]))
 
@@ -73,8 +73,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '<!DOCTYPE> Link'",
-     "     VISIBLE:  '<!DOCTYPE> Link', cursor=1",
+    ["BRAILLE LINE:  '<!DOCTYPE>'",
+     "     VISIBLE:  '<!DOCTYPE>', cursor=1",
      "SPEECH OUTPUT: '<!DOCTYPE> link ",
      "'"]))
 
@@ -82,8 +82,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '<a> Link'",
-     "     VISIBLE:  '<a> Link', cursor=1",
+    ["BRAILLE LINE:  '<a>'",
+     "     VISIBLE:  '<a>', cursor=1",
      "SPEECH OUTPUT: '<a> link ",
      "'"]))
 
@@ -91,8 +91,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '<abbr> Link'",
-     "     VISIBLE:  '<abbr> Link', cursor=1",
+    ["BRAILLE LINE:  '<abbr>'",
+     "     VISIBLE:  '<abbr>', cursor=1",
      "SPEECH OUTPUT: '<abbr> link ",
      "'"]))
 
@@ -100,8 +100,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  '<acronym> Link'",
-     "     VISIBLE:  '<acronym> Link', cursor=1",
+    ["BRAILLE LINE:  '<acronym>'",
+     "     VISIBLE:  '<acronym>', cursor=1",
      "SPEECH OUTPUT: '<acronym> link ",
      "'"]))
 
@@ -112,8 +112,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '<abbr> Link'",
-     "     VISIBLE:  '<abbr> Link', cursor=1",
+    ["BRAILLE LINE:  '<abbr>'",
+     "     VISIBLE:  '<abbr>', cursor=1",
      "SPEECH OUTPUT: '<abbr> link ",
      "'"]))
 
@@ -121,8 +121,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '<a> Link'",
-     "     VISIBLE:  '<a> Link', cursor=1",
+    ["BRAILLE LINE:  '<a>'",
+     "     VISIBLE:  '<a>', cursor=1",
      "SPEECH OUTPUT: '<a> link ",
      "'"]))
 
@@ -130,8 +130,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '<!DOCTYPE> Link'",
-     "     VISIBLE:  '<!DOCTYPE> Link', cursor=1",
+    ["BRAILLE LINE:  '<!DOCTYPE>'",
+     "     VISIBLE:  '<!DOCTYPE>', cursor=1",
      "SPEECH OUTPUT: '<!DOCTYPE> link ",
      "'"]))
 
@@ -139,8 +139,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  '<!--> Link'",
-     "     VISIBLE:  '<!--> Link', cursor=1",
+    ["BRAILLE LINE:  '<!-->'",
+     "     VISIBLE:  '<!-->', cursor=1",
      "SPEECH OUTPUT: '<!--> link ",
      "'"]))
 
Index: test/keystrokes/firefox/line_nav_empty_anchor.py
===================================================================
--- test/keystrokes/firefox/line_nav_empty_anchor.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_empty_anchor.py	(working copy)
@@ -56,16 +56,16 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Q. What's a battery? Link'",
-     "     VISIBLE:  'Q. What's a battery? Link', cursor=1",
+    ["BRAILLE LINE:  'Q. What's a battery?'",
+     "     VISIBLE:  'Q. What's a battery?', cursor=1",
      "SPEECH OUTPUT: 'Q. What's a battery? link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Q. Which way is up? Link'",
-     "     VISIBLE:  'Q. Which way is up? Link', cursor=1",
+    ["BRAILLE LINE:  'Q. Which way is up?'",
+     "     VISIBLE:  'Q. Which way is up?', cursor=1",
      "SPEECH OUTPUT: 'Q. Which way is up? link ",
      "'"]))
 
@@ -73,7 +73,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page? Link'",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page?'",
      "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
      "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page? link ",
      "'"]))
@@ -100,7 +100,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading? Link'",
+    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading?'",
      "     VISIBLE:  'Q. Why would someone put a line ', cursor=1",
      "SPEECH OUTPUT: 'Q. Why would someone put a line break in a heading? link ",
      "'"]))
@@ -109,7 +109,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow? Link'",
+    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow?'",
      "     VISIBLE:  'Q. What is the airspeed velocity', cursor=1",
      "SPEECH OUTPUT: 'Q. What is the airspeed velocity of an unladen swallow? link ",
      "'"]))
@@ -249,7 +249,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow? Link'",
+    ["BRAILLE LINE:  'Q. What is the airspeed velocity of an unladen swallow?'",
      "     VISIBLE:  'Q. What is the airspeed velocity', cursor=1",
      "SPEECH OUTPUT: 'Q. What is the airspeed velocity of an unladen swallow? link ",
      "'"]))
@@ -258,7 +258,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading? Link'",
+    ["BRAILLE LINE:  'Q. Why would someone put a line break in a heading?'",
      "     VISIBLE:  'Q. Why would someone put a line ', cursor=1",
      "SPEECH OUTPUT: 'Q. Why would someone put a line break in a heading? link ",
      "'"]))
@@ -285,7 +285,7 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page? Link'",
+    ["BRAILLE LINE:  'Q. Why did Orca used to get stuck on this page?'",
      "     VISIBLE:  'Q. Why did Orca used to get stuc', cursor=1",
      "SPEECH OUTPUT: 'Q. Why did Orca used to get stuck on this page? link ",
      "'"]))
@@ -294,8 +294,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Q. Which way is up? Link'",
-     "     VISIBLE:  'Q. Which way is up? Link', cursor=1",
+    ["BRAILLE LINE:  'Q. Which way is up?'",
+     "     VISIBLE:  'Q. Which way is up?', cursor=1",
      "SPEECH OUTPUT: 'Q. Which way is up? link ",
      "'"]))
 
@@ -303,8 +303,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Q. What's a battery? Link'",
-     "     VISIBLE:  'Q. What's a battery? Link', cursor=1",
+    ["BRAILLE LINE:  'Q. What's a battery?'",
+     "     VISIBLE:  'Q. What's a battery?', cursor=1",
      "SPEECH OUTPUT: 'Q. What's a battery? link'"]))
 
 sequence.append(utils.StartRecordingAction())
Index: test/keystrokes/firefox/sayAll_wiki.py
===================================================================
--- test/keystrokes/firefox/sayAll_wiki.py	(revision 4153)
+++ test/keystrokes/firefox/sayAll_wiki.py	(working copy)
@@ -35,8 +35,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file", 
-    ["BRAILLE LINE:  'Home Link News Link Projects Link Art Link Support Link Development Link Community Link'",
-     "     VISIBLE:  'Home Link News Link Projects Lin', cursor=1",
+    ["BRAILLE LINE:  'Home News Projects Art Support Development Community'",
+     "     VISIBLE:  'Home News Projects Art Support D', cursor=1",
      "SPEECH OUTPUT: 'Home link News link Projects link Art link Support link Development link Community link'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/line_nav_bugzilla_search.py
===================================================================
--- test/keystrokes/firefox/line_nav_bugzilla_search.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_bugzilla_search.py	(working copy)
@@ -39,7 +39,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file",
-    ["BRAILLE LINE:  'Home Link Image Bugzilla'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Home Link Image Bugzilla'",
      "     VISIBLE:  'Home Link Image Bugzilla', cursor=1",
      "SPEECH OUTPUT: 'Home link image Bugzilla'"]))
 
@@ -50,8 +51,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'New bug Link · Browse Link  · Search Link  · Reports Link  · Account Link  · Admin Link  · Help Link Logged In joanmarie.diggs@gmail.com | Log Out Link'",
-     "     VISIBLE:  'New bug Link · Browse Link  · ', cursor=1",
+    ["BRAILLE LINE:  'New bug · Browse  · Search  · Reports  · Account  · Admin  · Help Logged In joanmarie.diggs@gmail.com | Log Out'",
+     "     VISIBLE:  'New bug · Browse  · Search  ·', cursor=1",
      "SPEECH OUTPUT: 'New bug link · Browse link  · Search link  · Reports link  · Account link  · Admin link  · Help link Logged In joanmarie.diggs@gmail.com | Log Out link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -59,12 +60,12 @@
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
     ["BUG? - For some reason we're getting the page load information",
-     "BRAILLE LINE:  'Short Bug Search Form Link Complicated Bug Search Form'",
-     "     VISIBLE:  'Short Bug Search Form Link Compl', cursor=0",
+     "BRAILLE LINE:  'Short Bug Search Form Complicated Bug Search Form'",
+     "     VISIBLE:  'Short Bug Search Form Complicate', cursor=0",
      "BRAILLE LINE:  'Search for bugs'",
      "     VISIBLE:  'Search for bugs', cursor=0",
-     "BRAILLE LINE:  'Short Bug Search Form Link Complicated Bug Search Form'",
-     "     VISIBLE:  'Short Bug Search Form Link Compl', cursor=0",
+     "BRAILLE LINE:  'Short Bug Search Form Complicated Bug Search Form'",
+     "     VISIBLE:  'Short Bug Search Form Complicate', cursor=0",
      "SPEECH OUTPUT: '  Short Bug Search Form link Complicated Bug Search Form  '",
      "SPEECH OUTPUT: 'Search for bugs page'",
      "SPEECH OUTPUT: '  Short Bug Search Form link Complicated Bug Search Form  '"]))
@@ -73,8 +74,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Give me some help Link (reloads page.)'",
-     "     VISIBLE:  'Give me some help Link (reloads ', cursor=1",
+    ["BRAILLE LINE:  'Give me some help (reloads page.)'",
+     "     VISIBLE:  'Give me some help (reloads page.', cursor=1",
      "SPEECH OUTPUT: 'Give me some help link (reloads page.)'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -121,8 +122,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Component Link :'",
-     "     VISIBLE:  'Component Link :', cursor=1",
+    ["BRAILLE LINE:  'Component :'",
+     "     VISIBLE:  'Component :', cursor=1",
      "SPEECH OUTPUT: 'Component link :'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -185,8 +186,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Keywords Link : contains all of the keywords Combo  $l'",
-     "     VISIBLE:  'Keywords Link : contains all of ', cursor=1",
+    ["BRAILLE LINE:  'Keywords : contains all of the keywords Combo  $l'",
+     "     VISIBLE:  'Keywords : contains all of the k', cursor=1",
      "SPEECH OUTPUT: 'Keywords link : contains all of the keywords combo box text'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -610,7 +611,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Saved Searches: My Bugs and Patches Link | All Orca Link  | Firefox Link  | open orca Link  | Open RFEs Link'",
+    ["BRAILLE LINE:  'Saved Searches: My Bugs and Patches | All Orca  | Firefox  | open orca  | Open RFEs'",
      "     VISIBLE:  'Saved Searches: My Bugs and Pa', cursor=1",
      "SPEECH OUTPUT: 'Saved Searches: My Bugs and Patches link | All Orca link  | Firefox link  | open orca link  | Open RFEs link'"]))
 
@@ -1038,8 +1039,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Keywords Link : contains all of the keywords Combo  $l'",
-     "     VISIBLE:  'Keywords Link : contains all of ', cursor=1",
+    ["BRAILLE LINE:  'Keywords : contains all of the keywords Combo  $l'",
+     "     VISIBLE:  'Keywords : contains all of the k', cursor=1",
      "SPEECH OUTPUT: 'Keywords link : contains all of the keywords combo box text'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1102,8 +1103,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Component Link :'",
-     "     VISIBLE:  'Component Link :', cursor=1",
+    ["BRAILLE LINE:  'Component :'",
+     "     VISIBLE:  'Component :', cursor=1",
      "SPEECH OUTPUT: 'Component link :'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -1150,31 +1151,32 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Give me some help Link (reloads page.)'",
-     "     VISIBLE:  'Give me some help Link (reloads ', cursor=1",
+    ["BRAILLE LINE:  'Give me some help (reloads page.)'",
+     "     VISIBLE:  'Give me some help \(reloads page.', cursor=1",
      "SPEECH OUTPUT: 'Give me some help link (reloads page.)'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Short Bug Search Form Link Complicated Bug Search Form'",
-     "     VISIBLE:  'Short Bug Search Form Link Compl', cursor=0",
+    ["BRAILLE LINE:  'Short Bug Search Form Complicated Bug Search Form'",
+     "     VISIBLE:  'Short Bug Search Form Complicate', cursor=0",
      "SPEECH OUTPUT: '  Short Bug Search Form link Complicated Bug Search Form  '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'New bug Link  · Browse Link  · Search Link  · Reports Link  · Account Link  · Admin Link  · Help Link Logged In joanmarie.diggs@gmail.com | Log Out Link'",
-     "     VISIBLE:  'New bug Link  · Browse Link  ·', cursor=1",
+    ["BRAILLE LINE:  'New bug  · Browse  · Search  · Reports  · Account  · Admin  · Help Logged In joanmarie.diggs@gmail.com | Log Out'",
+     "     VISIBLE:  'New bug  · Browse  · Search  ·', cursor=1",
      "SPEECH OUTPUT: 'New bug link  · Browse link  · Search link  · Reports link  · Account link  · Admin link  · Help link Logged In joanmarie.diggs@gmail.com | Log Out link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Home Link Image Bugzilla'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Home Link Image Bugzilla'",
      "     VISIBLE:  'Home Link Image Bugzilla', cursor=1",
      "SPEECH OUTPUT: 'Home link image Bugzilla'"]))
 
Index: test/keystrokes/firefox/sayAll_bug_511389.py
===================================================================
--- test/keystrokes/firefox/sayAll_bug_511389.py	(revision 4153)
+++ test/keystrokes/firefox/sayAll_bug_511389.py	(working copy)
@@ -31,8 +31,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file",
-    ["BRAILLE LINE:  'Hello world Link , this is a test.'",
-     "     VISIBLE:  'Hello world Link , this is a tes', cursor=1",
+    ["BRAILLE LINE:  'Hello world , this is a test.'",
+     "     VISIBLE:  'Hello world , this is a test.', cursor=1",
      "SPEECH OUTPUT: 'Hello world link , this is a test.'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/html_struct_nav_links.py
===================================================================
--- test/keystrokes/firefox/html_struct_nav_links.py	(revision 4153)
+++ test/keystrokes/firefox/html_struct_nav_links.py	(working copy)
@@ -48,8 +48,8 @@
 sequence.append(KeyComboAction("u"))
 sequence.append(utils.AssertPresentationAction(
     "u to anchors.html link", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=3",
+    ["BRAILLE LINE:  '• anchors.html'",
+     "     VISIBLE:  '• anchors.html', cursor=3",
      "SPEECH OUTPUT: 'anchors.html link'"]))
 
 ########################################################################
@@ -59,8 +59,8 @@
 sequence.append(KeyComboAction("u"))
 sequence.append(utils.AssertPresentationAction(
     "u to blockquotes.html link", 
-    ["BRAILLE LINE:  '• blockquotes.html Link'",
-     "     VISIBLE:  '• blockquotes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• blockquotes.html'",
+     "     VISIBLE:  '• blockquotes.html', cursor=3",
      "SPEECH OUTPUT: 'blockquotes.html link'"]))
 
 ########################################################################
@@ -70,8 +70,8 @@
 sequence.append(KeyComboAction("<Shift>u"))
 sequence.append(utils.AssertPresentationAction(
     "shift + u to anchors.html link", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=3",
+    ["BRAILLE LINE:  '• anchors.html'",
+     "     VISIBLE:  '• anchors.html', cursor=3",
      "SPEECH OUTPUT: 'anchors.html link'"]))
 
 ########################################################################
@@ -84,8 +84,8 @@
 sequence.append(KeyComboAction("<Shift>u"))
 sequence.append(utils.AssertPresentationAction(
     "shift + u wrapping to bottom",
-    ["BRAILLE LINE:  '• textattributes.html Link'",
-     "     VISIBLE:  '• textattributes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• textattributes.html'",
+     "     VISIBLE:  '• textattributes.html', cursor=3",
      "SPEECH OUTPUT: 'Wrapping to bottom.'",
      "SPEECH OUTPUT: 'textattributes.html link'"])) 
 
@@ -96,8 +96,8 @@
 sequence.append(KeyComboAction("<Shift>u"))
 sequence.append(utils.AssertPresentationAction(
     "shift + u to tables.html",
-    ["BRAILLE LINE:  '• tables.html Link'",
-     "     VISIBLE:  '• tables.html Link', cursor=3",
+    ["BRAILLE LINE:  '• tables.html'",
+     "     VISIBLE:  '• tables.html', cursor=3",
      "SPEECH OUTPUT: 'tables.html link'"])) 
 
 ########################################################################
@@ -119,8 +119,8 @@
 sequence.append(KeyComboAction("u"))
 sequence.append(utils.AssertPresentationAction(
     "u to textattributes.html link", 
-    ["BRAILLE LINE:  '• textattributes.html Link'",
-     "     VISIBLE:  '• textattributes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• textattributes.html'",
+     "     VISIBLE:  '• textattributes.html', cursor=3",
      "SPEECH OUTPUT: 'textattributes.html link'"])) 
 
 ########################################################################
@@ -130,8 +130,8 @@
 sequence.append(KeyComboAction("u"))
 sequence.append(utils.AssertPresentationAction(
     "u to anchors.html link", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=3",
+    ["BRAILLE LINE:  '• anchors.html'",
+     "     VISIBLE:  '• anchors.html', cursor=3",
      "SPEECH OUTPUT: 'Wrapping to top.'",
      "SPEECH OUTPUT: 'anchors.html link'"]))
 
@@ -154,8 +154,8 @@
 sequence.append(KeyComboAction("v"))
 sequence.append(utils.AssertPresentationAction(
     "v to tables.html link", 
-    ["BRAILLE LINE:  '• tables.html Link'",
-     "     VISIBLE:  '• tables.html Link', cursor=3",
+    ["BRAILLE LINE:  '• tables.html'",
+     "     VISIBLE:  '• tables.html', cursor=3",
      "SPEECH OUTPUT: 'tables.html link'"]))
 
 ########################################################################
@@ -165,8 +165,8 @@
 sequence.append(KeyComboAction("v"))
 sequence.append(utils.AssertPresentationAction(
     "v to blockquotes.html link", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=3",
+    ["BRAILLE LINE:  '• anchors.html'",
+     "     VISIBLE:  '• anchors.html', cursor=3",
      "SPEECH OUTPUT: 'Wrapping to top.'",
      "SPEECH OUTPUT: 'anchors.html link'"]))
 
@@ -177,8 +177,8 @@
 sequence.append(KeyComboAction("<Shift>v"))
 sequence.append(utils.AssertPresentationAction(
     "shift + v to tables.html link", 
-    ["BRAILLE LINE:  '• tables.html Link'",
-     "     VISIBLE:  '• tables.html Link', cursor=3",
+    ["BRAILLE LINE:  '• tables.html'",
+     "     VISIBLE:  '• tables.html', cursor=3",
      "SPEECH OUTPUT: 'Wrapping to bottom.'",
      "SPEECH OUTPUT: 'tables.html link'"]))
 
Index: test/keystrokes/firefox/html_role_links.py
===================================================================
--- test/keystrokes/firefox/html_role_links.py	(revision 4153)
+++ test/keystrokes/firefox/html_role_links.py	(working copy)
@@ -46,8 +46,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab to anchors.html link", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=3",
+    ["BRAILLE LINE:  '• anchors.html",
+     "     VISIBLE:  '• anchors.html', cursor=3",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'anchors.html link'"]))
 
@@ -58,8 +58,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab to blockquotes.html link", 
-    ["BRAILLE LINE:  '• blockquotes.html Link'",
-     "     VISIBLE:  '• blockquotes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• blockquotes.html'",
+     "     VISIBLE:  '• blockquotes.html', cursor=3",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'blockquotes.html link'"]))
 
@@ -70,8 +70,8 @@
 sequence.append(KeyComboAction("Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Tab to bugzilla_top.html link", 
-    ["BRAILLE LINE:  '• bugzilla_top.html Link'",
-     "     VISIBLE:  '• bugzilla_top.html Link', cursor=3",
+    ["BRAILLE LINE:  '• bugzilla_top.html'",
+     "     VISIBLE:  '• bugzilla_top.html', cursor=3",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'bugzilla_top.html link'"]))
 
@@ -82,8 +82,8 @@
 sequence.append(KeyComboAction("<Shift>Tab"))
 sequence.append(utils.AssertPresentationAction(
     "Shift Tab to blockquotes.html link", 
-    ["BRAILLE LINE:  '• blockquotes.html Link'",
-     "     VISIBLE:  '• blockquotes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• blockquotes.html'",
+     "     VISIBLE:  '• blockquotes.html', cursor=3",
      "SPEECH OUTPUT: ''",
      "SPEECH OUTPUT: 'blockquotes.html link'"]))
 
@@ -96,8 +96,8 @@
 sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
     "Basic Where Am I", 
-    ["BRAILLE LINE:  '• blockquotes.html Link'",
-     "     VISIBLE:  '• blockquotes.html Link', cursor=3",
+    ["BRAILLE LINE:  '• blockquotes.html'",
+     "     VISIBLE:  '• blockquotes.html', cursor=3",
      "SPEECH OUTPUT: 'file link to blockquotes.html'",
      "SPEECH OUTPUT: 'same site'",
      "SPEECH OUTPUT: '1188 bytes'"]))
@@ -128,8 +128,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up to anchors.html", 
-    ["BRAILLE LINE:  '• anchors.html Link'",
-     "     VISIBLE:  '• anchors.html Link', cursor=1",
+    ["BRAILLE LINE:  '• anchors.html'",
+     "     VISIBLE:  '• anchors.html', cursor=1",
      "SPEECH OUTPUT: '• anchors.html link'"]))
 
 ########################################################################
Index: test/keystrokes/firefox/line_nav_enter_bug.py
===================================================================
--- test/keystrokes/firefox/line_nav_enter_bug.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_enter_bug.py	(working copy)
@@ -36,7 +36,8 @@
 sequence.append(KeyComboAction("<Control>Home"))
 sequence.append(utils.AssertPresentationAction(
     "Top of file",
-    ["BRAILLE LINE:  'Home Link Image Bugzilla'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Home Link Image Bugzilla'",
      "     VISIBLE:  'Home Link Image Bugzilla', cursor=1",
      "SPEECH OUTPUT: 'Home link image Bugzilla'"]))
 
@@ -47,8 +48,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'New bug Link · Browse Link  · Search Link  · Reports Link  · Account Link  · Admin Link  · Help Link Logged In joanmarie.diggs@gmail.com | Log Out Link'",
-     "     VISIBLE:  'New bug Link · Browse Link  · ', cursor=1",
+    ["BRAILLE LINE:  'New bug · Browse  · Search  · Reports  · Account  · Admin  · Help Logged In joanmarie.diggs@gmail.com | Log Out'",
+     "     VISIBLE:  'New bug · Browse  · Search  ·', cursor=1",
      "SPEECH OUTPUT: 'New bug link · Browse link  · Search link  · Reports link  · Account link  · Admin link  · Help link Logged In joanmarie.diggs@gmail.com | Log Out link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -78,7 +79,7 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Before reporting a bug, please read the bug writing guidelines Link , please look at the list of most frequently Link'",
+    ["BRAILLE LINE:  'Before reporting a bug, please read the bug writing guidelines , please look at the list of most frequently'",
      "     VISIBLE:  'Before reporting a bug, please r', cursor=1",
      "SPEECH OUTPUT: 'Before reporting a bug, please read the bug writing guidelines link , please look at the list of most frequently link'"]))
 
@@ -87,8 +88,8 @@
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
     ["BUG? - We're missing some info in braille",
-     "BRAILLE LINE:  'reported bugs Link  search Link  browse Link '",
-     "     VISIBLE:  'reported bugs Link  search Link ', cursor=1",
+     "BRAILLE LINE:  'reported bugs  search  browse '",
+     "     VISIBLE:  'reported bugs  search  browse ', cursor=1",
      "SPEECH OUTPUT: 'reported bugs link , and please search link  or browse link  for the bug.'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -111,8 +112,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Version: List Component Link : List'",
-     "     VISIBLE:  'Version: List Component Link : L', cursor=1",
+    ["BRAILLE LINE:  'Version: List Component : List'",
+     "     VISIBLE:  'Version: List Component : List', cursor=1",
      "SPEECH OUTPUT: 'Version: 2.21.x List with 9 items Component link : braille List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -127,8 +128,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'GNOME Link'",
-     "     VISIBLE:  'GNOME Link', cursor=1",
+    ["BRAILLE LINE:  'GNOME'",
+     "     VISIBLE:  'GNOME', cursor=1",
      "SPEECH OUTPUT: 'GNOME link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -136,32 +137,33 @@
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
     ["BUG? - We're missing the colon in the braille",
-     "BRAILLE LINE:  'version Link '",
-     "     VISIBLE:  'version Link ', cursor=1",
+     "BRAILLE LINE:  'version '",
+     "     VISIBLE:  'version ', cursor=1",
      "SPEECH OUTPUT: 'version link :'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'GNOME Link Unspecified Combo'",
-     "     VISIBLE:  'GNOME Link Unspecified Combo', cursor=0",
+    ["BRAILLE LINE:  'GNOME Unspecified Combo'",
+     "     VISIBLE:  'GNOME Unspecified Combo', cursor=0",
      "SPEECH OUTPUT: 'GNOME link Unspecified combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'OS Link : Linux Combo'",
-     "     VISIBLE:  'OS Link : Linux Combo', cursor=1",
+    ["BUG? - When we used the role 'Link' in braille, it made sense to have the space after the role and before the non-linked text which followed; now that we're underlining instead, this space needs to be removed. This issue is present throughout the tests, but I am only marking a few cases.",
+     "BRAILLE LINE:  'OS : Linux Combo'",
+     "     VISIBLE:  'OS : Linux Combo', cursor=1",
      "SPEECH OUTPUT: 'OS link : Linux combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Severity Link : normal Combo'",
-     "     VISIBLE:  'Severity Link : normal Combo', cursor=1",
+    ["BRAILLE LINE:  'Severity : normal Combo'",
+     "     VISIBLE:  'Severity : normal Combo', cursor=1",
      "SPEECH OUTPUT: 'Severity link : normal combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -216,8 +218,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Keywords Link :  $l'",
-     "     VISIBLE:  'Keywords Link :  $l', cursor=1",
+    ["BRAILLE LINE:  'Keywords :  $l'",
+     "     VISIBLE:  'Keywords :  $l', cursor=1",
      "SPEECH OUTPUT: 'Keywords link : text'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -272,8 +274,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BRAILLE LINE:  'Saved Searches: All Orca Link | Firefox Link  | open orca Link  | Open RFEs Link'",
-     "     VISIBLE:  'Saved Searches: All Orca Link ', cursor=1",
+    ["BRAILLE LINE:  'Saved Searches: All Orca | Firefox  | open orca  | Open RFEs'",
+     "     VISIBLE:  'Saved Searches: All Orca | Fir', cursor=1",
      "SPEECH OUTPUT: 'Saved Searches: All Orca link | Firefox link  | open orca link  | Open RFEs link'"]))
 
 ########################################################################
@@ -331,8 +333,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Keywords Link :  $l'",
-     "     VISIBLE:  'Keywords Link :  $l', cursor=1",
+    ["BRAILLE LINE:  'Keywords :  $l'",
+     "     VISIBLE:  'Keywords :  $l', cursor=1",
      "SPEECH OUTPUT: 'Keywords link : text'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -387,24 +389,24 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Severity Link : normal Combo'",
-     "     VISIBLE:  'Severity Link : normal Combo', cursor=1",
+    ["BRAILLE LINE:  'Severity : normal Combo'",
+     "     VISIBLE:  'Severity : normal Combo', cursor=1",
      "SPEECH OUTPUT: 'Severity link : normal combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'OS Link : Linux Combo'",
-     "     VISIBLE:  'OS Link : Linux Combo', cursor=1",
+    ["BRAILLE LINE:  'OS : Linux Combo'",
+     "     VISIBLE:  'OS : Linux Combo', cursor=1",
      "SPEECH OUTPUT: 'OS link : Linux combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'GNOME Link Unspecified Combo'",
-     "     VISIBLE:  'GNOME Link Unspecified Combo', cursor=1",
+    ["BRAILLE LINE:  'GNOME Unspecified Combo'",
+     "     VISIBLE:  'GNOME Unspecified Combo', cursor=1",
      "SPEECH OUTPUT: 'GNOME link Unspecified combo box'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -419,8 +421,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Version: List Component Link : List'",
-     "     VISIBLE:  'Version: List Component Link : L', cursor=1",
+    ["BRAILLE LINE:  'Version: List Component : List'",
+     "     VISIBLE:  'Version: List Component : List', cursor=1",
      "SPEECH OUTPUT: 'Version: 2.21.x List with 9 items Component link : braille List with 5 items'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -444,15 +446,15 @@
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
     ["BUG? - We're missing some info in braille",
-     "BRAILLE LINE:  'reported bugs Link  search Link  browse Link '",
-     "     VISIBLE:  'reported bugs Link  search Link ', cursor=1",
+     "BRAILLE LINE:  'reported bugs  search  browse '",
+     "     VISIBLE:  'reported bugs  search browse ', cursor=1",
      "SPEECH OUTPUT: 'reported bugs link , and please search link  or browse link  for the bug.'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Before reporting a bug, please read the bug writing guidelines Link , please look at the list of most frequently Link'",
+    ["BRAILLE LINE:  'Before reporting a bug, please read the bug writing guidelines , please look at the list of most frequently'",
      "     VISIBLE:  'Before reporting a bug, please r', cursor=1",
      "SPEECH OUTPUT: 'Before reporting a bug, please read the bug writing guidelines link , please look at the list of most frequently link'"]))
 
@@ -476,15 +478,16 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'New bug Link  · Browse Link  · Search Link  · Reports Link  · Account Link  · Admin Link  · Help Link Logged In joanmarie.diggs@gmail.com | Log Out Link'",
-     "     VISIBLE:  'New bug Link  · Browse Link  ·', cursor=1",
+    ["BRAILLE LINE:  'New bug  · Browse  · Search  · Reports  · Account  · Admin  · Help Logged In joanmarie.diggs@gmail.com | Log Out'",
+     "     VISIBLE:  'New bug · Browse  · Search  ·', cursor=1",
      "SPEECH OUTPUT: 'New bug link  · Browse link  · Search link  · Reports link  · Account link  · Admin link  · Help link Logged In joanmarie.diggs@gmail.com | Log Out link'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "Line Up",
-    ["BRAILLE LINE:  'Home Link Image Bugzilla'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'Home Link Image Bugzilla'",
      "     VISIBLE:  'Home Link Image Bugzilla', cursor=1",
      "SPEECH OUTPUT: 'Home link image Bugzilla'"]))
 
Index: test/keystrokes/firefox/line_nav_nested_tables.py
===================================================================
--- test/keystrokes/firefox/line_nav_nested_tables.py	(revision 4153)
+++ test/keystrokes/firefox/line_nav_nested_tables.py	(working copy)
@@ -36,8 +36,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "1. line Down",
-    ["BRAILLE LINE:  'Campus Link   . Classroom Link   . Communicate Link   . Reports Link'",
-     "     VISIBLE:  'Campus Link   . Classroom Link', cursor=1",
+    ["BRAILLE LINE:  'Campus   . Classroom   . Communicate   . Reports'",
+     "     VISIBLE:  'Campus   . Classroom   . Com', cursor=1",
      "SPEECH OUTPUT: 'Campus link   .   Classroom link   .   Communicate link   .   Reports link  '"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -76,8 +76,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "6. line Down",
-    ["BRAILLE LINE:  'Take Course Link'",
-     "     VISIBLE:  'Take Course Link', cursor=0",
+    ["BRAILLE LINE:  'Take Course'",
+     "     VISIBLE:  'Take Course', cursor=0",
      "SPEECH OUTPUT: '  Take Course link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -108,8 +108,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "10. line Down",
-    ["BRAILLE LINE:  'Take Course Link'",
-     "     VISIBLE:  'Take Course Link', cursor=0",
+    ["BRAILLE LINE:  'Take Course'",
+     "     VISIBLE:  'Take Course', cursor=0",
      "SPEECH OUTPUT: '  Take Course link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -143,8 +143,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "2. line Up",
-    ["BRAILLE LINE:  'Take Course Link'",
-     "     VISIBLE:  'Take Course Link', cursor=0",
+    ["BRAILLE LINE:  'Take Course'",
+     "     VISIBLE:  'Take Course', cursor=0",
      "SPEECH OUTPUT: '  Take Course link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -175,8 +175,8 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "6. line Up",
-    ["BRAILLE LINE:  'Take Course Link'",
-     "     VISIBLE:  'Take Course Link', cursor=0",
+    ["BRAILLE LINE:  'Take Course'",
+     "     VISIBLE:  'Take Course', cursor=0",
      "SPEECH OUTPUT: '  Take Course link'"]))
 
 sequence.append(utils.StartRecordingAction())
@@ -215,15 +215,16 @@
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "11. line Up",
-    ["BRAILLE LINE:  'Campus Link   . Classroom Link   . Communicate Link   . Reports Link'",
-     "     VISIBLE:  'Campus Link   . Classroom Link', cursor=1",
+    ["BRAILLE LINE:  'Campus   . Classroom   . Communicate   . Reports'",
+     "     VISIBLE:  'Campus   . Classroom   . Com', cursor=1",
      "SPEECH OUTPUT: 'Campus link   .   Classroom link   .   Communicate link   .   Reports link  '"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Up"))
 sequence.append(utils.AssertPresentationAction(
     "12. line Up",
-    ["BRAILLE LINE:  'nested-tables Link Image'",
+    ["BUG? - Should we be dropping the 'Link' here as well -- or not because we aren't yet underlining image links?",
+     "BRAILLE LINE:  'nested-tables Link Image'",
      "     VISIBLE:  'nested-tables Link Image', cursor=1",
      "SPEECH OUTPUT: 'nested-tables link image'"]))
 
Index: src/orca/scripts/toolkits/Gecko/script.py
===================================================================
--- src/orca/scripts/toolkits/Gecko/script.py	(revision 4154)
+++ src/orca/scripts/toolkits/Gecko/script.py	(working copy)
@@ -2072,12 +2072,9 @@
                                             endOffset=endOffset)]
 
                 if link:
-                    regions = [braille.Component(
-                            link,
-                            string + " " + \
-                                rolenames.getBrailleForRoleName(link),
-                            focusedCharacterOffset - startOffset,
-                            expandOnCursor=True)]
+                    regions = [braille.Link(
+                            link, string,
+                            focusedCharacterOffset - startOffset)]
                 elif obj.getRole() == pyatspi.ROLE_CAPTION:
                     regions.append(braille.Region(
                         " " + rolenames.getBrailleForRoleName(obj)))
Index: src/orca/dbusserver.py
===================================================================
--- src/orca/dbusserver.py	(revision 4153)
+++ src/orca/dbusserver.py	(working copy)
@@ -136,7 +136,7 @@
             except:
                 debug.printException(debug.LEVEL_OFF)
             stringIO = StringIO.StringIO()
-        return result
+        return result.decode("UTF-8", "replace")
 
 obj = None
 
Index: src/orca/braille.py
===================================================================
--- src/orca/braille.py	(revision 4154)
+++ src/orca/braille.py	(working copy)
@@ -451,6 +451,24 @@
         else:
             action.doAction(0)
 
+class Link(Component):
+    """A subclass of Component backed by an accessible.  This Region will be
+     marked as a link by dots 7 or 8, depending on the user's preferences.
+    """
+    def __init__(self, accessible, string, cursorOffset=0):
+        """Initialize a Link region. similar to Component, but here we always
+        have the region expand on cursor."""
+        Component.__init__(self, accessible, string, cursorOffset, '', True)
+
+    def getAttributeMask(self, getLinkMask=True):
+        """Creates a string which can be used as the attrOr field of brltty's
+        write structure for the purpose of indicating text attributes and
+        selection."""
+
+        # Create an link indicator mask.
+        #
+        return chr(settings.brailleLinkIndicator) * len(self.string)
+
 class Text(Region):
     """A subclass of Region backed by a Text object.  This Region will
     react to any cursor routing key events by positioning the caret in
@@ -643,7 +661,7 @@
                     contractedMask[outPos[i]] |= m
                 except IndexError:
                     continue
-            regionMask = contractedMask
+            regionMask = contractedMask[:len(self.string)]
 
         # Add empty mask characters for the EOL character as well as for
         # any label that might be present.
