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

Discuss how to break up the computedlabel tests in wpt/accname (to verify AccName computation) #190

Closed
cookiecrook opened this issue Mar 13, 2023 · 7 comments · Fixed by web-platform-tests/wpt#39604
Assignees

Comments

@cookiecrook
Copy link
Contributor

Discuss how to break up the automated computedlabel tests in wpt/accname to verify AccName computation related to testdriver implementation.

See also the resource utilities in wpt/wai-aria/scripts/aria-utils.js after WPT PR #38925 lands.

@cookiecrook
Copy link
Contributor Author

@jaragunde I see you added a lot of label tests to Chromium recently (video). I wanted to make sure you're aware that many of these can be run in WPT now. Please join the discussion with ARIA WG AccName meetings and/or watch the https://github.com/web-platform-tests/interop-2023-accessibility-testing/issues repo.

@spectranaut
Copy link
Contributor

@cookiecrook
Copy link
Contributor Author

@spectranaut I don't believe we should worry about the WPT manual accname tests for this effort. Let's focus on the new automation capability.

@spectranaut
Copy link
Contributor

spectranaut commented Mar 29, 2023

heyy sorry I'm a bit confused, I really don't understand what you are asking.

You want to write tests for accname using the webdriver computedlabel in WPT, correct? And this issue is to discuss a plan for how to do it?

If so, we could start by transforming existing tests in chrome or the existing "manual" tests in WPT, but maybe you mean we should write them from scratch?

@cookiecrook
Copy link
Contributor Author

cookiecrook commented Apr 7, 2023

@spectranaut wrote:

transforming existing tests in chrome

This makes sense to me and is part of why I copied in @jaragunde.

or the existing "manual" tests in WPT

I think we should review those as a last step to check for edge cases we don't catch in the first round of automated testing.

But in general, I think we could aim for:

  • Some balance between a single gargantuan test file and the ~160 test files in the manual directory.
  • One or more files that test the "happy path" cases for the overall algorithm.
  • An edge cases directory (or file name prefix) for testing any of the label tests not included in the main accname computation "happy path" tests (some of the manual tests could be ported here)
  • Perhaps separate directories (or file name prefixes) for the more difficult to test scenarios, like web components or other shadow DOM examples, the CSS cascade for generated alt fallback, etc.

Then again, if there aren't any strong opinions, I'll just start adding tests in the format how they make the most sense to me. If so, we can close this issue.

@cookiecrook
Copy link
Contributor Author

cookiecrook commented Apr 18, 2023

Here's where I'm headed, based on the permalink IDs in the algorithm. Each heading below will be an individual test file. The No-Ops will not be tested.

comp_init (No-Op, No-Test)
comp_computation (No-Op, No-Test)

comp_hidden_not_referenced.html

comp_labelledby.html

  • comp_labelledby_reset
  • comp_labelledby_foreach
  • comp_labelledby_set_current
  • comp_labelledby_recursion
  • comp_labelledby_append
  • comp_labelledby_return

comp_embedded_control.html

  • comp_embedded_control_textbox
  • comp_embedded_control_combobox_or_listbox
  • comp_embedded_control_range
  • comp_embedded_control_range_valuetext
  • comp_embedded_control_range_valuenow
  • comp_embedded_control_range_host_language_value

comp_label.html

comp_host_language_label.html

comp_name_from_content.html

  • comp_name_from_content_reset
  • comp_name_from_content_pseudo_element
  • comp_name_from_content_pseudo_element_before
  • comp_name_from_content_pseudo_element_after
  • comp_name_from_content_for_each_child
  • comp_name_from_content_for_each_child_set_current
  • comp_name_from_content_for_each_child_recursion
  • comp_for_each_child_append
  • comp_name_from_content_return

comp_text_node.html

comp_recursive_name_from_content.html

comp_tooltip.html

comp_append (No-Op)
comp_complete (No-Op)

@jaragunde
Copy link
Contributor

In case it's useful later, I created a list of the accname tests in Chromium and when they were added, so we can differentiate the ones that Joanmarie imported from the work group and the ones that were added later by Chromium devs. It also lists when the expectations were last modified, to know if the test needed changing from the original and why.

Info here: https://docs.google.com/spreadsheets/d/1cXaNgsraAQwVAfYPMuaeayoyAG-5pnztrMjewrK0mpY/edit?usp=sharing

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

Successfully merging a pull request may close this issue.

3 participants