daisy / ace

Ace by DAISY, an Accessibility Checker for EPUB
MIT License
75 stars 22 forks source link

Filtering Various Errors - WCAG 2.2/2.1/2.0 - ARIA 1.1/1.2 #422

Open clapierre opened 1 month ago

clapierre commented 1 month ago

Backstory:

A third party has done some testing of a number of published EPUBs currently circulating. This company validates all incoming EPUB content against the WCAG AA 2.2 rules using the ACE validator, developed by the DAISY consortium.

The reoccurring issues they found involve the rules: aria-roles and aria-required-children.

Also, most of the EPUBs that had failed did have an a11y_certifiedBy value of "Benetech", so it's unexpected that this title wouldn't have passed validation.

Also included in the metadata along with the GCA certifiedBy Benetech was also the conformance claim which in this case was the old IDPF link to the Accessibility 1.0 specification which was WCAG 2.0 - AA.

Problem

With the EAA deadline looming, companies will be checking EPUB conformance using the latest version of ACE which may report errors that were not errors originally, with the previous version of ACE which was evaluating EPUB 3.2 files based on the WCAG 2.0 standard and the original DPUB ARIA rules.

We need a way to either switch between the various WCAG / ARIA rules or filter the results to hide those newer WCAG 2.1/2.2 & ARIA 1.2 errors.

Potential Solution

  1. provide a way to filter out newer errors or warnings via a command line option (This will allow folks to then set up which WCAG level they want to test against)

  2. If a conformance claim is made within the EPUB's metadata which states this EPUB conformsTo (WCAG 2.0, 2.1, or 2.2) then automatically filter out any new WCAG / ARIA errors above the conformance level provided, so there is no confusion that this previously valid EPUB which was tested at the time to be fully conformant at a specific WCAG version is not flagged incorrectly because the standards has changed in the future.

This is extremally important and we need a solution quickly so that older EPUBs are not incorrectly flagged as having error and potentially rejected from ingestion because the latest version of ACE reported an error that didn't exist when the EPUB was initially produced using the older version of ACE.

danielweck commented 1 day ago

Hello Charles, Ace is being upgraded to the latest version of Deque Axe which is 4.10.0 at this moment in time. Initially we assumed that "mismatched" WCAG targets between EPUB Accessibility versions and depending on Ace/Axe revisions would be handled downstream by consumers of the JSON report generated by Ace (CLI), but this isn't a practical solution especially when using Ace App (GUI). I agree that a better solution would be to allow Ace users to filter ahead-of-time some Deque Axe rules/checks based on WCAG versions and levels. Regarding automatically inferring the filtering criteria based on authored metadata claims, this could be problematic in some cases, but this could be a sensible default as long as users can force the reporting of other WCAG versions / levels (essentially, there would be combination of blacklist / deny-list / block-list and whitelist / allow-list).