liip / TheA11yMachine

The A11y Machine is an automated accessibility testing tool which crawls and tests pages of any web application to produce detailed reports.
https://www.liip.ch/
620 stars 66 forks source link

Gulp plugin? #57

Open hamishtaplin opened 8 years ago

hamishtaplin commented 8 years ago

Have you considered writing a Gulp plugin for this? Would be really nice to be able to pipe tests/results in to existing build processes.

Hywan commented 8 years ago

Hello :-),

I don't have enough skills for that, but feel free to do so! Sounds a good idea :-).

hamishtaplin commented 8 years ago

Just looking into the possibility right now. I think if the code was written as a module (ie. it exported an API) it would make this process a bit easier. Will let you know how far I get.

Hywan commented 8 years ago

@hamishtaplin Ok :-). Can't we just run a11ym in CLI?

hamishtaplin commented 8 years ago

@Hywan not sure what you mean, that's what it does currently?

callumacrae commented 8 years ago

For this to be suitable to be a gulp plugin, you'd have to have two things:

hamishtaplin commented 8 years ago

That seems like a lot of re-factoring would need to happen, not sure you'd even be able to keep the existing implementation of it being accessible from CLI in that case. I might well be wrong though, not really my area of expertise.

Hywan commented 8 years ago

We can do such a refactoring. It's not going to be huge. We develop this tool very quickly because we were running out of time, but I will try to find more time to do that.

Hywan commented 8 years ago

Do you want to keep the crawler with Gulp? I guess yes.

hamishtaplin commented 8 years ago

Yes to the crawler :+1:

Hywan commented 8 years ago

Now it's my priority for this project :smiley:.

Hywan commented 7 years ago

Hello :-),

Now we have the lib/bin.js module, so I guess it will be easier to integrate it with Gulp. Thoughts?

Hywan commented 7 years ago

Example:

var a11ym = require('./lib/bin');
var options = {
    'errorLevel': 'warning',
    'maximumUrls': 42,
    'outputDirectory': '/dev/null' // oops
};
var inputs = ['http://example.org'];

a11ym.start(options, inputs);