Skip to content
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

Scoring criteria for Interop 2023 Accessibility Testing Investigation #3

Closed
38 tasks done
zcorpan opened this issue Feb 24, 2023 · 44 comments
Closed
38 tasks done
Assignees
Labels

Comments

@zcorpan
Copy link
Member

zcorpan commented Feb 24, 2023

We should decide how to measure success for this investigation area.

Scoring criteria:

@cookiecrook
Copy link
Collaborator

Another potential to consider is… Can we agree on a list of other inspectable properties that would be beneficial to test in future Accessibility tests?

There is likely some low-hanging fruit that would be non-controversial I think, such as the "checked" state of an Accessibility representation, which would return true for either <input type="checkbox" checked> or <div role="checkbox" aria-checked="true"> There are probably dozens of other inspectable properties in this category.

There are some others that may get us further toward a long-term accessibility tree synchronicity (like getAccessibilityParent and getAccessibilityChildren) because they would make the tree differences more apparent.

A few examples where I expect the DOM-based vs Render-based trees to be different are:

  • interactive but mock object children like scrollbars in views with overflow:scroll;
  • generated content like ::before and ::after psuedos, including implicit bullets on lists
  • possibly positioning containers or ancestry on absolutely positioned views, such as table headers on a "scrolling" table widget.
  • dozens more

Although implementation differences there should not count against an implementation, having getAccessibilityParent and getAccessibilityChildren would allow us to catalog the differences and prioritize any potential alignment in future investigations.

@zcorpan
Copy link
Member Author

zcorpan commented Mar 2, 2023

Those things seem good to make progress on. It seems like "AOM Phase 4" but in webdriver.

How far along for parent/children and states+properties can we expect to get this year, to make full score achievable? Or should we treat it as something that we can work on in parallel from intrinsic motivation without impacting the score?

@cookiecrook
Copy link
Collaborator

IMO the latter.

@cookiecrook
Copy link
Collaborator

cookiecrook commented Mar 6, 2023

Consensus on Priority from the Kickoff #4

Priority 1 (Scored 25%)

  • AccName Label Tests
  • Role Rules from the ARIA Spec (Fallback Role, Host Language Conflict, Invalid and Abstract Roles, etc.)
  • HTML-AAM Role Computation (Browser Internal Role, not Platform-Specific Mappings)

Priority 2 (Scored 5%)

Investigations (Unscored, 0%)

Please edit directly or comment if I missed something.

@zcorpan
Copy link
Member Author

zcorpan commented Mar 6, 2023

Thanks, I've updated OP to reflect that scoring.

@zcorpan zcorpan removed the Agenda+ label Mar 6, 2023
@zcorpan
Copy link
Member Author

zcorpan commented Mar 6, 2023

As @gsnedders pointed out in the meeting, there's no need for a wpt RFC to add standard webdriver APIs to testdriver.

And web-platform-tests/wpt#38758 is now merged. 🥳

So maybe we can remove the RFC bits from the scoring criteria, and replace with "testdriver.js implements get_computed_role and get_computed_label (40%)"

@cookiecrook
Copy link
Collaborator

cookiecrook commented Mar 6, 2023

DPUB-AAM Role Computation (Browser Internal)

Now that I think about this some more, the original release of DPUB-AAM could have been tested with computedrole (these were just synonyms of ARIA Core roles) but the current version has many platform-specific variants. Some or all of the DPUB-AAM testing may need to be in the Investigations section alongside Core-AAM. I updated above to reflect that change.

@cookiecrook
Copy link
Collaborator

cookiecrook commented Mar 6, 2023

@zcorpan wrote:

So maybe we can remove the RFC bits from the scoring criteria, and replace with "testdriver.js implements get_computed_role and get_computed_label (40%)"

Makes sense to me...

RFC is written with implementation plan (e.g. extend testdriver.js for role/label) (10%)

I suppose we could count #1 as that, though less formal and predated the Kickoff.

RFC is accepted (10%)

#2

RFC is implemented (20%)

#5

In any case.... 40%. 🎉

@zcorpan
Copy link
Member Author

zcorpan commented Mar 7, 2023

I've replaced the RFC bullet points with:

  • Consensus on testing approach and implementation plan (e.g. extend testdriver.js for role/label) (20%)
  • Computed role and label are testable in wpt infrastructure (20%)

@cookiecrook
Copy link
Collaborator

I agree we should diagnose those failures, but I don’t think they block any work. Here are the new tests that were merged yesterday.

https://wpt.fyi/results/wai-aria/role/basic.html?label=master&label=experimental&aligned&view=subtest
https://wpt.fyi/results/accname/basic.html?label=master&label=experimental&aligned&view=subtest

@zcorpan
Copy link
Member Author

zcorpan commented Mar 8, 2023

I think it would be more convincing that we have a solid foundation if the get.py tests also pass. But maybe fixing those failures could be considered for next year's focus area, if we're able to write new tests anyway.

I can change the scoring criteria to link to the basic.html tests instead.

@gsnedders
Copy link
Member

I think it would be more convincing that we have a solid foundation if the get.py tests also pass. But maybe fixing those failures could be considered for next year's focus area, if we're able to write new tests anyway.

As I said on https://bugs.webkit.org/show_bug.cgi?id=253500, I don't think all the error handling tests are of equal priority for enabling accessibility testing (and test_no_browsing_context and test_no_such_element tests fail all over the place for both Chrome and Safari). I think we only need to care about the test_get_computed_label and test_computed_roles tests themselves.

@cookiecrook
Copy link
Collaborator

What's the process for indicating on https://wpt.fyi/interop-2023 that the investigation is already at 60%?

@zcorpan
Copy link
Member Author

zcorpan commented Mar 9, 2023

@zcorpan
Copy link
Member Author

zcorpan commented Mar 9, 2023

I also see interop-data_v2.json, I'm not sure why there are two files. cc @foolip @DanielRyanSmith

@DanielRyanSmith
Copy link

DanielRyanSmith commented Mar 9, 2023

I also see interop-data_v2.json, I'm not sure why there are two files.

This was a quick fix on the day of the Interop 2023 dashboard release. There was a GCP caching issue related to this file being stored in the static folder that caused some users to see a broken page on the dashboard. The file was copied with a new name to avoid serving a cached version. As of today, the file with the _v2.json suffix is the one being referenced in production, and this file needs to be moved out of the directory it lives in to avoid possible caching problems, which is what is captured in the linked issue.

Edit: I added a PR to remove the old interop-data.json in order to avoid confusion.

@zcorpan
Copy link
Member Author

zcorpan commented Mar 15, 2023

What's the process for indicating on https://wpt.fyi/interop-2023 that the investigation is already at 60%?

web-platform-tests/wpt.fyi#3207

zcorpan added a commit to web-platform-tests/wpt.fyi that referenced this issue Mar 16, 2023
DanielRyanSmith pushed a commit to web-platform-tests/wpt.fyi that referenced this issue Mar 16, 2023
* Update score for Accessibility Testing (60%)

See web-platform-tests/interop-accessibility#3

* Single quotes

* Indentation
@cookiecrook
Copy link
Collaborator

Gecko bug 1585622 was resolved today. 🎉

@zcorpan
Copy link
Member Author

zcorpan commented Mar 21, 2023

Yay! It will be part of geckodriver 0.33.0 (bug 1814050).

@zcorpan
Copy link
Member Author

zcorpan commented Apr 13, 2023

geckodriver 0.33.0 has been released, but some more glue is required for this to work on wpt.fyi: https://bugzilla.mozilla.org/show_bug.cgi?id=1827934

@cookiecrook
Copy link
Collaborator

cookiecrook commented Aug 16, 2023

.25*(11/23) + .05*(1/3) = 0.1362318841

So 70% + 13.6% = ~84%

@cookiecrook
Copy link
Collaborator

cookiecrook commented Aug 21, 2023

If we want to add the currently-unscored-but-high-percentage-of-passing-results to the dashboard, that link is live now using the new accessibility label.

  • 87%: WebKit and Chrome.
  • 84%: Gecko.
  • 78%–86%: Edge (ambiguous, b/c it skips the crashtests, so is running 427 rather than the full 466)

@cookiecrook
Copy link
Collaborator

FYI @benbeaudry 👆

@cookiecrook
Copy link
Collaborator

Update. There are a more than 466 total tests... Some are being masked from the results due to:

@cookiecrook
Copy link
Collaborator

cookiecrook commented Aug 21, 2023

.25*(11/23) + .05*(1/3) = 0.1362318841
So 70% + 13.6% = ~84%

The following three are approved and ready to merge, and would each bring the total up 1 percentage point once merged. 85% for 1, 86% for 2 more, 87% when all 3 are merged.

@cookiecrook
Copy link
Collaborator

cookiecrook commented Aug 26, 2023

@KyleJu is steadily knocking out the search bugs on wpt.fyi, so I think we have our first accurate count of the accessibility tests in WPT, currently at 586! Most of them newly created this year!

https://wpt.fyi/results/?label=master&label=experimental&aligned&q=label%3Aaccessibility

@cookiecrook
Copy link
Collaborator

Related TPAC breakout time scheduled:
https://www.w3.org/events/meetings/7ea3022f-4424-45da-ba98-2953baf7d997/

@zcorpan
Copy link
Member Author

zcorpan commented Oct 4, 2023

Submitted focus area proposal for interop 2024: web-platform-tests/interop#526

Feel free to comment there with additional info. Thanks!

@cookiecrook
Copy link
Collaborator

cookiecrook commented Oct 6, 2023

89% as of today thanks to @adampage for a merged PR and @jnurthen for a review!

Several more reviews outstanding if others want to help us hit 90%

@cookiecrook
Copy link
Collaborator

Over 90% now. A few more rolling in this week. Will update the dashboard score once those land.

@cookiecrook
Copy link
Collaborator

All roles tests complete. Waiting on 2.5 PRs to merge for AccName, which will put us at 96.667%

@cookiecrook cookiecrook changed the title Scoring criteria Scoring criteria for Interop 2023 Accessibility Testing Investigation Nov 3, 2023
@cookiecrook
Copy link
Collaborator

cookiecrook commented Nov 13, 2023

All P1 tests complete, so we're at .95 + .05*⅓ ≅ 97%

The DPUB PR is complete but not yet landed, so with that caveat, we're at .95 + .05*⅔ ≅ 98% (score update PR)

Final 2% in the SVG tasks on me. (WPT PR #43196)

@cookiecrook
Copy link
Collaborator

💯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants
@cookiecrook @boazsender @gsnedders @zcorpan @chrishtr @DanielRyanSmith and others