About

Ever since Salesloft’s rebrand I’ve been thinking a lot about accessibility. Our decision to make green our brand color helps us standout in the marketplace. However, it causes issues for our customers affected by colorblindness.

This presentation covers discusses improving accessibility with design tokens. By using tokens to enable theming, we can begin to build colorblind themes.

This is an abbreviated version from July 22, 2022 and given to Salesloft’s Product Leadership, Product Management and Product Experience teams.

Transcript

Title card reading "Improving Accessibility with Design Tokens" by Sam Solomon, dated July 22, 2022, on a dark green background

Good morning everyone.

For those of you I haven’t had the opportunity to meet yet, my name is Sam Solomon. I’m a Staff designer here and I lead design for our platform and workflow pods.

I’d like to talk with you today about improving accessibility with design tokens.

But first, I’d like to talk about a problem.

A problem several of our customers started having about a year ago.

Screenshot of Salesloft's Cadence dashboard showing a live feed, cadence steps with due counts, and a tasks panel

For those of you who have been here longer than a year this page might look familiar—it’s our old homepage, old colors and old brand.

If you login to Salesloft today, this is what you’ll see.

Salesloft Cadence dashboard showing Live Feed, Cadences with due steps, and a Tasks panel with upcoming calls and emails

This is the rebranded product—which was a great accomplishment.

It has been well-received by our customers and allowed us to differentiate ourselves in the market.

And as far as rebranding projects go, this went incredibly smoothly.

However, there’s a problem.

Because not everyone got this. Some people got this—

Screenshot of a sales engagement platform showing a Cadence dashboard with Live Feed, Cadences, and Tasks panels

A collection of gray blobs.

Those that got this—of course—are our users affected by colorblindness. Some 4 to 5 percent of the population, and presumably our customers.

And it’s unfortunate.

You know salesloft isn’t a place to go to kill downtime. It’s not a travel website that someone uses once or twice a year.

It’s not a toy.

Salesloft is a professional tool that our customers use 2 to 6 hours each day.

Many depend on it for their livelihoods. If demos don’t get booked or deals aren’t closed, salespeople are going to struggle.

And that’s something I take very seriously.

Three UI buttons labeled "Button" in olive, dark gray, and light gray styles

To better illustrate the problem here I have our 3 most common buttons.

Real quick—can you tell which is the destructive one?

Three UI buttons labeled "Button" in red, green, and light gray styles

Did you guess right?

Now buttons have labels in the app and we require confirmation for destructive actions. But it’s not super-easy to tell, is it?

—and this is 10 times the size of most of the buttons on our screens.

So what do we do about this?

The answer is to give the user back a bit of control through theming.

So a colorblind user with a colorblind theme might instead see something like this.

Three UI buttons labeled "Button" in yellow, blue, and light gray styles

Cool, right? But how do we get there?

We’ll need to need to adjust Salesloft’s design system to move away from standard color variables and towards design tokens.

What exactly does that mean?

Quote from Adobe Spectrum Usage Guidelines: "Design tokens are all the values needed to construct and maintain a design system — spacing, color, typography, object styles, animation, etc. — represented as data

I’ve taken this blurb from Adobe’s Spectrum Design System.

Essentially design tokens take the subtle, overarching patterns that already exist in the design system. It codifies and turns them into variables.

Just to level-set—today we’ll be discussing colors specifically, because that is most impactful to our colorblind users. Just know that there are a lot of other uses for design tokens.

OK, so let’s take a look at how to implement design tokens.

Design system color palette showing surface, activity, background, and icon tokens with labeled swatches across gray, green, blue, yellow, purple, teal, and red scales

This is a shot from a theme I’m calling Light Default—which is basically our existing theme.

If you look closely you’ll see colors—Green 500, Blue 500—accompanied by a label.

Essentially, what we’re trying to do here is take these colors and apply labels that have meaning and inherit from these colors.

So when we take these labels and start applying them to components, we’ll end up with something like this—

UI design diagram mapping semantic color tokens to component parts: a Button, a dropdown input, and a warning Chip

As you can see we’re not applying colors to these components. We’re applying those design tokens.

For the background of the button we’re not applying Base Green or Green 500, we’re applying Action/Primary Default.

For the field border we’re not applying Gray Base, we’re applying Border/Default.

Hopefully the gears are starting to turn. We’re going to keep these tokens, but change the colors that they are associated with them—that’s how we’ll build a theme.

So I have some examples screens I’ve build in Figma using design tokens. Let’s take a look.

Salesloft cadence overview for "Q22022 Personalized" showing 18 steps, 31-day duration, 4.5k total people, and step-by-step analytics

This page should look somewhat familiar to you all. It’s a recreation of our Cadence Detail page.

Notice I’ve put a few large tokens in the corner of each page so you can see how the status colors change—Primary, Info, Warning, Danger.

Now let’s see how this changes with a Red-Green colorblind theme.

Watch the buttons—those are the most notable elements to change.

Salesloft cadence overview for "Q22022 Personalized" showing 18 steps, 4.5k total people, 25.4% open rate, and 6.7% meeting rate

See how the buttons change from green to blue? Also you’ll notice that the error color changed from red to yellow.

Let’s take a look at another colorblind theme.

Salesloft cadence overview for "Q22022 Personalized" showing 18 steps, 31-day duration, 4.5k total people, and step-by-step engagement metrics

Here the buttons change to teal. To help those affected by yellow-blue colorblindness.

And it’s not just colorblindness. Maybe I have a hard time staring at a bright white screen all day. What can I do about that?

Salesloft cadence overview for "Q22022 Personalized" showing 18 steps, 4.5k total people, 25.4% open rate, and a list of cadence steps by day

This is a Dark Tritanopia theme. Not only will it help those who are yellow-blue colorblind, but also for those who don’t like the brightness of our largely light theme.

I know I’m running out of time here, so I’m going to cycle through one more example real quick.

Salesloft People list view showing 3,280 contacts with columns for Person, Account, Title, Job Seniority, Cadences, Stage, and Tags

This is the default people list.

Salesloft People dashboard showing a list of 3,280 contacts with columns for Person, Account, Title, Job Seniority, Cadences, Stage, and Tags

Light Protanopia theme—for red-green colorblindness.

Salesloft People list view showing 3,280 contacts with columns for Person, Account, Title, Job Seniority, Cadences, Stage, and Tags

Tritanopia theme for yellow-blue colorblindess.

Salesloft People list view showing 3,280 contacts with columns for Person, Account, Title, Job Seniority, Cadences, Stage, and Tags

And finally a Dark Tritanopia theme.

Dark green presentation slide reading "Thank you" with a Slack @sam handle, credited to Sam Solomon on July 22, 2022

We’re nearing time here—I have a couple closing comments.

First, I’d like to thank Andrii, who has been a huge resource. He’s always quick to answer questions or be a sounding board. He’s helped point me in the right direction when I’ve been unsure. So shout out to him.

Finally, I’ve stressed the importance of building an accessible platform for our customers—this isn’t a game. We’ve got real people that count on our efforts. They count on our efforts to make a living.

Let’s not let them down.

Thank you.