Skip to content

Add jest-axe baseline accessibility tests for core components #1219

Open

Description

@KshitijShukla30

While going through the codebase I noticed packages/react already has Jest and @testing-library/react set up but there are no accessibility checks anywhere. Since EmbeddedChat gets embedded into third-party apps, any a11y issues in core components become the host app's problem too.
jest-axe slots in cleanly on top of the existing setup — no major config changes needed.
What I'm proposing:

Add jest-axe as a dev dependency in packages/react
Extend Jest with toHaveNoViolations
Write baseline tests for ChatInput, MessageList, and Sidebar
Hook into existing CI so it runs on every PR

I already have this working locally. Happy to open a draft PR if this looks good.

Activity

  1. KshitijShukla30 commented on Mar 18, 2026

    @KshitijShukla30
    Author

    @Spiral-Memory just wanted to add the reason I think this is worth doing now is that a11y issues are hard to spot in review, a missing label or broken tab order doesn't break anything visually so it just slips through. CI check would catch it automatically. happy to open a draft PR if you think it is correct.

  2. prawnsgupta commented on Jul 15, 2026

    @prawnsgupta

    Hi @Spiral-Memory @KshitijShukla30 — is this still being worked on? It's been open a while with no PR. If it's stalled I'd be happy to pick it up (or expand it — a11y coverage for the remaining core components too). Otherwise happy to help review.

  3. Spiral-Memory commented on Jul 15, 2026

    @Spiral-Memory
    Collaborator

    As part of accessibility and WCAG compliance checks, @Aryan-Verma-999 might be adding it for GSoC.

  4. Akay-74 commented on Oct 10, 2026

    @Akay-74

    Hi @Spiral-Memory, is this still open? I looked at packages/react and Jest can't run there at the moment: there's no test script, src/index.test.js imports an RCComponent export that no longer exists, the Babel config emits ESM, and @testing-library/react 12 doesn't support React 19. So the Jest setup needs repairing before jest-axe can go in.

    I already have that working locally (Jest 29, RTL 16, jest-axe, a baseline axe test for TypingUsers) and I'm opening it as a draft PR now. #1176 and #1181 only add aria attributes, so they don't overlap. If someone else is already on this, tell me and I'll close it or change scope.

  5. Spiral-Memory commented on Oct 10, 2026

    @Spiral-Memory
    Collaborator

    Hi @Spiral-Memory, is this still open? I looked at packages/react and Jest can't run there at the moment: there's no test script, src/index.test.js imports an RCComponent export that no longer exists, the Babel config emits ESM, and @testing-library/react 12 doesn't support React 19. So the Jest setup needs repairing before jest-axe can go in.

    I already have that working locally (Jest 29, RTL 16, jest-axe, a baseline axe test for TypingUsers) and I'm opening it as a draft PR now. #1176 and #1181 only add aria attributes, so they don't overlap. If someone else is already on this, tell me and I'll close it or change scope.

    Hey @Akay-74
    Pls feel to work on it

  6. AbhishekBRajpurohit commented on Oct 20, 2026

    @AbhishekBRajpurohit

    Hi! I’d like to work on this issue. Could you please assign it to me? I’ll start by going through the codebase and will share my approach shortly. Thank you!

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions