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

Component Accessibility Status πŸ–οΈ #13745

Closed
19 tasks done
jeanservaas opened this issue Apr 23, 2023 · 2 comments
Closed
19 tasks done

Component Accessibility Status πŸ–οΈ #13745

jeanservaas opened this issue Apr 23, 2023 · 2 comments
Labels
adopter: strategic-product Work-stream that directly effects the Product-led Growth initiative. planning: umbrella Umbrella issues, surfaced in Projects views type: enhancement πŸ’‘
Milestone

Comments

@jeanservaas
Copy link
Contributor

jeanservaas commented Apr 23, 2023

Summary

REF carbon-design-system/carbon-platform#803
REF #11370

We want to give users immediate confidence that Carbon components have been vetted for accessibility out-of-the-box. Also, ideally the majority of these tests should be automated; right now they are not.

A crucial aspect of component completeness is knowing to what degree is each asset (e.g. component) accessible. After talking with Marc Johlic, we don't have to go to lengths for each asset to specify which WCAG rules they conform to (e.g. WCAG 2.1 AA.) Instead, a simpler accessibility testing status scale/process can be established:

  1. Pass There are no violations when running the automated Equal Access Checker on default component state.

  2. Pass There are no violations when running the automated Equal Access Checker on more complex component states and variants.

  3. Pass There no violations when running automated keyboard navigation tests using Jess/Michaels' tabbing guidelines.

  4. Pass No screenreader violations. (Manual process, leverage Ragu's expertise and time.)


- if any of these show a violation it's a Sev2 bug
- we're ensuring that all of these steps are a pass before each new release


Justification

We've had specific asks from leadership to offer more clarity and emphasis around the accessibility of Carbon out-of-the-box.

Tasks

  1. 8 of 8
    adopter: strategic-product role: dev πŸ€– type: a11y β™Ώ type: infrastructure πŸ€–
    andreancardona guidari
  2. 3 of 3
    adopter: strategic-product role: dev πŸ€– type: a11y β™Ώ type: infrastructure πŸ€–
    andreancardona tay1orjones
  3. 34 of 34
    adopter: strategic-product planning: umbrella role: dev πŸ€– type: a11y β™Ώ type: infrastructure πŸ€–
  4. adopter: strategic-product role: dev πŸ€–
    andreancardona tay1orjones
  5. 2 of 2
    adopter: strategic-product planning: umbrella role: dev πŸ€– type: a11y β™Ώ type: infrastructure πŸ€–
  6. adopter: strategic-product role: design ✏️ type: a11y β™Ώ type: docs πŸ“–
    aagonzales laurenmrice
  7. adopter: strategic-product role: design ✏️ type: a11y β™Ώ
    laurenmrice
  8. adopter: strategic-product role: design ✏️ type: a11y β™Ώ type: docs πŸ“–
    thyhmdo
  9. 46 of 46
    role: dev πŸ€–
    andreancardona tay1orjones
  10. adopter: strategic-product role: design ✏️ type: a11y β™Ώ type: docs πŸ“–
    thyhmdo
  11. role: design ✏️
    thyhmdo
  12. role: design ✏️ role: dev πŸ€– status: content review ✍️ type: a11y β™Ώ
    tay1orjones
  13. role: design ✏️ role: dev πŸ€– type: enhancement πŸ’‘
    thyhmdo
  14. adopter: strategic-product proposal: accepted role: dev πŸ€– type: enhancement πŸ’‘
    alisonjoseph
  15. adopter: strategic-product proposal: accepted role: dev πŸ€– type: enhancement πŸ’‘
    alisonjoseph
  16. adopter: strategic-product proposal: accepted role: dev πŸ€– type: enhancement πŸ’‘
    alisonjoseph
  17. 0 of 42
    adopter: strategic-product proposal: accepted role: dev πŸ€– type: enhancement πŸ’‘
    alisonjoseph
  18. adopter: strategic-product proposal: accepted role: dev πŸ€– status: blocked πŸ™…β€β™€οΈ type: enhancement πŸ’‘
    alisonjoseph
  19. 5 of 6
    proposal: accepted role: dev πŸ€– type: a11y β™Ώ type: enhancement πŸ’‘ type: infrastructure πŸ€–
    guidari
@laurenmrice
Copy link
Member

laurenmrice commented May 1, 2023

@laurenmrice laurenmrice added the planning: umbrella Umbrella issues, surfaced in Projects views label May 1, 2023
@sstrubberg sstrubberg changed the title docs: Show component accessibility status (on leadspace on Usage tab) Component Accessibility Status πŸ–οΈ May 1, 2023
@sstrubberg sstrubberg transferred this issue from carbon-design-system/carbon-website May 5, 2023
@sstrubberg sstrubberg added this to the 2023 Q2 milestone May 5, 2023
@tay1orjones
Copy link
Member

tay1orjones commented Jun 15, 2023

When thinking about how to surface the status of these 4 categories on the website, we may be able to generate a json file that could be consumed by the website to dynamically power the table (or however it's designed) on the website.

This could include:

  • As part of a release in CI, generate the JSON report using playwright's JSON reporter. This file contains all the information about the tests, status, result, etc.
  • Add this JSON file to the website, and build a component to pull in the file and generate the table or other design for these statuses.
    • This component could also use the github API to pull in the number of issues related to a given component and surface that alongside the status (if we want to)
  • In the monorepo, the tests for each component could follow a naming convention to build this out, e.g. Button - default state, Button - complex state, Button - keyboard navigation. These names would be used by the component in the website to determine if the a11y statuses 1, 2, 3, 4 should be marked as βœ… or 🚫
  • That same release action or CI workflow in the monorepo could open a PR on the website repo updating the JSON file with the newest version as part of the release, so this would automatically be kept up to date.
    • An alternate path here would be to host this file within the monorepo and then have the website pull it from there instead of the monorepo "pushing" the updated file to the website. This is probably a more clean option that could be updated on every PR merge to main instead of just per-release. Then as the website is redeployed when PRs merge the data would be kept up to date more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
adopter: strategic-product Work-stream that directly effects the Product-led Growth initiative. planning: umbrella Umbrella issues, surfaced in Projects views type: enhancement πŸ’‘
Projects
Archived in project
Archived in project
Development

No branches or pull requests

4 participants