In Chrome And Edge v117 The Active Accessibility Support Is Broken For IFRAMEs And PDFs

Save as and open option of Download pop up in Edge browser could not be identified in UiPath.

Starting with Chrome and Edge v117 we are seeing a new bug that affects Active Accessibility support for web pages that contain IFRAMEs or PDF documents.

This bug means that selectors for those web pages might fail.

Available Workaround:

  1. Start the browser with this flag added to the command line:
  • --force-renderer-accessibility=complete
  1. Since UiPath.UIAutomation.Activities v23.8.0-preview this can be easily done from Project Settings:
  • Project Settings → UI Automation Classic → Browser → Extra arguments for OpenBrowser Chrome/Edge

Notes:

Code Fix:

A code fix for this issue will be included in UiPath.UIAutomation.Activities v23.10.0-preview, which is scheduled to be released next week.

This fix will remove the need to add the --force-renderer-accessibility=complete flag when starting the browser.

It is recommended to keep this flag, to avoid issues such as this in the future.

Why is the --force-renderer-accessibility=complete flag not added by default?

Enabling the support for Active Accessibility in the browser causes a slightly higher memory consumption.

To avoid this overhead the UiPath.UIAutomation.Activities enables support for Active Accessibility only when needed - e.g. when searching for browser UI elements using selectors.

However, add the --force-renderer-accessibility=complete flag force-enables support Active Accessibility, and it will help guard against issues such as this in Chrome/Edge v117 and this in Chrome/Edge v114 5.

Further info regarding this bug: This bug was caused by this Chromium change,

[A11y] Fix for longstanding hypertext errors 7

This issue is reported as a Chromium bug, and it is expected that it will be a while until this bug is fixed in Chromium.

Below is an example of a selector that is affected by this bug.

Reproduction Steps:

  1. Make sure that Chrome v117 is completely closed
  2. Open Chrome and navigate to https://www.w3schools.com/html/html_iframe.asp
  3. Validate the selector from above using UiExplorer
  4. Observe that it fails to match the target element → this is the bug
  5. Refresh the web page
  6. Validate the selector from above using UiExplorer again
  7. Observe that it now matches the target element.

----------------
Updates as of 06-Oct-2023

The code fix for this issue is now available in the following versions of UiPath.UIAutomation.Activities:

These patches also add the option to pass extra command-line arguments to the browser opened using the Open Browser / Use Browser activities.

This can be done by setting the appropriate environment variable:

  • UIPATH_EXTRA_CMD_ARGS_CHROME
  • UIPATH_EXTRA_CMD_ARGS_EDGE
  • UIPATH_EXTRA_CMD_ARGS_FIREFOX

This can be used to force-enable the Active Accessibility support in Chrome and Edge to avoid issues like the broken Chrome/Edge Active Accessibility support from versions 114 and 117.
For Chrome, this can be done by setting environment variable UIPATH_EXTRA_CMD_ARGS_ CHROME with the value --force-renderer-accessibility=complete.
For Edge, this can be done by setting environment variable UIPATH_EXTRA_CMD_ARGS_ EDGE with the value --force-renderer-accessibility=complete.
These environment variables can be set using the Set Environment Variable 2 activity.

-----------------