Skip to content

Chrome 138 Native UIA breaks unattended automation - RenderWidget accessibility not initialized without focus #88

Description

@pdeogade1998

Hi Descolada,

Chrome 138 introduced Native UIA Provider
which breaks unattended automation for
Chromium/Electron based apps.

ISSUE:
After page navigation in unattended mode,
new RenderWidget is created but accessibility
tree never initializes because window has
no real desktop focus.

EVIDENCE:

  • Old RenderWidget: 919204
  • New RenderWidget: 1639060 (after navigation)
  • Children count : 0 for 30+ seconds
  • WM_GETOBJECT : ignored without real focus
  • Attended mode : works fine

ROOT CAUSE:
Chrome 138 changed from proxy-based UIA
to native UIA implementation.
Native UIA requires real desktop focus
to initialize accessibility on new renderers.

Reference:
https://developer.chrome.com/blog/windows-uia-support-update

POSSIBLE LIBRARY IMPROVEMENTS:

  1. ElementFromChromium() could auto-detect
    new RenderWidget after navigation and
    retry activation signal

  2. Add built-in retry loop for empty trees
    after Chromium page navigation

Will like to know your thoughts on this..
Can you please create a small example on Chromium based application, i will share you example where i am facing issue. Please suggest something...

How to use:

  1. Rename file extension Youtube_Test.ahk
  2. You can use exact same script make sure of log folder and lib.
  3. Run it in Active window(Attended mode)
  4. Run it in Disconnected state(Unattended mode), for this you can create new RDP user and connect using that user, execute script it has 10sec delay then you can disconnect RDP session(don't signout else it will close Intercative session), reconnect session to see output..
  5. Check for Log and Dump files for difference in Attended and UnAttended mode

Youtube_Test.ahk.txt

I am having trouble with this since few week,, i hope you will be able to help me out..

Looking to hear from you...

Thanks
PIYUSH

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions