Brand Standard
Accessibility.
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
WCAG 2.2 Level AA.
Three thresholds cover every situation. If a pair does not meet its threshold, fix the pair.
4.5:1
Normal text
All body copy, captions, labels, links, error and success messages, placeholders. Anything smaller than 18px regular or 14px bold.
3:1
Large text
18px and larger at any weight, or 14px and larger at bold (700+). Most headlines and primary CTAs qualify.
3:1
UI & icons
Focus rings, perceivable borders, form field outlines, validation icons, status indicators, and any non-text interactive element.
Audit Result
33 of 33 pass.
Every color pair used on the brand site, contrast-checked against its WCAG threshold. Sort and filter below.
Semantic Tokens
Use tokens, not hex.
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
Non-negotiable.
AI Audit Prompt
Run this on every new build.
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
The rest of the standard.
Color is one slice of WCAG. The full MWC accessibility floor:
- Every form input has a real
<label>linked withfor=andid=. Placeholder-only labels are banned. - Every error message uses
role="alert"and is linked viaaria-describedbyon the field it describes. - Every
<img>has analtattribute. Decorative images usealt=""explicitly. - Tap targets are at least 48x48px on touch. Primary CTAs are 56-60px tall on mobile.
- Input font-size is 16px minimum. iOS Safari zooms anything smaller; that is a known mobile failure.
- Honor
prefers-reduced-motion. Pulsing CTAs, parallax, and hover-lift cards are banned globally. - Honor
prefers-contrast: more. Bump field borders to white on dark surfaces when the OS asks. - Submit buttons set
aria-busy="true"during async submission; success states userole="status"witharia-live="polite". - Skip-to-content link is required on every multi-section page.
- Headings are hierarchical. One
<h1>per page, no skipping levels.