Giter VIP home page Giter VIP logo

Comments (18)

j-mendez avatar j-mendez commented on June 16, 2024 2

I do like that a11ywatch doesn't need a sitemap and can find a lot of links. A lot of sites don't have sitemaps so I see a11ywatch working better for those sites.

That is a good point, if there is a feature that would really help feel free to post on any the repos. Depending on what it is some features that are small may be able to get in there easy especially if it can help make an impact 🙂. This ticket helped a lot since it unblocked localhost testing.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

@dmundra yes ports are treated as different domains with the crawler. For the reporting to github I forgot to mention it only sends reports when issues are found to avoid noise. It might make sense to add a config for this https://github.com/a11ywatch/github-actions/blob/main/action.yml#L247.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

The crawler may treat the ports when using the TLD=true config for including all localhost pages. It should work, if not can take a look later on the bug.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

@dmundra appreciate the info, I can checkout the project and debug the issue tomorrow. Sorry for issues!

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

hello @dmundra, I did some testing this morning and was able to see that the issue lies within the browser settings for chrome in the a11ywatch standalone container used in the action.

First I wanted to see if the crawler had problems and it went through the page fine.

"http://127.0.0.1:4000/playbook/community" "http://127.0.0.1:4000/playbook/pwd" "http://127.0.0.1:4000/posts/website-analytics" "http://127.0.0.1:4000/posts/at-banter-podcast" "http://127.0.0.1:4000/posts/gcn-accessibility-compliance-as-code" "http://127.0.0.1:4000/guide/design" "http://127.0.0.1:4000/colophon" "http://127.0.0.1:4000/license" Time elapsed in website.crawl() is: 62.338917ms for total pages: 105.

After I started the a11ywatch container locale the one used with the action and saw this message appear about js navigating to a different page.

Application started in SUPER mode. All restrictions removed. Server ready at localhost:3280 GraphQL server ready at localhost:3280/graphql Subscriptions ready at ws://localhost:3280/graphql gRPC server running at 0.0.0.0:50053 gRPC server running at http://127.0.0.1:50052 gRPC server running at 0.0.0.0:50051 public - gRPC server running at 0.0.0.0:50050 gRPC clients connected - pagemind, crawler, and mav. chrome launched and connected on: ws://127.0.0.1:38757/9bc702a384e5849340d59f1a5d43e329 page.evaluate: Execution context was destroyed, most likely because of a navigation at u (/usr/src/app/node_modules/kayle/build/kayle.js:1:476) at i (/usr/src/app/node_modules/kayle/build/kayle.js:1:294) at g (/usr/src/app/node_modules/kayle/build/kayle.js:1:1767) { name: 'Error' } page.evaluate: Execution context was destroyed, most likely because of a navigation at u (/usr/src/app/node_modules/kayle/build/kayle.js:1:476) at i (/usr/src/app/node_modules/kayle/build/kayle.js:1:294) at g (/usr/src/app/node_modules/kayle/build/kayle.js:1:1767) { name: 'Error' } .

We use internally a config that prevents navigation with scripts, in this case we may want to proxy the navigation to the parent as another page to continue crawling. Going to fix this on the chrome side for now to prevent the context from being destroyed.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

hello @dmundra, I did some testing this morning and was able to see that the issue lies within the browser settings for chrome in the a11ywatch standalone container used in the action.

First I wanted to see if the crawler had problems and it went through the page fine.

"http://127.0.0.1:4000/playbook/community" "http://127.0.0.1:4000/playbook/pwd" "http://127.0.0.1:4000/posts/website-analytics" "http://127.0.0.1:4000/posts/at-banter-podcast" "http://127.0.0.1:4000/posts/gcn-accessibility-compliance-as-code" "http://127.0.0.1:4000/guide/design" "http://127.0.0.1:4000/colophon" "http://127.0.0.1:4000/license" Time elapsed in website.crawl() is: 62.338917ms for total pages: 105.

After I started the a11ywatch container locale the one used with the action and saw this message appear about js navigating to a different page.

Application started in SUPER mode. All restrictions removed. Server ready at localhost:3280 GraphQL server ready at localhost:3280/graphql Subscriptions ready at ws://localhost:3280/graphql gRPC server running at 0.0.0.0:50053 gRPC server running at http://127.0.0.1:50052 gRPC server running at 0.0.0.0:50051 public - gRPC server running at 0.0.0.0:50050 gRPC clients connected - pagemind, crawler, and mav. chrome launched and connected on: ws://127.0.0.1:38757/9bc702a384e5849340d59f1a5d43e329 page.evaluate: Execution context was destroyed, most likely because of a navigation at u (/usr/src/app/node_modules/kayle/build/kayle.js:1:476) at i (/usr/src/app/node_modules/kayle/build/kayle.js:1:294) at g (/usr/src/app/node_modules/kayle/build/kayle.js:1:1767) { name: 'Error' } page.evaluate: Execution context was destroyed, most likely because of a navigation at u (/usr/src/app/node_modules/kayle/build/kayle.js:1:476) at i (/usr/src/app/node_modules/kayle/build/kayle.js:1:294) at g (/usr/src/app/node_modules/kayle/build/kayle.js:1:1767) { name: 'Error' } .

We use internally a config that prevents navigation with scripts, in this case we may want to proxy the navigation to the parent as another page to continue crawling. Going to fix this on the chrome side for now to prevent the context from being destroyed.

--

It looks like the crawler used for a11ywatch is stopping on the first page, since it should still process all the pages regardless of the page.evaluate error. Taking a look now.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

@dmundra The issue is due to the docker container using localhost and it targeting the container directly. There used to be a note to use something like this a11ywatch crawl --url http://host.docker.internal:4000 -d -n - hostname would resolve to the machine outside docker. In this case we need to replace localhost with host.docker.internal to connect locally. Going to keep this issue up, since we have a bare metal install of the system that we can use instead, which performs a lot better since it does not need to go through the docker layer. The reason it is not default is the setup for caching in that layer needs to be done.

Crawl partial results: on:,"message":"Crawled 105 pages in 9.515014917s","success":true}.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024 1

Thanks @j-mendez for diving into this. Those make sense to me. I am looking forward to trying the bare metal version.

Np 🙌, localhost testing now available using action @v2. Here is a test PR run for the bare metal installations https://github.com/a11ywatch/github-actions/actions/runs/5061355558/jobs/9085452770.

from github-actions.

dmundra avatar dmundra commented on June 16, 2024 1

I noticed the pa11y action has a bit more urls, I am not sure if it is due to the sitemap swap being done.

Ya the sitemaps includes URLs that are not linked anywhere in the content.

Results of the action locally since the action currently only sends results when errors occur. Do you think it is worth adding an option to always report the results?

Ya, I think it would be useful as an option.

Amazing access on the website - took a peek at some of the content manually 🙂 .

Thank you! We try to keep up on it.

Looks like it ran successfully https://github.com/CivicActions/accessibility/actions/runs/5070580492/jobs/9105811040?pr=697 and no errors, nice.

from github-actions.

dmundra avatar dmundra commented on June 16, 2024 1

Glad to hear it. I will close this ticket as fixed!

from github-actions.

dmundra avatar dmundra commented on June 16, 2024

I tried TLD: true and the process seems to be stuck https://github.com/CivicActions/accessibility/actions/runs/5051093166/jobs/9062553983?pr=697.

from github-actions.

dmundra avatar dmundra commented on June 16, 2024

Thanks @j-mendez for diving into this. Those make sense to me. I am looking forward to trying the bare metal version.

from github-actions.

dmundra avatar dmundra commented on June 16, 2024

I tried v2 and it looks like the process timed out https://github.com/CivicActions/accessibility/actions/runs/5062293525/jobs/9087629055?pr=697. No error was provided so not sure what got stuck.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024

@dmundra taking a look now, appreciate the patience on this.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024

@dmundra the issue is due to the TLD: true combination with localhost. Removing the config allows the action to pass here https://github.com/j-mendez/accessibility/actions/runs/5070404507/jobs/9105390504?pr=1. Going to add the issue to the crawler.

from github-actions.

dmundra avatar dmundra commented on June 16, 2024

Ah good point. Giving it a try now.

from github-actions.

j-mendez avatar j-mendez commented on June 16, 2024

Ah good point. Giving it a try now.

I noticed the pa11y action has a bit more urls, I am not sure if it is due to the sitemap swap being done.

Results of the action locally since the action currently only sends results when errors occur. Do you think it is worth adding an option to always report the results? Amazing access on the website - took a peek at some of the content manually 🙂 .

(base) ➜  accessibility git:(a11ywatch-addition) a11ywatch --results-parsed-list               
Ran A11yWatch on 106 URLs:

 > http://localhost:4000/colophon - 0 errors
 > http://localhost:4000/accessibility - 0 errors
 > http://localhost:4000/about/people/jennifer-aube - 0 errors
 > http://localhost:4000/posts/helping-disabled-veterans-check-in-designing-an-accessibility-map - 0 errors
 > http://localhost:4000/guide/design - 0 errors
 > http://localhost:4000/guide/identity-language - 0 errors
 > http://localhost:4000/guide/resources - 0 errors
 > http://localhost:4000/about/people/mike-gifford - 0 errors
 > http://localhost:4000/guide/training - 0 errors
 > http://localhost:4000/guide/introduction - 0 errors
 > http://localhost:4000/posts/daniel-mundra-diving-into-drupal - 0 errors
 > http://localhost:4000/playbook/community - 0 errors
 > http://localhost:4000/projects/uswds-color - 0 errors
 > http://localhost:4000/guide/semantic-html - 0 errors
 > http://localhost:4000/calendar - 0 errors
 > http://localhost:4000/playbook/follow-global-initiatives - 0 errors
 > http://localhost:4000/about/people/ - 0 errors
 > http://localhost:4000/about/people/daniel-mundra - 0 errors
 > http://localhost:4000/playbook/personalization - 0 errors
 > http://localhost:4000/open - 0 errors
 > http://localhost:4000/guide/champions-program - 0 errors
 > http://localhost:4000/guide/ - 0 errors
 > http://localhost:4000/about/people/jack-haas - 0 errors
 > http://localhost:4000/projects/drupal - 0 errors
 > http://localhost:4000/guide/organizations - 0 errors
 > http://localhost:4000/playbook/checklists - 0 errors
 > http://localhost:4000/guide/documents - 0 errors
 > http://localhost:4000 - 0 errors
 > http://localhost:4000/guide/social-media - 0 errors
 > http://localhost:4000/playbook/training - 0 errors
 > http://localhost:4000/contact - 0 errors
 > http://localhost:4000/join - 0 errors
 > http://localhost:4000/guide - 0 errors
 > http://localhost:4000/playbook - 0 errors
 > http://localhost:4000/analytics - 0 errors
 > http://localhost:4000/license - 0 errors
 > http://localhost:4000/guide/plain-language - 0 errors
 > http://localhost:4000/playbook/roles - 0 errors
 > http://localhost:4000 - 0 errors
 > http://localhost:4000/news/ - 0 errors
 > http://localhost:4000/projects/uswds - 0 errors
 > http://localhost:4000/about/ - 0 errors
 > http://localhost:4000/playbook/pdf - 0 errors
 > http://localhost:4000/about/contact - 0 errors
 > http://localhost:4000/guide/events - 0 errors
 > http://localhost:4000/playbook/distributed-teams - 0 errors
 > http://localhost:4000/playbook/AT - 0 errors
 > http://localhost:4000/playbook/authoring - 0 errors
 > http://localhost:4000/playbook/automated-testing - 0 errors
 > http://localhost:4000/guide/onboarding-staff - 0 errors
 > http://localhost:4000/posts/how-drupal-helps-us-bake-accessibility-into-every-project - 0 errors
 > http://localhost:4000/posts/opensource-automated-accessibility-testing - 0 errors
 > http://localhost:4000/about/people/allison-carroll - 0 errors
 > http://localhost:4000/about/people/luke-fretwell - 0 errors
 > http://localhost:4000/posts/launching-a-community-of-practice-for-accessibility-in-government-services - 0 errors
 > http://localhost:4000/posts/Talking-Drupal-Podcast - 0 errors
 > http://localhost:4000/posts/website-analytics - 0 errors
 > http://localhost:4000/posts/Talking-Drupal-Podcast-382 - 0 errors
 > http://localhost:4000/posts/governments-accessibility-opensource - 0 errors
 > http://localhost:4000/heart - 0 errors
 > http://localhost:4000/posts/govtech-how-will-biden-transform-government-website-accessibility - 0 errors
 > http://localhost:4000/posts/mvp-playbook - 0 errors
 > http://localhost:4000/about/people/michelle-kang - 0 errors
 > http://localhost:4000/posts/heart-accessibility - 0 errors
 > http://localhost:4000/posts/social-media-accessibility-guide - 0 errors
 > http://localhost:4000/posts/hello-world - 0 errors
 > http://localhost:4000/posts/automated-accessibility-testing-leveraging-github-actions-and-pa11y-ci-with-axe - 0 errors
 > http://localhost:4000/about/people/civicactions - 0 errors
 > http://localhost:4000/posts/CivicActions-Accessibility-Pledge - 0 errors
 > http://localhost:4000/posts/scanning-over-two-million-gov-pages - 0 errors
 > http://localhost:4000/posts/CivicActions-Creates-Open-Product-Accessibility-Template - 0 errors
 > http://localhost:4000/posts/at-banter-podcast - 0 errors
 > http://localhost:4000/posts/government-accessibility-and-the-cms-problem - 0 errors
 > http://localhost:4000/posts/plain-language-accessibility-guide - 0 errors
 > http://localhost:4000/posts/gcn-accessibility-compliance-as-code - 0 errors
 > http://localhost:4000/posts/smashingmag-baking-in-accessibility-testing - 0 errors
 > http://localhost:4000/posts/qa-with-mike-gifford-accessibility-in-civic-tech - 0 errors
 > http://localhost:4000/posts/improve-government-accessibility-through-open-source - 0 errors
 > http://localhost:4000/posts/mvp-guide - 0 errors
 > http://localhost:4000/projects/ - 0 errors
 > http://localhost:4000/posts/gsa-machine-readable-acr - 0 errors
 > http://localhost:4000/guide/history - 0 errors
 > http://localhost:4000/posts/pre-GAAD-Authoring-Tools-Built-in-Accessibility - 0 errors
 > http://localhost:4000/playbook/documents - 0 errors
 > http://localhost:4000/posts/how-we-scale-inclusive-website-content-with-automated-testing-and-open-source-tools - 0 errors
 > http://localhost:4000/posts/FOSDEM-ccessibility-OpenSource - 0 errors
 > http://localhost:4000/about/join - 0 errors
 > http://localhost:4000/posts/4-ways-to-improve-government-accessibility-through-open-source - 0 errors
 > http://localhost:4000/playbook/ - 0 errors
 > http://localhost:4000/about/people/nira-datta - 0 errors
 > http://localhost:4000/playbook/ai-and-ia - 0 errors
 > http://localhost:4000/about/people - 0 errors
 > http://localhost:4000/posts/ - 0 errors
 > http://localhost:4000/playbook/manual-testing - 0 errors
 > http://localhost:4000/playbook/practice - 0 errors
 > http://localhost:4000/guide/glossary - 0 errors
 > http://localhost:4000/about/people/jonathan-bourland - 0 errors
 > http://localhost:4000/playbook/statements - 0 errors
 > http://localhost:4000/projects - 0 errors
 > http://localhost:4000/guide/tools - 0 errors
 > http://localhost:4000/conduct - 0 errors
 > http://localhost:4000/playbook/pwd - 0 errors
 > http://localhost:4000/about/people/vanessa-luxen - 0 errors
 > http://localhost:4000/people - 0 errors
 > http://localhost:4000/news - 0 errors
 > http://localhost:4000/search - 0 errors

✔ 106/106 URLs passed

from github-actions.

dmundra avatar dmundra commented on June 16, 2024

I do like that a11ywatch doesn't need a sitemap and can find a lot of links. A lot of sites don't have sitemaps so I see a11ywatch working better for those sites.

from github-actions.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.