Comments (7)
You can, as an example, download a bunch of HTML files, run a HTTP server locally, and test against that site. (There might be something in #10, #16, or #44 that gives you an idea.) Is that what you were thinking of?
e.g.
URL="tom.preston-werner.com"
wget --recursive --accept "*.html" "$URL"
cd "$URL"
python -m SimpleHTTPServer
# In another tab
pa11y http://localhost:8000/2010/08/23/readme-driven-development.html
from pa11y.
Nice solution.
Using the PhantomJS HTMLCS_Run.js script that comes with HTML_CodeSniffer, this is possible without the need to load the HTML via an HTTP server:
wget tom.preston-werner.com -P html/
phantomjs node_modules/HTML_CodeSniffer/Contrib/PhantomJS/HTMLCS_Run.js html/index.html WCAG2A
from pa11y.
Whymarrh's solution is what I'd go with for now. This feature might make it into pa11y 2.x, but I'm trying to reduce feature work on 1.x while that's in progress. I'll leave open until we have time to consider adding this :) thanks
from pa11y.
@andrewholgate I'm not sure about Windows and Linux, but on a Mac you can actually test a file URL with pa11y like this:
pa11y file:///tmp/pa11y.html
Would this be a satisfactory solution? I don't want to add the breaking change of allowing the following, because we're currently adding http://
if a scheme is not provided:
pa11y /tmp/pa11y.html
from pa11y.
Thanks, pa11y file:tmp/pa11y.html
works on Linux (Ubuntu).
from pa11y.
For anyone looking for a single command-line solution (so it can be used as a custom npm script) to load multiple HTML files into pa11y, this is what I have found to work (might need a slight tweek for Mac).
This command reads all of the *.html
files from the directory output/
and performs the pa11y WCAG2A analysis on each one:
{
"scripts": {
"wcag": "for file in output/*.html; do pa11y --standard WCAG2A file:$file; done"
}
}
Being an npm script, it can be execute with npm run wcag
from pa11y.
Thanks @andrewholgate, I've added a ticket to create an example based on this so that it's easy to find :)
from pa11y.
Related Issues (20)
- Can we get violations defects for after login pages using pa11y? HOT 2
- TimeoutError: Pa11y timed out HOT 6
- Inconsistencies between pa11y and other accessibility tools HOT 1
- Axe runner doesn't include wcag2aaa tag when standard is set to WCAG2AAA. HOT 2
- How do I include multiple Urls in 1 report? HOT 7
- Can I include a config file for a report? HOT 2
- Error reporting during installation HOT 1
- rules option ignored HOT 1
- Documented require() for reporters doesn't work HOT 3
- Error: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (869685) HOT 5
- Is pa11y still maintained? HOT 6
- Fails to run once `core-js` is removed from the page. HOT 3
- Retrieving the number of items that pass the checks per rule HOT 1
- Version 7.0.0 requires an unsupported version of puppeteer HOT 5
- Dark or light mode handling HOT 2
- Certain pages result in "Cannot read properties of undefined (reading 'replace')" HOT 4
- Custom Timeout settings is not working - script is timed out with default 30000 ms HOT 2
- Contrast ratio potential false-positive HOT 1
- Summarise passing test cases HOT 3
- Can pa11y be used as unit tests in CI pipeline and make the build fail? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pa11y.