Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide standardized way to turn JSON export into VPAT/custom audit report/etc. #4398

Closed
mra11yx opened this issue Jun 23, 2021 · 14 comments
Closed
Labels
feature request status: needs author feedback This issue requires additional information from the issue author. status: no recent activity This issue requires additional information from the author, but hasn't been updated recently. status: resolved This issue has been merged into main and deployed to canary.

Comments

@mra11yx
Copy link

mra11yx commented Jun 23, 2021

Is your feature request related to a problem? Please describe.

The JSON export feature is currently only designed to facilitate re-importing a test into Accessibility Insights, rather than to export a VPAT or an audit report that could be used for monitoring the test results of a product over time.

I'm spinning this ticket off of #653

Describe the desired outcome

I'd love to see Insights' export feature include a list/data set of each WCAG success criterion, with each test, and that test's pass/fail/untested state, tied to the relevant success criterion/a.

This would make it easier to use Insights for true audit work, as testers could evaluate web content and build out VPAT-esque documents—as well as generate some kind of evaluation score, if appropriate—without having to understand each success criterion in depth.

Note: Although I'm focusing on manual tests here, it would probably also make sense to have any exported WCAG data also include any automated test results. If a tester wanted to have separate manual and automated scores, they could run an automated scan separate from a manual assessment.

Example flow:

  1. Tester runs through all tests
  2. Tester exports the document
  3. Product owner imports the JSON file into their own software/web application/etc. to create a VPAT, score, or other piece of data to be used for accessibility scoring and monitoring

Describe alternatives you've considered

It's currently possible to load a .a11ywebassessment file into a webpage, parse it for passes, failures, and "not tested" values, map those to relevant WCAG success criterion/a, and output a file with the resulting data. However, this technique is brittle and will break if the structure of Insights' exported .a11ywebassessment files changes, or if tests are added, removed, or remapped to different WCAG success criteria.

Additional context

Certain auditing products sold by accessibility companies already provide features similar to this.

@ghost ghost added the status: new This issue is new and requires triage by DRI. label Jun 23, 2021
@ghost ghost assigned JGibson2019 Jun 23, 2021
@JGibson2019 JGibson2019 added status: ready for triage This issue is ready to be triaged by the Accessibility Insights team. and removed status: new This issue is new and requires triage by DRI. labels Jun 23, 2021
@ghost ghost assigned ferBonnin Jun 23, 2021
@ghost
Copy link

ghost commented Jun 23, 2021

This issue has been marked as ready for team triage; we will triage it in our weekly review and update the issue. Thank you for contributing to Accessibility Insights!

@JGibson2019 JGibson2019 removed their assignment Jun 23, 2021
@ferBonnin
Copy link
Contributor

Thanks for the feature request @mra11yx! As you mentioned, this is related to part 2 of #653 and after reviewing with the team it sounds like an interesting scenario.

We would like to have a consensus within the community for the format for this file; do you have a sample or suggestion for how this should look like? 🙂

@ferBonnin ferBonnin added the status: needs author feedback This issue requires additional information from the issue author. label Jun 25, 2021
@ghost
Copy link

ghost commented Jun 25, 2021

The team requires additional author feedback; please review their replies and update this issue accordingly. Thank you for contributing to Accessibility Insights!

@ghost ghost removed the status: ready for triage This issue is ready to be triaged by the Accessibility Insights team. label Jun 25, 2021
@mra11yx
Copy link
Author

mra11yx commented Jun 28, 2021

Hi @ferBonnin, I'm thinking something like this (could potentially be in a format other than JSON, but I'm using this for simplicity's sake):

{
  412NameRoleValue: {
    //info about success criterion, for data presentation purposes
    wcagInfo: {
      num: "4.1.2",
      name: "Name, Role, Value",
      level: "A",
      status: "fail"
    }
    //tests, with pass/fail information
    roleStateProperty: {
      status: "fail",
    //instances for each test, if a test has these (the "role, state, property" test is an example of one that does), so that data can be broken down further if needed
      instances: {
        instance0: {
          pattern: "combobox",
          accessibleName: "Search",
          status: "pass"
        },
        instance1: {
          pattern: "accordion",
          accessibleName: "More settings",
          status: "fail",
          notes: "The 'more settings' accordion control does not convey an expanded or collapsed state to assistive technologies."
        }
     //other instances
      }
  //other tests for this success criteria
  }
//other success criteria
}

@ghost ghost added status: needs attention The author has provided additional feedback and now requires attention. and removed status: needs author feedback This issue requires additional information from the issue author. labels Jun 28, 2021
@pownkel pownkel added status: needs investigation This issue requires investigation (PM, Design, or SWE) by the Accessibility Insights team. and removed status: needs attention The author has provided additional feedback and now requires attention. labels Jun 29, 2021
@ghost
Copy link

ghost commented Jun 29, 2021

This issue requires additional investigation by the Accessibility Insights team. When the issue is ready to be triaged again, we will update the issue with the investigation result and add "status: ready for triage". Thank you for contributing to Accessibility Insights!

@mgifford
Copy link

Would be really nice to be able to integrate it with this machine-readable accessibility compliance report format -https://github.com/GSA/open-product-accessibility-template

@ferBonnin ferBonnin added the status: active This issue is currently being worked on by someone. label Sep 23, 2021
@ghost ghost removed the status: needs investigation This issue requires investigation (PM, Design, or SWE) by the Accessibility Insights team. label Sep 23, 2021
@ferBonnin
Copy link
Contributor

Marking this as active since are starting the feature work. The JSON will follow a simple format with the WCAG number and the requirements under that WCAG.

@mgifford
Copy link

Is it possible to use the ID alone? OPAT is going with id: 2.1.2 in YAML, but it would be easier to map to the numeric ID than a combination of number and name.

We've tried to align with the W3C's by listing an id & alt_id

      - id: 2.1.2
        handle: No Keyboard Trap
        alt_id: keyboard-operation-trapping

In our catalog here:
https://github.com/GSA/open-product-accessibility-template/blob/main/catalog/2.4-edition-wcag-2.0-508-en.yaml

We've got some other datasets here that might be convenient to repurpose.
https://github.com/GSA/open-product-accessibility-template/tree/main/data

Unfortunately, the W3C WAI does not yet provide a central list of JSON files that they are maintaining. Not yet in any case.

That said, still useful to align with their practice.

@ferBonnin
Copy link
Contributor

Is it possible to use the ID alone? OPAT is going with id: 2.1.2 in YAML, but it would be easier to map to the numeric ID than a combination of number and name.

@mgifford yes, we can have the WCAG Number separated from the WCAG Name

@ferBonnin ferBonnin added the status: resolved This issue has been merged into main and deployed to canary. label Oct 11, 2021
@ghost ghost removed the status: active This issue is currently being worked on by someone. label Oct 11, 2021
@ferBonnin ferBonnin added the status: needs author feedback This issue requires additional information from the issue author. label Oct 11, 2021
@ghost
Copy link

ghost commented Oct 11, 2021

The team requires additional author feedback; please review their replies and update this issue accordingly. Thank you for contributing to Accessibility Insights!

@ferBonnin
Copy link
Contributor

This new feature is now live in the latest version of Accessibility Insights for Web. Please let us know what you think! 🙂

@ghost ghost added the status: no recent activity This issue requires additional information from the author, but hasn't been updated recently. label Nov 3, 2021
@ghost
Copy link

ghost commented Nov 3, 2021

This issue has been automatically marked as stale because it is marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment. Thank you for contributing to Accessibility Insights!

@ghost ghost closed this as completed Nov 6, 2021
@mgifford
Copy link

mgifford commented Feb 17, 2022

@ferBonnin two observations:

  1. You can't export it from the Fast Pass. That dropdown only appears when you are on the Assessment tab. Would be good if both exports offered the same pattern.
  2. I tried to import this into WCAG-EM and it didn't work. Is it in a JSON-LD format that should work with common EARL implementations?

Just remembered that you were hoping this would be a community contribution..
#4331

@ferBonnin
Copy link
Contributor

  1. This feature request talked about assessment in particular. Also, although the automated checks in FastPass are extensive, they do not cover full WCAG so we cannot make a pass / fail determination for that S.C.
  2. Please check out or FAQ on the JSON Schema we use in Assessment

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request status: needs author feedback This issue requires additional information from the issue author. status: no recent activity This issue requires additional information from the author, but hasn't been updated recently. status: resolved This issue has been merged into main and deployed to canary.
Projects
None yet
Development

No branches or pull requests

6 participants