-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chrome WPT failures may be due to incorrect implementation in ChromeDriver ExecuteGetComputedLabel #65
Comments
I think this might only be a problem for one investigation issue, which is intended to carry over into the 2024 investigation: |
IOW, I don't understand how it would affect any of the current WPT tests as written. |
I thought it was about how the webdriver Get Computed Role command was implemented for Chrome, but maybe @dtsengchromium can clarify. |
@zcorpan is correct. WPT asks for an accessibility tree snapshot from webdriver which prunes "uninteresting" nodes a lot of which WPT attempts to test for e.g. |
Ah, I understand now. Thanks for clarifying. |
Yes, thanks for clarifying. Here's the direct link to the |
@jugglinmike since you are investigating, would you be the right person to take assignement of this issue and potentially provide a patch. |
Actually, if I am reading this subset of @jugglinmike's call stack investigation correctly, isn't this a bug in Chromium's implementation of WebDriver |
It's not really a bug. The current set of users of Chrome driver / Puppeteer simply don't care about a large majority of the nodes. Presumably they are using it for test automation purposes. I think that's true for most usages of CDP today. The fix from a high level is for WPT to ask for uninteresting nodes from Chrome driver or Puppeteer. I'm also a bit unclear on what get computed role/label mean in these contexts and who added that support. Is label supposed to mean accessible name computation or something else? |
The WebDriver spec provides https://wpt.fyi/results/webdriver/tests/classic/get_computed_role/get.py?label=master&label=experimental&aligned suggests that at least some cases are implemented correctly. But the spec doesn't have any concept of "interesting nodes" so if there's currently filtering going on, you may need to adjust the ChromeDriver implementation to disable it. However wpt doesn't know anything about this. |
To clarify, I (personally or work wise) don't have any tie to Chrome driver. If there's a discrepancy between some spec and Chrome driver, it seems like that should be resolved by someone from Chrome driver and the spec authors. I can see an argument that the implementation is wrong or that the spec is wrong. I simply pointed out the issue lies within the manner in which WPT snapshots the a11y tree whether it's WPT, one of its deps, or some combination at fault. |
@dtsengchromium wrote:
Yes, from the discussion, and the WPT code, and mostly from @jugglinmike's call stack diagnosis, this seems like an issue in Chromium's implementation of WebDriver rather than in WPT, so likely an implementation detail not blocking the tests. I'll spawn this as a new issue on Chromium to resolve. With regards to the tests being considered for the Interop 2024 Accessibility Focus Area, I believe they are all valid, but we can exclude some on a file-by-file basis, so if there are specific tests that prove particularly challenging, risky, or low-ROI to implement in Chromium, we can discuss excluding them.
ARIA uses
Not sure in which project (WPT, WebDriver, or the engines) you are referring to, but…
|
Chromium Tracker |
@dtsengchromium I think this WPT tracker can be closed now, but I'll leave that decision up to you. |
I don't think the tests were ever invalid. The tooling under them seems flawed. I can expand on that a bit more below.
GOod history here and below. Some of this might have been discussed previously, but as is, accessible name and role computation cannot be satisfied with the way snapshoting works overall. Snapshoting currently within Blink (and likely WebKit) pertain to a specific renderer. That means any specs requiring crossing frame boundaries would not be covered. Examples.
Some permutations of things I'd worry about with regarding to testing this layer as is:
|
@dtsengchromium wrote:
Are you assuming this affects WebKit because Blink/Chromium forked from WebKit in 2013, or some other reason? I added I recall the Accessibility additions for CDP were a few years later, so I don't have a reason to believe the snapshotting decision affects the other engines. Since you mentioned Or if there is some other reason this might affect WebKit, please elaborate. Thanks. |
@dtsengchromium wrote:
The WebDriver API for
I believe that's what WebKit and Gecko are already doing. Since Chrome isn't going off the live tree, I filed this implementation bug in Chromium. |
I can't speak to the other engines e.g. FF post cache the world work, wk2, etc but did Blink have a informed stakeholder within those proceedings? |
I never stated any such tthing (see above).
Great. How does that work after WebKit went multi process?
That's good as well, but practically irrelevant since the OS tree is correct on Windows, Mac, Linux, and Android for Chrome. |
Yes let's chat offline. It's good that a potential Chromium issue has come out of this, but I think this WPT issue lacks clarity as to what, if anything, needs to change in WPT. |
@dtsengchromium seems to indicate in this comment on the Focus Area tracker that he now agrees this is a Chromium issue, not a WPT issue. Assuming that's correct David, can this issue be closed since Chromium 1500862 is tracking any changes needed? |
Yes, agreed if we consider chrome driver + Blink a11y all part of Chrome.
Let's get a Chrome side bug opened in crbug if one isn't already.
…On Fri, Jan 5, 2024 at 11:38 PM James Craig ***@***.***> wrote:
@dtsengchromium <https://github.com/dtsengchromium> seems to indicate in this
comment
<web-platform-tests/interop#526 (comment)>
on the Focus Area tracker that he now agrees this is a Chromium issue, not
a WPT issue. Assuming that's correct David, can this issue be closed since Chromium
1500862 <https://bugs.chromium.org/p/chromium/issues/detail?id=1500862>
is tracking any changes needed?
—
Reply to this email directly, view it on GitHub
<#65 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADLR7MA2PIOQ2K4QNGUY4SLYND5QTAVCNFSM6AAAAAA52TCGRGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZZGU4DIMBSGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Closing. Tracked in Chromium 1500862 |
See web-platform-tests/interop#526 (comment) by @dtsengchromium
The text was updated successfully, but these errors were encountered: