Skip to content

feat(campaign): automated WCAG 2.1 AA accessibility checker for campa… - #1306

Open
p70436464-prog wants to merge 1 commit into
Fundable-Protocol:mainfrom
p70436464-prog:feat/campaign-accessibility-check
Open

p70436464-prog wants to merge 1 commit into
Fundable-Protocol:mainfrom
p70436464-prog:feat/campaign-accessibility-check

Conversation

@p70436464-prog

Copy link
Copy Markdown
Contributor

Closes #1214

Summary

Provides creators with an automated accessibility audit (WCAG 2.1 AA) of their campaign page before publishing.

Acceptance Criteria Met

  1. Checker runs on publish or via a Check Accessibility button:
    • Added checkCampaignAccessibility service evaluating WCAG 2.1 AA criteria (Non-text content 1.1.1, Heading structure 1.3.1, Video captions 1.2.2, Color reliance 1.4.1, Contrast minimum 1.4.3, Link purpose 2.4.4, Headings and labels 2.4.6, Language 3.1.1, Labels and instructions 3.3.2).
    • Added "Check Accessibility" button on the Preview step and action bar.
    • Automatically executes on publish ("Launch Campaign" action).
  2. Results list issues with fix suggestions:
    • Added CampaignAccessibilityModal dialog presenting detected issues with severity badges, WCAG criterion tags, and actionable fix suggestions.
    • Enables filtering by All, Critical, and Warnings.
  3. Critical issues block publish; warnings are advisory:
    • Any critical accessibility issue blocks publishing until resolved.
    • Advisory warnings inform creators but permit proceeding with launch.

Files Changed

  • apps/web/src/services/campaign-accessibility.service.ts
  • apps/web/src/services/campaign-accessibility.service.test.ts
  • apps/web/src/components/modules/campaign/accessibility/CampaignAccessibilityModal.tsx
  • apps/web/src/components/modules/campaign/accessibility/CampaignAccessibilityModal.test.tsx
  • apps/web/src/components/modules/campaign/wizard/campaign-wizard-config.ts
  • apps/web/src/components/modules/campaign/wizard/CampaignWizardSteps.tsx
  • apps/web/src/components/modules/campaign/wizard/CampaignWizard.tsx
  • apps/web/src/components/modules/campaign/wizard/CampaignWizard.accessibility.test.tsx

Test Coverage

  • Unit tests for service rules and fix suggestions (17 passed)
  • Unit tests for modal presentation and filtering (6 passed)
  • Integration tests for publish-blocking and warning advisory flows (3 passed)

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@p70436464-prog Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@coderabbitai

coderabbitai Bot commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: be116752-14e7-45ba-8673-811452070614
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an accessibility compliance checker for campaign pages

1 participant