Index: src/orca/scripts/toolkits/Gecko/script.py
===================================================================
--- src/orca/scripts/toolkits/Gecko/script.py	(revision 4183)
+++ src/orca/scripts/toolkits/Gecko/script.py	(working copy)
@@ -3068,6 +3068,24 @@
         else:
             uri = hyperlink.getURI(0)
             if uri and len(uri):
+                # Sometimes the URI is an expression that includes a URL.
+                #
+                expression = uri.split(',')
+                if len(expression) > 1:
+                    for item in expression:
+                        if item.find('://') >=0:
+                            if not item[0].isalnum():
+                                item = item[1:-1]
+                            if not item[-1].isalnum():
+                                item = item[0:-2]
+                            uri = item
+                            break
+
+                # We're assuming that there IS a base name to be
+                # had. What if there's not?
+                #
+                uri = uri.split('://')[-1]
+
                 # Get the last thing after all the /'s, unless it ends
                 # in a /.  If it ends in a /, we'll look to the stuff
                 # before the ending /.
@@ -3075,6 +3093,8 @@
                 if uri[-1] == "/":
                     basename = uri[0:-1]
                     basename = basename.split('/')[-1]
+                elif not uri.count("/"):
+                    basename = uri
                 else:
                     basename = uri.split('/')[-1]
                     if basename.startswith("index"):
