Open
Description
Since chrome >= 128 passing --headless
will default to use --headless=new
. This causes the lazy loaded iframe to have unwanted side effects when running axe and does not catch the #lazy-frame
as part of the incomplete results. I have verified that this is also the case in fully headed mode. Note: this also is an issue with our @axe-core/webdriverjs integration when running fully headed or headless=new.
The test in question:
I have verified on Chomedriver 126 this issue doesn't appear. The intermediate workaround is to pass --headless=old
as part of the chrome arguments which acts like the old --headless
mode.
Follow ups include:
- Identifying if this is considered an axe-core bug, running in headed or headless=new mode does not cause the
#lazy-iframe
to be part of the incomplete results for the frame-tested rule. Note that this doesn't appear to be an issue with Playwright and might be a limitation on Seleniums side and/or a behavioural difference about how the lazy iframes are loaded. - Once we've figured out a fix, we should go and update the test to account for the new changes and amend the headless flag to either the default behaviour or headless=new.