Design System — Design Document

Single source of truth for visual and interaction design. Use this to keep Figma, brand, and product work consistent. Code implementation references this document.

1. Overview & principles

1.1 Purpose

  • This system is for AOPA's digital design & branding.
  • It serves devs, design and content producers.

1.2 Design principles

  • Clear Communication
  • Simplified Structures
  • Impactful Patterns
  • REfined Typography

1.3 Brand positioning

  • Mission, voice, and personality in 1–2 paragraphs.
  • How the design system supports the brand (tone of UI, imagery, motion).

2. Foundations

2.1 Color

  • Palette: Primary, secondary, neutrals (with hex/Pantone/HSL if needed).
  • Semantic roles: Text (primary, secondary, muted), backgrounds (page, surface, overlay), borders, focus, error, success, warning.
  • Usage rules: When to use which role; contrast and accessibility (e.g. WCAG AA).
  • Dark mode (if applicable): Mapping from light roles to dark; any inversions or exceptions.

2.2 Typography

  • Type scale: Display, heading levels, body, caption, overline—sizes and line heights.
  • Font families: Primary and secondary; usage (headings vs body vs UI).
  • Weights: Which weights exist and when to use them.
  • Prose/editorial: Rules for long-form content (line length, spacing, lists, blockquotes).

2.3 Spacing & layout

  • Spacing scale: Named scale (e.g. xs, sm, md, lg, xl) with values; usage (padding, margins, gaps).
  • Grid: Column count, gutter, margin; breakpoints and when the grid changes.
  • Breakpoints: Named breakpoints (e.g. sm, md, lg, xl) and what they represent (device / viewport intent).

2.4 Motion & animation

  • Duration scale: Short, medium, long (e.g. 150ms, 300ms, 500ms) and when to use each.
  • Easing: Standard curves (ease-in, ease-out, ease-in-out, custom) and use cases.
  • Principles: When we animate (feedback, focus, transition) and when we don’t.

2.5 Iconography

  • Style: Outline vs solid; stroke weight; size scale.
  • Library/source: Which set we use; how to add or request icons.
  • Usage: Sizing with text, alignment, color (inherit vs semantic).

2.6 Imagery & media

  • Photography: Style, cropping, treatment (e.g. no heavy filters).
  • Illustration: Style (if any); when to use illustration vs photo vs icon.
  • Aspect ratios: Standard ratios for cards, heroes, thumbnails.
  • Accessibility: Alt text expectations; decorative vs meaningful.

3. Components

For each component, keep the doc design-focused; implementation can live in code/Storybook.

3.1 Component template (repeat per component)

Component name

  • Purpose: What it’s for and when to use it.
  • Variants: Primary, secondary, sizes, states (default, hover, focus, disabled, error).
  • Anatomy: Labeled diagram or list (e.g. icon, label, helper text, trailing icon).
  • Specs: Size, padding, border radius, typography, color roles.
  • Composition: What it can contain (e.g. text only, icon + text, slots).
  • Do’s and don’ts: 2–3 each; reference principles where it helps.
  • Related: Links to patterns or other components.

Suggested order: Start with primitives (Button, Text, Icon, Input, Checkbox, etc.), then patterns (Card, Form field, Modal, Nav item).


4. Patterns

Higher-level, cross-component guidance.

4.1 Layout patterns

  • Page structure (header, main, sidebar, footer).
  • Containers (narrow, medium, full).
  • Stacking and grouping (sections, cards, lists).
  • Global nav, local/tabs, breadcrumbs, pagination.
  • When to use which; hierarchy and placement.

4.3 Forms & inputs

  • Label placement, helper/error text, required indicator.
  • Validation and error state; multi-step flows if relevant.

4.4 Feedback & status

  • Toasts, banners, inline messages.
  • Loading states (skeletons, spinners) and when to use each.

4.5 Content patterns

  • Article/page layout; headings, lists, blockquotes, code.
  • Cards for previews, feature lists, CTAs.

5. Accessibility

  • Target: WCAG 2.1 AA (or other standard); any AAA goals.
  • Color: Contrast ratios; never rely on color alone.
  • Focus: Visible focus states; tab order and keyboard use.
  • Motion: Respect prefers-reduced-motion; document any exceptions.
  • Content: Headings hierarchy, alt text, form labels.

6. Responsive & platform

  • Breakpoint behavior: How layout and components change at each breakpoint.
  • Touch targets: Minimum size (e.g. 44px); spacing for touch.
  • Platform notes: Any differences for native, email, or embedded contexts.

7. Governance & maintenance

  • Ownership: Who approves changes to foundations and components.
  • Contribution: How to propose new components or tokens (e.g. request template, review process).
  • Versioning: How we communicate breaking vs additive changes (link to changelog or “What’s new”).
  • Design tools: Where the canonical Figma library lives; how often it’s synced with this doc.

8. Appendix

  • Changelog: Summary of major doc and system updates.
  • Glossary: Terms used in the doc (e.g. “token,” “variant,” “primitive”).
  • References: Links to brand guidelines, research, or external standards.

Use this document as the design spec. Code (tokens, components) and Figma should align to the decisions recorded here.