QUAIL is a a library for testing accessibility compliance against WCAG 1.0, WCAG 2.0, and Section 508 guidelines.

The QUAIL Library in version 2.0 has a QUnit port: https://github.com/kevee/quail

Passing accessibility tests should be a gate for front end code.

Comments

jessebeach’s picture

Priority: Normal » Major
mgifford’s picture

This is totally amazing. Really looking forward to seeing this be included in the automated testing!

Anonymous’s picture

Hi, there, I'm the maintainer of QUAIL and am totally on board with helping out with this project.

Here's how I think this can work:

QUAIL isn't really "integrated" with QUnit, I just use it a lot to cover the 256 test cases we have in the project. However, given that experience, integrating it shouldn't be too much work ;) QUAIL is separated into three kinds of tests, and for the time being it probably only makes sense to use "severe" tests in the swarm, as moderate or suggestion tests are for things that require some form of human interpretation and in the case of "suggestions" are oftentimes old practices that are not used anymore.

Given that, it's a simple matter of just loading the page, a custom guideline that is built of all severe tests, and it should be good to go. I'm focusing on WYSIWYG editor plugins right now, but after that I'll take a look at the test swarm.

mgifford’s picture

Any progress on this? Also interested in having a version backported to D7.

attiks’s picture

Me too :-) but for the moment I need to do some paid work first :-\

mgifford’s picture

I don't know if we can pay you to do it, but if we can swing it would it move this up the priority list?

attiks’s picture

Yes it would :-)

I'll try to have a look tomorrow to see how much work it will be and when I would be able to do it.

attiks’s picture

I did some thinking about some scenarios

  • Integrate tightly with testswarm: on every tested page run quail as well
  • Extend testswarm hooks so you can defines paths that need testing, all using the same config
  • Add a new hook so you can customize each test for each page

Questions

  • Does it makes sense to run this in different browser or not?
  • Do we want to test dynamic pages like Ajax, form submits?
Anonymous’s picture

There has been work in a sandbox on a generalized accessibility module with an API and sub-modules. There's a basic implementation with test swarm:

http://drupal.org/sandbox/kevee/2000774

liam morland’s picture

Issue tags: -a11y +Accessibility
mgifford’s picture

Any progress on the integration for the code sprint on Friday?

attiks’s picture

#11 Work is done in http://drupal.org/sandbox/kevee/2004936 and it is partly working already, although there are some issues, see http://drupal.org/project/issues/2004936?categories=All

I ran a test on admin/help/field_ui (I think WCAG2AA):

  1. "All headers should contain readable text": false positive on qunit headers added by testswarm, #2005482: False positives for 'All headers should contain readable text'
  2. "All elements should have appropriate color contrast": on 399 elements, by looking at the list, it's almost everything, so I guess (or hope) it is the test. #2006310: All elements should have appropriate color contrast
  3. "Links should contain text": caused by <a id="main-content"></a>, see #2005486: aMustContainText error on main-content
  4. "Contrast between link text and background should be 5:1": on <img src="http://d8git.ubuntu006.attiks.office/core/themes/bartik/logo.png" alt="Home">
attiks’s picture

Issue summary: View changes

Updated issue summary.

mgifford’s picture

See it live here - http://drupala11y.org/

EDIT: Sadly drupala11y.org is down now.