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

crawler skip links nested within a shadow tree #1216

Open
yinonov opened this issue Jun 24, 2022 · 11 comments
Open

crawler skip links nested within a shadow tree #1216

yinonov opened this issue Jun 24, 2022 · 11 comments
Assignees
Labels
bug Something isn't working status: blocked This issue is blocked.

Comments

@yinonov
Copy link

yinonov commented Jun 24, 2022

Describe the bug

running the action on a website with links that are nested within shadow tree just skips visiting those links and only visits links nested within the light tree

CodePen repro example

it's not a repro but the actual site (preview channel) where this occurs and shadow links are skipped
https://vivid-j0vxkmsqmhn0.deno.dev/

Expected behavior

Shadowed links should be visited and checked

Screenshots

this gets visited
image

this doesn't
image

both are equivalent according to the accessibility tree view (devtools) and share the same computed properties
image

Are you willing to submit a PR?

Of course, with a little guidance

Did you search for similar existing issues?

yes, none to be found

Additional context

this bug might no be related to the GH action but to the underlying accessibility insights service.
forward to the relevant repo if need

@yinonov yinonov added the bug Something isn't working label Jun 24, 2022
@ghost ghost added the status: new This issue is new and requires triage by DRI. label Jun 24, 2022
@ghost ghost assigned shanisebarona Jun 24, 2022
@sfoslund
Copy link
Member

Hi @yinonov, thanks for filling an issue! I believe this is not a bug and is in fact by design. Please check out our docs here, which discuss why Accessibility insights does not support elements that are contained within a closed shadow DOM: https://accessibilityinsights.io/docs/web/reference/faq/#are-automated-checks-compatible-with-shadow-dom

@sfoslund sfoslund added status: needs author feedback This issue requires additional information from the issue author. and removed status: new This issue is new and requires triage by DRI. labels Jun 27, 2022
@ghost
Copy link

ghost commented Jun 27, 2022

The team requires additional author feedback; please review their replies and update this issue accordingly. Thank you for contributing to Accessibility Insights!

@yinonov
Copy link
Author

yinonov commented Jun 28, 2022

Hi @yinonov, thanks for filling an issue! I believe this is not a bug and is in fact by design. Please check out our docs here, which discuss why Accessibility insights does not support elements that are contained within a closed shadow DOM: https://accessibilityinsights.io/docs/web/reference/faq/#are-automated-checks-compatible-with-shadow-dom

Thanks @sfoslund, this section u shared refers to a closed mode of shadowRoot, which isn't the case here. Mode is open.

image

@ghost ghost added status: needs attention The author has provided additional feedback and now requires attention. and removed status: needs author feedback This issue requires additional information from the issue author. labels Jun 28, 2022
@sfoslund sfoslund added status: ready for triage This issue is ready to be triaged by the Accessibility Insights team. and removed status: needs attention The author has provided additional feedback and now requires attention. labels Jun 28, 2022
@ghost ghost assigned asksep Jun 28, 2022
@ghost
Copy link

ghost commented Jun 28, 2022

This issue has been marked as ready for team triage; we will triage it in our weekly review and update the issue. Thank you for contributing to Accessibility Insights!

@RobGallo RobGallo added status: needs investigation This issue requires investigation (PM, Design, or SWE) by the Accessibility Insights team. and removed status: ready for triage This issue is ready to be triaged by the Accessibility Insights team. labels Jun 30, 2022
@ghost
Copy link

ghost commented Jun 30, 2022

This issue requires additional investigation by the Accessibility Insights team. When the issue is ready to be triaged again, we will update the issue with the investigation result and add "status: ready for triage". Thank you for contributing to Accessibility Insights!

@RobGallo
Copy link
Contributor

Investigating with engineers

@RobGallo RobGallo assigned RobGallo and unassigned asksep and RobGallo Jun 30, 2022
@yinonov
Copy link
Author

yinonov commented Jul 7, 2022

any clue why this happens? does it happen in axe itself?

@RobGallo
Copy link
Contributor

RobGallo commented Jul 8, 2022

@yinonov

You are referring to which links are crawled, not which links are scanned, correct?

Not crawling open shadow dom links is a current limitation of accessibility-insights-service).

The most realistic path to picking up links in open shadow DOMs would be switching the service from puppeteer to playwright (which would pierce open shadow DOMs by default with the sort of query apify uses to scrape for links),

Piercing closed shadow DOMs is a lot harder implementation-wise – that’s functionality that neither Puppeteer nor Playwright facilitate.

This does make sense for us to address long-term. I have filed an issue in the service repo to track the request: #2170.

I will close this issue. But the community should feel free to leave comments in the service tree repo to help us prioritize this change.

@RobGallo RobGallo removed the status: needs investigation This issue requires investigation (PM, Design, or SWE) by the Accessibility Insights team. label Jul 8, 2022
@yinonov
Copy link
Author

yinonov commented Jul 8, 2022

Thanks for the detailed explanation.

IN the meantime, I s there a workaround where I could specify a list of links for the action to visit?

@brocktaylor7
Copy link
Contributor

Hello @yinonov,

Sorry for the delayed response. There is a mechanism for specifying a list of links for the action to visit.

You can use the input-urls input in your YAML configuration file to specify the links. The expected value of the input is a string of URLs each separated by a space.

An example of the step with the URLs provided might look something like this:

- name: Scan for accessibility issues
  uses: microsoft/accessibility-insights-action@v3
  with:
      url: https://your-website-url
      input-urls: https://your-first-link https://your-second-link https://your-third-link

This will put the four listed URLs in the queue to be scanned first, then any crawled URL will be added to the end of the queue and will be scanned after those first four.

Hopefully that solves your issue for now. Let us know if you have any further questions!

@yinonov
Copy link
Author

yinonov commented Aug 3, 2022

thanks @brocktaylor7 that's exactly what I did

@ferBonnin ferBonnin added the status: blocked This issue is blocked. label Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working status: blocked This issue is blocked.
Projects
None yet
Development

No branches or pull requests

7 participants