← Back to Work Design Systems · Accessibility

Bridging
the Gap

A token-based, AAA-accessible design system for Blue Cross Blue Shield of Kansas — unifying four teams, cutting handoff time in half, and making consistency the default rather than the exception.

Role Design Systems Designer
Client BCBS Kansas
Year 2024
Tools Figma · EightShapes Spec · Drupal/Acquia
Color Tokens
BCBSKS Digital Design System · 2024
$blue-100
$blue-200
$blue-300
$blue-400
Brand Blue
$blue-500
$blue-600
$blue-700
$blue-800
$color-primary-action
#0057A8 · brand-blue-500
WCAG AAA 7.1:1
$color-primary-hover
#004080 · brand-blue-600
WCAG AAA 9.4:1
$color-surface-subtle
#E8F1FA · brand-blue-100
Tint surface
$color-text-on-primary
#FFFFFF · neutral-white
WCAG AAA pass
Primary Action
Secondary
AAA Compliant
Aa
Mencken · Georgia · Roboto
$spacing-xs → xl

Four teams.
Zero alignment.

Marketing was building one thing. UX was building another. Customer Experience had its own patterns. Development was implementing all three, inconsistently. The result was a product that looked different depending on which team had last touched it.

Blue Cross Blue Shield of Kansas needed more than a component library. They needed a single source of truth — a system that could serve radically different teams with radically different workflows, without requiring everyone to agree on everything before shipping anything.

The additional constraint: the entire system had to integrate with a Drupal/Acquia CMS infrastructure. Beautiful Figma components that couldn't be consumed by developers were worthless. The design system had to be built for implementation, not just for design review.

Challenge 01

Token-less color and type

Colors were defined as raw hex values in individual designs. No tokens, no semantic naming, no consistency enforcement. A brand color update meant hunting through hundreds of files and hoping nothing was missed.

Challenge 02

Undocumented components

Components existed in various Figma files but had no usage documentation, no naming conventions, and no relationship to their development equivalents. Handoff conversations were clarification sessions in disguise.

Challenge 03

Accessibility was ad hoc

Accessibility compliance was checked reactively, per-feature, at the end of design — which meant expensive rework when issues were found. The system needed to bake compliance in, not bolt it on.

Tokens first.
Everything follows.

A design system is only as strong as its foundation. We started with tokens — not components — because tokens are the atomic decisions that cascade through everything else.

The token architecture established semantic naming for color, typography, spacing, and elevation. 'primary-action' instead of '#BCDE4A'. 'spacing-md' instead of '16px'. These weren't just naming conventions — they were the contracts between design decisions and code output.

Once the foundation was stable, we built the component library in Figma using EightShapes Spec for embedded documentation. Every component shipped with annotated specs, interaction states, accessibility notes, and usage guidelines — all inside the Figma file itself.

Component library structure in Figma
↑ Component library structure in Figma. Each component is documented inline using EightShapes Spec — states, variants, and usage guidance live alongside the visual component itself.
Accessibility documentation for core components
↑ Accessibility documentation for core components. AAA compliance specifications embedded alongside every component — making compliance the starting point, not the finish line.

Accessibility wasn't a checklist — it was a specification. Every component was built to AAA compliance from the first iteration, with contrast ratios, focus states, screen reader behavior, and keyboard navigation documented for each. This meant the 'accessibility review' conversation with development was a confirmation, not a discovery.

Less time arguing.
More time building.

The measurable impact of a design system is always downstream. The immediate output is documentation. The real output is every conversation that doesn't happen because the answer is already in the system.

Design-to-development handoff went from clarification sessions to confirmation reviews. Developers could consume component specs directly from Figma without waiting for written documentation. New page templates were assembled from existing tokens and components — removing the blank-canvas paralysis that slows every new build.

Token Documentation Layer Figma Variables
Color
$color-primary-action #0057A8
$color-primary-hover #004080
$color-surface-subtle #E8F1FA
Typography
$type-heading-xl Georgia 32/40 Bold $type-body-md Roboto 16/24 Regular
Spacing
xs 4
sm 8
md 16
lg 24
xl 32
↑ Token documentation layer in Figma — color, type, and spacing tokens with semantic naming aligned to development variable names.
Component usage examples across contexts
↑ Component usage examples showing the system applied across marketing and product contexts — consistent visual language, different content.

Consistency
by default.

The system's success isn't measured in components shipped. It's measured in how quickly teams stopped arguing about what things should look like — and started building.

The 30% reduction in development time wasn't from building faster. It was from removing the overhead of per-component decisions that had already been made, documented, and agreed upon. The 40% faster handoff came from the same place: clarity that was designed in, not negotiated over.

30% Reduction in development time for new pages
40% Faster design-to-dev handoff — fewer clarification loops
100% Core UI elements achieving AAA accessibility compliance
4 Teams aligned on a single source of truth
Next Project Scoring Deck