w3c / wcag

Web Content Accessibility Guidelines
https://w3c.github.io/wcag/guidelines/22/
Other
1.11k stars 252 forks source link

Machine readable principle hierarchy and technical language? #3081

Open guygastineau opened 1 year ago

guygastineau commented 1 year ago

For the purposes of high-level reports at my organization, I am trying to find a way to translate error codes from the HTML Code Sniffer tool more obvious natural language. It provide natural language descriptions for each of the errors it reports, but there is no concise name for the error types. Rather it provides a WCAG standards path like WCAG2AA.Principle1.Guideline1_3.1_3_1.F68. In order to find more information about this, I have to visit the Guidelines, then Understanding 1.3.1, and finally at the bottom of the page I can see that F68 means Failure of Success Criterion 4.1.2 due to a user interface control not having a programmatically determined name . This is an arduous process.

I recognize that my human intelligence and intervention is still required to produce a more general-like classification for our high-level (read. for non-technical leadership) reports, but I was really hoping I could find some structured data that would let me associate these standards paths with those technical descriptions programmatically. This would allow me (and others) to process this information programmatically up to the point of human intervention before continuing some sort of code generation.

I browsed this repository hoping to find structured data containing the information that I otherwise must access manually via the browser, but it appears that the content is scattered through files specific to the build system for the website presentation. Is there any place where this information can be found as self-contained structured data like xml or json for machine processing? Alternatively, a mapping from groups of issue paths to broad category names would suffice (it is ultimately what I need to produce anyway). WAVE obviously has some sort of mapping to such broad categories; it appears to be closed source, so I have not found a way to identify this mapping from their materials.

I seriously appreciate all the work your organization does on the WCAG standards and moving web accessibility forward! I am hoping to find a way to generate (at least partially) this mapping programmatically, because, well, I am a programmer, and we are lazy :rofl:. Also, I am part of a very small team. We are trying to do the right thing while minimizing manual tasks. Anyway, I appreciate your time in addressing my issue. If such a mapping from codes to general categories (where possible) does not yet exist in the public domain, then we will release a version when we have finished it.

mbgower commented 8 months ago

@guygastineau if you are simply seeking at a way of quickly looking up technique information based on the tool output, I suggest you check out https://www.w3.org/WAI/WCAG22/Techniques/ That would let you map the technique number (F68 in your example) to the name.

I don't know how other feedback from HTML Code Sniffer is provided, but I do know there are other free tools you could try that may give you output in a way you find more useful. You mentioned WAVE. My daytime job is at IBM, and the Equal Access Checker is entirely free to use, and is open source. There is a whole list of tools published by the W3C.

You may also want to check out the work of the Accessibility Conformance Testing Task Force of the AG WG (ACT), who are working on actual test rules.

I am unaware of this information being available as self-contained structured data that encompasses all the interconnections between guidelines, requirements and techniques. Techniques can apply to more than one requirement, so it would be a little messy.

If you grab a copy of the github repo, there is a wcag.json file; however I'm not sure how useful you would find it. For example, the material covering 1.3.1 covers 500 lines in the json file.