WCAG 2.1 AA — release blocker
Web (React DOM)
- The bar renders a plain
<div>. It does not choose a heading level — pass an<h1>/<h2>astitlefor the canonical page heading. - The icon is decorative; the icon SVG should be
aria-hidden(or have an emptyaria-label) so the title carries the meaning. - Supertitle is muted text — verified ≥ 4.5:1 against the card background in light AND dark.
React Native
- Use
accessibilityRole="header"on the titleTextwhen this acts as the page heading.
Reduced motion
The bar has no transitions; nothing to honour beyond the system default.
Color is never the only signal
- Supertitle and title differ in weight and size, not just colour — a colour-blind user can still parse the hierarchy.
Audit checklist
- Title element is a proper heading (
<h1>/<h2>) when this is the page's canonical title. - Decorative icon hidden from assistive tech (
aria-hiddenor emptyaria-label). - Supertitle contrast ≥ 4.5:1 in light AND dark.
- If
actionis present, its child handles its own a11y contract.