Formably blocks unusable brand color pairs before publish

Formably applies global brand defaults and per-form overrides with contrast validation so generated and manual forms do not ship light-gray-on-white submit buttons. Brent Haskins built this into the AI form product because illegible branded forms were the top support pattern in early launches.

A form that matches the brand but fails contrast is still a broken form.

Formably generates forms from plain language. Generation without brand guardrails produced pretty layouts recruiters could not read on outdoor screens.

Two-level brand model

LevelPurpose
Global defaultsCompany-wide palette, typography baseline
Per-form overrideCampaign accent with precedence rules

Precedence must be documented in product—not tribal knowledge in support.

Contrast as release gate

Block or warn when:

  • Button text vs button background fails minimum contrast for normal text
  • Label text vs field background fails for default sizes

Warn with actionable copy (“pick a darker accent”) instead of WCAG jargon alone.

AI output is still untrusted

Even with brand settings, validate generated field labels and helper text server-side. Do not let the model inject arbitrary color CSS outside the token system—see spam and abuse on public endpoints.

Related posts

Brent Haskins shipped Formably full-stack in 2025. Contrast checks are product logic, not a linter you run once before launch.

Questions people ask about this topic.

Does Formably check color contrast for forms?

Yes as a product requirement: brand colors at global and per-form levels go through contrast-aware checks before users share a public link. The goal is readable labels and buttons for typical body text sizes, aligned with WCAG contrast minimum guidance—not a substitute for a full accessibility audit of every custom field layout.

How does Formably branding relate to AI generation?

Natural-language generation proposes fields and layout inside brand settings defined in the product—not unconstrained CSS. Global defaults cover logo placement and palette; per-form overrides handle campaigns. See the brand contract post on this blog for the full generation boundary.

Referenced sources