posit-dev / posit-dev/connect-extensions
Add accessibility (a11y) checks for gallery extensions
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 10
- Forks
- 8
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 1
Description
Problem
Gallery extensions render web UIs (static landing pages, Shiny apps, Quarto docs, dashboards), but we don't currently run any accessibility (a11y) checks against them. Nothing flags common issues (missing alt text, low color contrast, unlabeled controls, weak keyboard navigation) before content ships to the gallery.
This surfaced in the #409 review - there are no a11y checks currently.
Goal
Catch accessibility violations in extension content so that what we publish is usable with screen readers, keyboard navigation, and adequate contrast.
Possible directions (open)
This issue intentionally does not prescribe a single solution. Some routes to weigh:
- Automated in CI: run a tool such as axe-core against the live URL each extension already gets during the integration-test step.
- Scope: every extension, or only those with a user-facing UI; blocking check vs. advisory report.
- Workflow split: we run a custom workflow for some extensions and a simpler one for others, so placement and coverage may differ between them.
- Manual / periodic: a checklist or periodic audit, instead of or alongside automation.
Open to discussion on the tool, the scope, and whether it blocks a merge or just reports.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing integration-test step and the custom workflows used for different extension types. Compare whether each extension exposes a live URL and identify suitable coverage for automated or manual checks. Done means the tool, scope, reporting behavior, and merge-blocking policy are agreed and documented or implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility, ci-cd, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100