MDS Profile picture
Oct 11 21 tweets 10 min read
Make your design life 10X easier and use these 5 color contrast score ranges for specific UI elements.

👇Here's the breakdown...

(I started writing this after the recent @usecontrast launch)
Full white on black and vice versa is the highest contrast—clocking in at 21 on a scale of 1-21. This is typically great for punchy headlines, but not for everything else.
In general, AAA is best for long form body copy, titles, and important items, but more specifically a score of 12-21 is ideal for DARK body text on light backgrounds.

This will keep your text from looking too light and muddy.
A score between 7-12 is ideal for LIGHT body text on dark backgrounds.

The human eye dilates (big pupils) in low light to let in more light. Because of this you will be more sensitive to bright lights on dark screens. 👁
Notice on the examples above:

The light mode versions vary by 9 points, but the contrast difference is quite subtle.

Whereas the dark mode versions vary by 5 points and is MUCH easier to detect.
Ever had someone shine a flash light in your eyes at night and you feel blinded?

It's because your pupils were huge and your eyes did not expect that much light to pour in.
Bright white, long form, body copy on a black background (score of 21) is—in most cases—a bad idea. It will cause too much eye strain. Titles and short copy are fine as long as you know what you're not going overboard with high contrast.
This is why dark mode is MUCH trickier to design for.

Every border, every piece of UI, every interface element has much more power over your eyeballs than light mode—because of the large size of your pupils.
A minimum score of 4.5 (AA) is great for secondary copy that plays a supporting role in your interface.

BUT if you use ONLY 4.5 for everything, it will feel washed out and flat.
A flat style could mean that you've chosen a unique and interesting style, but it could also (very likely) mean that you've done a bad job at choosing colors. #shame
4.5 can be a great option for lots of the same items that need to be toned down to not feel overwhelming, eg. table data, list of features, small secondary headings, etc.
3.0 (AA Large) is the only score that has a size requirement of 18px bold or 21px regular. (roughly)

"Bold" and "Regular" vary greatly between typefaces because type designers can draw whatever they'd like in the letterform bounding box.
3.0 is the sweet spot for icons and other graphical interface elements, like button borders, etc.
3.0 also works well for primary CTAs and placeholder labels for input fields (with no external labels). These are two areas where getting the contrast just right is super important.
Lower than 3.0 is a failing score. These score get a bad rap, but they can actually be really useful.

You definitely shouldn't use a failing score for text that is critical to an interface, but anything decorative is fine.
In fact, a failing score of 1.2 – 1.5 works really well for secondary CTA background colors, borders and dividers, and disabled button text.
Failing scores can also work well for certain input placeholder text that have other external labels WITH passing contrast scores.

Going too dark for these can make it seem like there's already text in the input field.
In summary...

12-21 for light mode body text
7-12 dark mode body text
4.5+ for supporting text
3.0+ icons and colorful primary CTAs
1.2 - 1.5 for subtle UI elements
Having quick access to these scores right in your design tool is clutch. That's why @gusso and I made the new @usecontrast for @figma. ✨

It's awesome and it's free! usecontrast.com
Would it be helpful to publish these contrast examples as a @figma community file?

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with MDS

MDS Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mds

Jun 15
"From Broke at 26 to $100 Million net worth by 31"

I had never heard of @AlexHormozi until a few weeks ago when @thesamparr and @ShaanVP interviewed him on their podcast.

Last weekend I had dinner with Alex and @LeilaHormozi.

👇 This is the story of how it happened... me and alex hormozi with arms around each other
Just for reference, here's the @myfirstmilpod video I watched...

At 1:04:43 in the video above, Sam tells Alex that he's exhausting... but in a good way (paraphrasing)

Those were my thoughts exactly. He seemed like a very experienced and wise dude dropping tons of knowledge—I was intrigued.
Read 24 tweets
May 19, 2019
I’ve witnessed so many people struggle with creating design systems. The root cause is nearly always the desire (or the directive) to define the system before the possibilities have been explored in a non-systematic way.
Explore THEN define. Rinse and repeat.
You can’t create a great system for design until you’ve really explored lots of possibilities without the restrictions of components and symbols and definitions.
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(