Brand Standard
Every Men's Wellness Centers product meets WCAG 2.2 Level AA contrast standards. Every color combination on the brand is audited at 4.5:1 for body text, 3:1 for large text and UI elements. Use the semantic tokens below. Do not hardcode hex values. Run the AI prompt at the bottom on any new code before shipping.
Standard
Three thresholds cover every situation. If a pair does not meet its threshold, fix the pair.
4.5:1
All body copy, captions, labels, links, error and success messages, placeholders. Anything smaller than 18px regular or 14px bold.
3:1
18px and larger at any weight, or 14px and larger at bold (700+). Most headlines and primary CTAs qualify.
3:1
Focus rings, perceivable borders, form field outlines, validation icons, status indicators, and any non-text interactive element.
Audit Result
Every color pair used on the brand site, contrast-checked against its WCAG threshold. Sort and filter below.
Semantic Tokens
These are the only colors you should reference in code. Every token is contrast-audited for the surfaces it is approved on. Do not hardcode hex values in components.
Hard Rules
AI Audit Prompt
Hand this prompt to Claude, ChatGPT, or any AI assistant working on MWC code. It reproduces our audit and forces semantic-token usage.
Audit and fix all color combinations in this app for WCAG AA compliance.
Requirements:
- Minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text (18px+ or 14px bold) and UI/icon elements.
- Check every text-on-background pair: body copy, headings, links, buttons (default/hover/active/disabled), placeholders, badges, toasts, tooltips, form labels, error/success states, nav, sidebar, cards, modals, and overlays.
- No white-on-white, light-gray-on-white, or low-contrast brand-color-on-brand-color combinations.
- Preserve the existing brand palette where possible; if a color fails, adjust lightness/saturation minimally or swap to an accessible token rather than redesigning.
- Define semantic color tokens (text-primary, text-muted, bg-surface, border, primary, primary-foreground, destructive, etc.) in the Tailwind/theme config and apply them consistently. No hardcoded hex values in components.
- Ensure focus rings, disabled states, and placeholder text also meet contrast requirements.
- Keep both light and dark modes compliant.
Deliverable:
1. List each failing pair you found (foreground / background / ratio).
2. Show the corrected token or hex and new ratio.
3. Apply the fixes across the codebase using the updated tokens.Beyond Color
Color is one slice of WCAG. The full MWC accessibility floor:
<label> linked with for= and id=. Placeholder-only labels are banned.role="alert" and is linked via aria-describedby on the field it describes.<img> has an alt attribute. Decorative images use alt="" explicitly.prefers-reduced-motion. Pulsing CTAs, parallax, and hover-lift cards are banned globally.prefers-contrast: more. Bump field borders to white on dark surfaces when the OS asks.aria-busy="true" during async submission; success states use role="status" with aria-live="polite".<h1> per page, no skipping levels.