Skip to main content

Issue - Profiles - Using start events on disappearing objects

Handling Missing Clicked Object Names in UXM

Issue

The clicked object disappears before UXM can capture its content, resulting in "LeftMouseClick" events with an empty "name" property.

Example: A popup menu that disappears immediately when clicking "My activities".

(Screenshot reference: mceclip0.png)


Solution

Use ObjectFocus events instead.
They are generated immediately when an object is clicked or activated via the keyboard, ensuring the element’s properties are captured correctly.


Browser Behavior Comparison

Firefox

Firefox successfully detects the clicked element's name property in both LeftMouseClick and ObjectFocus events.

{
"timestamp": "1626864095",
"utcDateTime": "2021-07-21 10:41:35",
"collectionDelayMs": "1.992",
"collectionTimeMs": "37.9",
"collectionTimeAccessibleMs": "8",
"collectionTimeAccessibleParentMs": "2",
"collectionTimeWin32Ms": "2",
"collectionTimeUIAutomationMs": "0",
"typeID": "5",
"type": "LeftMouseClick",
"name": "My activities",
"win32_name": "Requests – MCG Support - Mozilla Firefox",
"point": "1621x337",
"role": "menu item",
"eventClass": "MozillaWindowClass",
"state": "focused",
"firstNonChildWindowTitle": "Requests – MCG Support - Mozilla Firefox",
"firstNonChildWindowClass": "MozillaWindowClass",
"processId": "14436",
"processName": "firefox.exe",
"parentRole": "popup menu",
"windowHandle": "402816",
"topWindowHandle": "402816"
}
{
"timestamp": "1626864095",
"utcDateTime": "2021-07-21 10:41:35",
"collectionDelayMs": "22.94",
"collectionTimeMs": "6.783",
"collectionTimeAccessibleMs": "4",
"collectionTimeAccessibleParentMs": "1",
"collectionTimeWin32Ms": "0",
"collectionTimeUIAutomationMs": "0",
"typeID": "14",
"type": "ObjectFocus",
"name": "My activities",
"win32_name": "Requests – MCG Support - Mozilla Firefox",
"role": "menu item",
"eventClass": "MozillaWindowClass",
"state": "focused",
"firstNonChildWindowTitle": "Requests – MCG Support - Mozilla Firefox",
"firstNonChildWindowClass": "MozillaWindowClass",
"processId": "14436",
"threadId": "21120",
"processName": "firefox.exe",
"parentRole": "popup menu",
"windowHandle": "402816",
"topWindowHandle": "402816"
}

Microsoft Edge

In Edge, the "name" property is missing from LeftMouseClick events.
Use the "ObjectFocus" event instead to capture the element name correctly.

{
"timestamp": "1626864307",
"utcDateTime": "2021-07-21 10:45:07",
"collectionDelayMs": "2",
"collectionTimeMs": "22.339",
"collectionTimeAccessibleMs": "10",
"collectionTimeAccessibleParentMs": "4",
"collectionTimeWin32Ms": "1",
"collectionTimeUIAutomationMs": "0",
"typeID": "5",
"type": "LeftMouseClick",
"win32_name": "Chrome Legacy Window",
"point": "1593x307",
"role": "list",
"eventClass": "Chrome_RenderWidgetHostHWND",
"state": "read only",
"firstNonChildWindowTitle": "Requests – MCG Support - Work - Microsoft​ Edge",
"firstNonChildWindowClass": "Chrome_WidgetWin_1",
"processId": "1428",
"processName": "msedge.exe",
"parentRole": "grouping",
"windowHandle": "337354",
"topWindowHandle": "337354"
}
{
"timestamp": "1626864307",
"utcDateTime": "2021-07-21 10:45:07",
"collectionDelayMs": "8.382",
"collectionTimeMs": "6.819",
"collectionTimeAccessibleMs": "5",
"collectionTimeAccessibleParentMs": "2",
"collectionTimeWin32Ms": "0",
"collectionTimeUIAutomationMs": "0",
"typeID": "14",
"type": "ObjectFocus",
"name": "My activities",
"win32_name": "Chrome Legacy Window",
"role": "menu item",
"eventClass": "Chrome_RenderWidgetHostHWND",
"state": "focused",
"firstNonChildWindowTitle": "Requests – MCG Support - Work - Microsoft​ Edge",
"firstNonChildWindowClass": "Chrome_WidgetWin_1",
"processId": "1428",
"threadId": "21836",
"processName": "msedge.exe",
"parentRole": "popup menu",
"windowHandle": "4001966",
"topWindowHandle": "337354"
}

Google Chrome

Like Edge, Chrome’s LeftMouseClick event is missing the "name" property.
Use the ObjectFocus event instead to capture "name".

{
"timestamp": "1626864731",
"utcDateTime": "2021-07-21 10:52:11",
"collectionDelayMs": "2.006",
"collectionTimeMs": "29.286",
"collectionTimeAccessibleMs": "12",
"collectionTimeAccessibleParentMs": "6",
"collectionTimeWin32Ms": "0",
"collectionTimeUIAutomationMs": "0",
"typeID": "5",
"type": "LeftMouseClick",
"win32_name": "Chrome Legacy Window",
"point": "1592x288",
"role": "list",
"eventClass": "Chrome_RenderWidgetHostHWND",
"state": "read only",
"firstNonChildWindowTitle": "Requests – MCG Support – Google Chrome",
"firstNonChildWindowClass": "Chrome_WidgetWin_1",
"processId": "20276",
"processName": "chrome.exe",
"parentRole": "grouping",
"windowHandle": "134810",
"topWindowHandle": "134810"
}
{
"timestamp": "1626864731",
"utcDateTime": "2021-07-21 10:52:11",
"collectionDelayMs": "22.306",
"collectionTimeMs": "10.765",
"collectionTimeAccessibleMs": "6",
"collectionTimeAccessibleParentMs": "3",
"collectionTimeWin32Ms": "0",
"collectionTimeUIAutomationMs": "0",
"typeID": "14",
"type": "ObjectFocus",
"name": "My activities",
"win32_name": "Chrome Legacy Window",
"role": "menu item",
"eventClass": "Chrome_RenderWidgetHostHWND",
"state": "focused",
"firstNonChildWindowTitle": "Requests – MCG Support – Google Chrome",
"firstNonChildWindowClass": "Chrome_WidgetWin_1",
"processId": "20276",
"threadId": "20280",
"processName": "chrome.exe",
"parentRole": "popup menu",
"windowHandle": "1117892",
"topWindowHandle": "134810"
}