Matt D. Smith Profile picture
Oct 11, 2022 21 tweets 10 min read Read on X
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 Matt D. Smith

Matt D. Smith 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

May 28
I've been designing websites, apps, and interfaces professionally since 2005 and I've boiled my design process down into 8 steps.

First I'll list them all, then explain them all... Image
1. Understand the problem
2. Determine the complexity
3. Complex? Use lists, content maps, and user flows to help guide the project
4. Complex? Design in low-fidelity (wireframes) to get everyone on same page about the same features
5. Set design direction
6. Present early and often
7. Explore, iterate, and exploit
8. Systematize

Let's dissect each one...
1. Understand the problem

Know what you're doing before you try to do it. This is asking questions. This is experiencing the pain first hand. This is being more aware of the problem than being set on a potential solution.

If you still have unanswered questions in your mind about the project, you're likely not ready to start designing.

This is really understanding as much as possible about Point A and Point B, and making sure these are actually problems that should be solved in the first place.Image
Read 15 tweets
Jan 13, 2023
📦 Every interface design element is a rectangular box.

Icons? A box
Buttons? A box
Headlines? A box
Form labels? A box
Negative space? Most definitely, a box

If you don't already... using the box model will drastically improve the way you design.

Here's why...
Imagine you had a bunch of random rectangular boxes and were instructed to stack them up neatly...
It wouldn't take an incredible amount of effort to come up with this as one option.

The box model allows you to think of each element as its own stackable item.
Read 8 tweets
Jan 3, 2023
Saying "Yes" to most things in your early career can help expose you to a ton of new opportunities and accelerate your growth.

But eventually you will need to start saying "No" to keep focused on the most important things.

Here's a quick example that just landed in my inbox...
A well written request from someone who wanted me to make some videos for them.
But I've already got most of my time planned out and this would only be a distraction from my larger goals for @shiftnudge etc. So I know I need to say "NO"
Read 7 tweets
Jan 2, 2023
8 quick tips to improve your Typography skills...
1. Size
Use as few font sizes as possible. No more than 3 or 4 per viewable section—or in total if you can help it.
I've adhered by this with my latest updates on @usecontrast and @useflowkit sites.

usecontrast.com (1 font size only)
useflowkit.com (1 mostly, 2 on interior pages)
Read 17 tweets
Dec 13, 2022
If you're using a non-standard font, compare its x-height to SF Pro before you lock in all of your font sizes. This will help you create more legible interfaces.

Why? Thought you'd never ask... Image
SF Pro was designed by Apple specifically for mobile interfaces (you likely already know this), so we're going to make the assumption that they know what they're doing and we can safely use SF Pro as a rule of thumb. Image
X-height refers to the height of the lowercase x for a typeface, and it indicates how tall or short each glyph will be.

Typefaces with tall x-heights have better legibility at small font sizes since the white space within each letterform is relatively larger. Image
Read 11 tweets
Dec 2, 2022
1/ As a designer, it's important to always be striving to improve your skills and become the best designer you can be. But what does it take to become a truly great designer? Here are some tips to help you on your journey to becoming a top-notch designer.
2/ First and foremost, focus on developing a strong foundation in the principles of design. This includes things like balance, contrast, hierarchy, alignment, and proximity. By mastering these principles, you'll be able to create visually appealing and effective designs.
3/ Stay up to date with the latest industry trends and technologies. This means regularly learning new design software and staying on top of design trends. By staying current, you'll be able to create cutting-edge designs that are in demand.
Read 8 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!

:(