diff --git a/src/orca/script_manager.py b/src/orca/script_manager.py
index 9fd0679..7594297 100644
--- a/src/orca/script_manager.py
+++ b/src/orca/script_manager.py
@@ -59,6 +59,8 @@ class ScriptManager:
              'pluma': 'gedit',
              'org.gnome.gedit': 'gedit',
             }
+        self._toolkitNames = \
+            {'WebKitGTK': 'WebKitGtk'}
 
         self.setActiveScript(None, "__init__")
         self._desktop = pyatspi.Registry.getDesktop(0)
@@ -135,6 +137,7 @@ class ScriptManager:
             else:
                 attrs = dict([attr.split(':', 1) for attr in attributes])
                 name = attrs.get('toolkit', '')
+                name = self._toolkitNames.get(name, name)
 
         return name
 
diff --git a/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py b/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py
index da90371..5414620 100644
--- a/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py
+++ b/src/orca/scripts/toolkits/WebKitGtk/script_utilities.py
@@ -61,7 +61,7 @@ class Utilities(script_utilities.Utilities):
             attrs = dict([attr.split(':', 1) for attr in obj.getAttributes()])
         except:
             return False
-        return attrs.get('toolkit', '') == 'WebKitGtk'
+        return attrs.get('toolkit', '') in ['WebKitGtk', 'WebKitGTK']
 
     def getCaretContext(self):
         # TODO - JD: This is private, but it's only here temporarily until we
diff --git a/src/orca/structural_navigation.py b/src/orca/structural_navigation.py
index 24819b7..418c540 100644
--- a/src/orca/structural_navigation.py
+++ b/src/orca/structural_navigation.py
@@ -875,7 +875,17 @@ class StructuralNavigation:
         if matches:
             return matches.copy(), criteria
 
-        col = document.queryCollection()
+        try:
+            col = document.queryCollection()
+        except NotImplementedError:
+            msg = "STRUCTURAL NAVIGATION: %s does not implement collection" % document
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return [], None
+        except:
+            msg = "STRUCTURAL NAVIGATION: Exception querying collection on %s" % document
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return [], None
+
         criteria = structuralNavigationObject.criteria(col, arg)
         rule = col.createMatchRule(criteria.states.raw(),
                                    criteria.matchStates,
