Avnology ID
Components

Accessibility

WCAG 2.2 AA conformance notes for id-elements.

Accessibility

@avnology/id-elements targets WCAG 2.2 Level AA conformance. Every shipped component is tested against NVDA (Windows) and VoiceOver (macOS/iOS) plus axe-core automated checks.

What ships with a WCAG 2.2 AA audit

  • <LoginForm />
  • <RegistrationForm />
  • <RecoveryForm />
  • <VerificationForm />
  • <MfaChallenge />
  • <PasskeyEnrollment />
  • <SessionList />
  • <UserButton />
  • <OrgSwitcher />
  • <Protect />, <SignedIn />, <SignedOut /> (no-op for AT, but transparent)

Audit pending (v1.1)

  • Larger admin panels (<MemberManagementPanel/>, <ScimConfigPanel/>, <SsoConfigPanel/>) -- functional but not yet audited.
  • New v1.1 components (listed as stubs elsewhere).

Keyboard

  • Tab order follows visual reading order.
  • Focus is visible (Carbon --cds-focus outline; overridable via Theming).
  • Menus open on Enter / Space, close on Escape.
  • Modals trap focus while open, restore focus to trigger on close.

Screen readers

  • Every form field has an explicit <label> or aria-label.
  • Error messages associate with inputs via aria-describedby.
  • Live errors announce via role="alert" on the error callout.
  • Loading states announce via aria-live="polite".

Colour contrast

Carbon's shipped g10 (light) and g100 (dark) themes meet WCAG AA for all foreground/background pairs. If you override tokens, re-check with axe-core or a manual contrast checker:

npx @axe-core/cli http://localhost:3000/sign-in

Reporting an accessibility issue

Email [email protected] with a repro + AT software + version. We treat AA regressions as P1 bugs.