Great update to the OkColor plugin letting you specify both absolute and relative chroma in colors.
Last OkColor update 🌈 you can now use relative chroma in OkLCH: https://t.co/ZUhIw7cojP
— Doko Zero (@dokozero) October 9, 2023
It does not replace OkLCH's absolute chroma which is important, but it brings the advantage of OkHSL's saturation while keeping the features of OkLCH.
More infos 🧵↓
I rely on Luis for thought-provoking organization and design systems insights. In this thread, he discusses a way to translate brand colors into primitive and semantic color scales. At work, I use two design systems — one made by a smaller team where the same designers control the brand, design system, and product, and another from a larger organization with these are separate functions. I can see how his approach of explicitly using brand colors in primitives can work well in larger orgs.
It's pretty common when working with brand that you're provided with the "brand palette", which might not automatically translate into your token structure
— luis. (@disco_lu) October 9, 2023
To feed them into a global palette, you can still rely on the primitive / semantic relationship, but with an extra step pic.twitter.com/eZ61LLD9Ts
Something must be (hovering) in the air, as Ridd also shared his thoughts on selecting a color for the hover state with the right amount of saturation.
Came across these hover states today...
— Ridd 🤿 (@ridd_design) October 11, 2023
Notice how the grays feel kinda... off?
It's a mistake I see a lot 😬
Here's a better way👇 pic.twitter.com/BBVMB6Le9Z
An interesting idea on using a composite style with an alpha channel for a hover state instead of creating variables for every variant. Won’t work in every case, but it was interesting to learn that the same overlay approach is used in Material 2.
An idea 💡
— luis. (@disco_lu) October 10, 2023
If your hover states are consistently within the same colour range e.g. adding 30% black to *anything* that is hovered, then instead of creating variables for every single variable's hover state, you create a single ––hover variable and use it within a composite style pic.twitter.com/k9QsF0xhBb
New ways to manipulate colors and glyphs in Figma, coming directly from the team. #18: Two new blend modes that are most applicable to designing for iOS, as explained by Rogie — plus darker (linear burn) and plus lighter (linear dodge). Now we can do a classic dodge and burn! #19: Scrubbable inputs in color pickers. Use your mouse to drag or “scrub” individual fields to get precise control over your colors. #20: Alpha values in color inputs will be applied to the color’s opacity. #21: When outlining a stroke within a text node, the text is now converted into a group of vector nodes, one per text glyph.
Roman Shamin and Evil Martians keep building amazing tools for working with colors. Harmony is a beautiful color palette built with a primary focus on visual contrast and accessibility. It provides an equal contrast within lightness levels and consistent chroma (thanks OkLCH!), mirrored contrast pairs for light and dark modes, P3 gamut support, and Figma variables support. A great example of how a modern color palette should be built. Make sure to read Roman’s thread with all the nitty-gritty details of building this palette.
Luis with an interesting approach to documenting use cases or “intentions” of specific color levels in a palette. The color scales documentation from Radix recommended in the comments is also a fantastic resource. See also Luis’ Documentation template for colors in the Community.
I find navigating large colour palettes / ramps pretty hard, and knowing what colour to use even harder
— luis. (@disco_lu) September 19, 2023
So I've been wondering if we can document colour in a way which nudges designers towards what colour could be used where? pic.twitter.com/NT9PI7lzxg
Molly Hellmuth with tips on the best ways to name, organize, use, and theme color variables.
💡 10 things I learned while adding variables to my Figma design system
— Molly Hellmuth (@molly_hellmuth) September 20, 2023
Like the best ways to name, organize, use, and theme colors.. without getting overly complicated!
Some were easy, some took days of testing and re-testing... 👇 pic.twitter.com/KPJnG5gIs7
New plugin for working with perceptual color and OKLCH color space! This initial release allows inspecting and manipulating color stops in gradients using the OKLCH color space — pretty useful if you have an existing gradient that needs a little tweaking. Bonus point for providing precise control over color stop positions!
An early beta of a new APCA contrast checker plugin from my friends at Evil Martians. Polychrom displays the contrast level between the selection and an automatically detected layer background or two selected layers with solid fills. It also offers text size recommendations for regular and bold font styles, following the APCA contrast-to-font table. Earlier this year I was looking for an APCA contrast checker to recommend in my Config talk and found all existing options lacking, so really happy to see this team building it!
A few good tips on adjusting the color hue, opacity, and evenly distributing color handles.
Here are some helpful gradient tips for @Figma:
— Joshua Guo (@jgspace_design) September 6, 2023
- Scroll: Adjust the color hue.
- Option / Alt + Scroll: Adjust the opacity.
- Double-click handle: Evenly distribute the color handles. pic.twitter.com/N8gI79r8ho
Somehow I missed that deep dive into color theory, perception of contrast, and human physiology by Andrew Somers, author of APCA and a co-author of the future WCAG 3 accessibility guidelines. “This new method directly considers perceptual lightness/darkness differences of text against a background, and generates a “lightness contrast” value, noted as Lc. From here, we can determine the minimum size and weight of a font that is going to be fluently readable, and together these calculated predictions can guide our design choices.” He provides some practical guidelines for the transitional period, where we know that existing guidelines are expected to be revised or replaced. (Worth mentioning that my tool Accessible Palette supports both WCAG 2 and APCA contrast algorithms. Also, see the new Polychrom plugin below.)
Molly shares the best practices for working with color that she learned from the Adobe Spectrum design system.
💡 Figma tip: 5 color best practices I'm stealing from Adobe Spectrum while I update my design system to include variables ✨🎨
— Molly Hellmuth (@molly_hellmuth) August 11, 2023
Keep reading for tips & examples.. pic.twitter.com/rVMX1Zp6oJ
The introduction of wide gamut Display P3 colors to the design tools “broke” the familiar hex notation that all of them have been relying on. The transition to modern notations will be painful and take time. I share some context in this thread, but the main takeaway is to NOT use the #RRGGBB
values for hand-off or external tools when working with P3 colors.
The newly introduced Display P3 support in @figma is a good opportunity to talk about use of the hex format for colors in design tools. The #RRGGBB format comes from CSS and is limited to sRGB. Using it for P3 colors creates a few problems. 🌈🧵 pic.twitter.com/Eqqq7VClyz
— Eugene Fedorenko (@efedorenko) August 7, 2023
Andrey Sitnik (author of PostCSS and Autoprefixer, used on pretty much every website) goes a little deeper into platform-independent (CSS) vs. platform-specific (Figma, Photoshop) implementation of P3. He also added “Figma P3 hex” as one of the accepted formats to OkLCH Color Picker, which makes using Figma values in OkLCH much easier.
Figma has added P3 support, but there is a tricky.
— @sitnik_en@mastodon.social (@sitnikcode) August 8, 2023
↓ A little thread about:
— Why do you need P3 colors?
— An in-depth review of Figma’s P3 implementation
— How to design apps with P3 colors
— Why you need https://t.co/o86BbxR7Td to bring P3 colors to CSS pic.twitter.com/9IASqGf5AS
Christine Vallaure reminds us of using Selection Colors for applying variables to multiple objects.
Tip: Quickly add #figma color variables. Don't select each element individually -make a bulk selection and jump to "Selection colors" at the end of your properties panel. Easy and efficient! This way, you ensure you don't miss any elements and can even out slight color imbalances pic.twitter.com/NZsHU9a16A
— Christine Vallaure (@moonlearning) July 31, 2023
An interesting challenge from Miguel Solorio — how to make nested icons in a component inherit color overrides when switching between outline and solid styles without having to outline the strokes? Two solutions that surfaced in comments are using a mask or a union.
👀🔎 Have been trying to figure out how to make nested icons in @figma components inherit color overrides when switching between outline and solid styles without having to outline the strokes. Does anyone know of any ✨ magic ✨ to make that happen? My research tells me no... pic.twitter.com/aamVgToJgQ
— Miguel Solorio (@miguelsolorio_) August 2, 2023
So excited about this release! I spent a good chunk of my Config talk discussing workarounds for using wide gamut colors in Figma, and this update addresses them all. See this thread by Qi Linzhi on the engineering challenges of implementing support for Display P3.
The next thing I hope for is a more precise way to select colors. Figma relies on hex values in the UI, but they’re supposed to be limited to sRGB and aren’t representative of what you’ll see in the browser. The Dev Mode uses the correct color(display-p3 R G B)
syntax as an output, but that doesn’t help much with input. Besides that, I’d like to see when the color is outside of the sRGB range and what is its closest fallback. OkLCH isn’t the easiest color space to use, but OkLCH picker gets that part right.
Jan Toman made an unofficial Figma library of variables and styles that use the default Tailwind CSS configuration.
Library with all colors from Radix Colors, an open-source color system for designing beautiful, accessible websites and apps. Also made by Jan using variables and light/dark modes.