Use URL instead of title
diff --git a/resources/testdriver.js b/resources/testdriver.js
index 6d77b9d..ac3ed65 100644
--- a/resources/testdriver.js
+++ b/resources/testdriver.js
@@ -1076,7 +1076,7 @@
          *                    rejected in the cases of failures.
          */
         get_accessibility_api_node: async function(dom_id) {
-            return window.test_driver_internal.get_accessibility_api_node(document.title, dom_id)
+            return window.test_driver_internal.get_accessibility_api_node(dom_id, location.href)
                 .then((jsonresult) => {
                   return JSON.parse(jsonresult);
                 });
@@ -1270,7 +1270,7 @@
             throw new Error("clear_device_posture() is not implemented by testdriver-vendor.js");
         },
 
-        async get_accessibility_api_node(title, dom_id) {
+        async get_accessibility_api_node(dom_id, url) {
             throw new Error("get_accessibility_api_node() is not available.");
         }
     };
diff --git a/tools/wptrunner/wptrunner/executors/actions.py b/tools/wptrunner/wptrunner/executors/actions.py
index 060d147..41c5658 100644
--- a/tools/wptrunner/wptrunner/executors/actions.py
+++ b/tools/wptrunner/wptrunner/executors/actions.py
@@ -472,9 +472,9 @@
         self.protocol = protocol
 
     def __call__(self, payload):
-        title = payload["title"]
         dom_id = payload["dom_id"]
-        return self.protocol.platform_accessibility.get_accessibility_api_node(title, dom_id)
+        url = payload["url"]
+        return self.protocol.platform_accessibility.get_accessibility_api_node(dom_id, url)
 
 
 actions = [ClickAction,
diff --git a/tools/wptrunner/wptrunner/executors/executoraxapi.py b/tools/wptrunner/wptrunner/executors/executoraxapi.py
index c9c52fd..54c4fea 100644
--- a/tools/wptrunner/wptrunner/executors/executoraxapi.py
+++ b/tools/wptrunner/wptrunner/executors/executoraxapi.py
@@ -91,7 +91,7 @@
             raise Exception(f"Couldn't find application: {product_name}")
 
 
-    def get_accessibility_api_node(self, title, dom_id):
+    def get_accessibility_api_node(self, dom_id, url):
         tab = find_active_tab(self.root)
         node = find_node(tab, "AXDOMIdentifier", dom_id)
         if not node:
diff --git a/tools/wptrunner/wptrunner/executors/executorplatformaccessibility.py b/tools/wptrunner/wptrunner/executors/executorplatformaccessibility.py
index 35fd6d4..f7868dc 100644
--- a/tools/wptrunner/wptrunner/executors/executorplatformaccessibility.py
+++ b/tools/wptrunner/wptrunner/executors/executorplatformaccessibility.py
@@ -33,5 +33,5 @@
             self.impl = WindowsAccessibilityExecutorImpl()
             self.impl.setup(self.product_name)
 
-    def get_accessibility_api_node(self, title, dom_id):
-        return self.impl.get_accessibility_api_node(title, dom_id)
+    def get_accessibility_api_node(self, dom_id, url):
+        return self.impl.get_accessibility_api_node(dom_id, url)
diff --git a/tools/wptrunner/wptrunner/executors/executorwindowsaccessibility.py b/tools/wptrunner/wptrunner/executors/executorwindowsaccessibility.py
index d877740..bca19b4 100644
--- a/tools/wptrunner/wptrunner/executors/executorwindowsaccessibility.py
+++ b/tools/wptrunner/wptrunner/executors/executorwindowsaccessibility.py
@@ -67,22 +67,22 @@
     root = accessible_object_from_window(hwnd)

     return to_ia2(root)

 

-def poll_for_tab(title, root):

-    tab = find_tab(title, root)

+def poll_for_tab(url, root):

+    tab = find_tab(url, root)

     while not tab:

         time.sleep(0.01)

-        tab = find_tab(title, root)

+        tab = find_tab(url, root)

     return tab

 

-def find_tab(title, root):

+def find_tab(url, root):

     for i in range(1, root.accChildCount + 1):

         child = to_ia2(root.accChild(i))

         if child.accRole(CHILDID_SELF) == ROLE_SYSTEM_DOCUMENT:

-            if child.accName(CHILDID_SELF) == title:

+            if child.accValue(CHILDID_SELF) == url:

                 return child

             # No need to search within documents.

             return

-        descendant = find_tab(title, child)

+        descendant = find_tab(url, child)

         if descendant:

             return descendant

 

@@ -115,12 +115,12 @@
     def setup(self, product_name):

         self.product_name = product_name

 

-    def get_accessibility_api_node(self, title, dom_id):

+    def get_accessibility_api_node(self, dom_id, url):

         self.root = find_browser(self.product_name)

         if not self.root:

             raise Exception(f"Couldn't find browser {self.product_name}.")

         

-        tab = poll_for_tab(title, self.root)

+        tab = poll_for_tab(url, self.root)

         node = find_ia2_node(tab, dom_id)

         if not node:

             raise Exception(f"Couldn't find node with ID {dom_id}.")

diff --git a/tools/wptrunner/wptrunner/testdriver-extra.js b/tools/wptrunner/wptrunner/testdriver-extra.js
index 9f8427e..9a5880b 100644
--- a/tools/wptrunner/wptrunner/testdriver-extra.js
+++ b/tools/wptrunner/wptrunner/testdriver-extra.js
@@ -336,7 +336,7 @@
         return create_action("clear_device_posture", {context});
     };
 
-    window.test_driver_internal.get_accessibility_api_node = function(title, dom_id) {
-        return create_action("get_accessibility_api_node", {title, dom_id});
+    window.test_driver_internal.get_accessibility_api_node = function(dom_id, url) {
+        return create_action("get_accessibility_api_node", {dom_id, url});
     };
 })();