Introduction
Color and typography are not decorative layers added after a screen is designed. They determine hierarchy, readability, emphasis, mood, and the amount of effort required to understand an interface. In Figma, a coherent visual style comes from making these decisions deliberately and then applying them consistently across frames, components, and states.
This lesson focuses on two connected skills. First, you will create a small color system that supports meaning and remains readable for different users. Second, you will establish a practical type hierarchy so users can quickly distinguish a page title, section heading, body text, label, and supporting information. The goal is not to create many styles. The goal is to create a limited set of reliable decisions that can be reused.
Choosing an Interface Color System
Start with a clear visual role for every important color. A typical beginner interface may need a background color, a surface color for panels, a primary text color, a secondary text color, a brand or action color, and status colors such as success, warning, and error. Choose colors by role rather than collecting attractive swatches without deciding where they belong.
A useful workflow is to begin with a neutral foundation. Select a light background, a surface color that can separate cards or form areas, a strong color for primary text, and a softer color for secondary information. Then select one accent color for the main action. If every element uses the accent color, nothing appears important. Reserve it for actions, selected states, links, or other elements that deserve attention.
Check contrast whenever text is placed on a colored surface. For normal-sized text, WCAG commonly recommends a contrast ratio of at least 4.5 to 1 for AA-level readability. Large text has a lower common threshold of 3 to 1, but larger type does not automatically make a weak color choice acceptable. Contrast tools can identify a numeric problem, but you should also inspect the design at realistic sizes and check whether text remains clear when the display is dimmed or viewed by someone with reduced vision.

Building a Practical Type Hierarchy
Typography should communicate structure before a user reads every word. Define a small hierarchy such as page title, section heading, body text, supporting text, label, and button text. Each level should have a clear relationship to the others through size, weight, line height, and spacing. A hierarchy is successful when users can scan the page and understand its structure quickly.
Avoid using size alone to create hierarchy. A heading may be larger and heavier than body text, but spacing above and below it also signals its importance. A page title usually needs more separation from surrounding content than a field label needs from its input. Line height should support reading: dense interface labels can use tighter spacing, while paragraphs and longer descriptions need more breathing room.
Choose typefaces that are readable at the smallest required size. Review lowercase letters, numbers, punctuation, and similar characters such as 1, lowercase l, and uppercase I. Use weight with restraint. If every heading is bold, every label is semibold, and every button is heavy, the interface loses contrast between levels. A simple system with regular body text, medium labels, and stronger headings is often easier to maintain than a system with many weights.
When comparing typography, create the same sample content in two or three candidate combinations. Include a page title, a paragraph, a form label, a button, and a validation message. Compare the samples at the size where they will actually appear, not only while zoomed in. Look for readable word shapes, comfortable line lengths, and a clear difference between primary and supporting information.
Creating Reusable Styles in Figma
After choosing the visual roles, turn the decisions into reusable Figma styles. For color, create local color styles with names that describe their purpose, such as Background, Surface, Text Primary, Text Secondary, Action Primary, and Status Error. Avoid names based only on visual guesses such as Blue One or Dark Gray, because a role-based name remains useful if the color changes later.
For typography, create text styles for the hierarchy you actually use. A style name can communicate both function and level, such as Heading One, Heading Two, Body, Label, and Caption. Keep the set small enough that a designer can choose the correct style without hesitation. When applying a style, confirm that the text layer uses the intended font family, size, weight, line height, and letter spacing rather than manually overriding one property without documenting the reason.
Apply styles to a representative screen rather than testing them only on isolated swatches. Build a small form, settings panel, or dashboard section containing a title, explanatory copy, labels, inputs, a primary button, a secondary action, and one status message. This exposes conflicts that are invisible in a style list, such as secondary text becoming too faint on a surface or a heading becoming too large for a compact layout.
Reusable styles are valuable because they make consistency easier, but they do not replace judgment. A component may need a different text color in a disabled state, or a warning message may require a darker foreground than its decorative warning background. Document the intended role and test each important state. Do not treat a style as correct merely because it is available in the Assets panel.
Before and After: Diagnosing Visual Problems
Consider a settings screen before refinement. It uses dark blue for the title, medium gray for body text, pale gray for labels, and the same bright blue for the logo, button, links, borders, and selected controls. The heading is only slightly larger than the body copy, and the button label is almost the same weight as the field labels. The screen may look colorful, but the user has difficulty identifying the primary action and reading supporting text.
The improved version assigns explicit roles. The page title becomes the strongest typographic level, section headings provide intermediate structure, and body text receives enough contrast for comfortable reading. Labels are slightly smaller but remain readable. The primary button keeps the accent color, while borders and secondary controls use quieter neutrals. A success message uses a meaningful status color, but its message does not depend on color alone; a clear icon or text label also communicates the state.
Use a structured review when comparing before and after versions. First, squint or reduce the zoom and identify what attracts attention. Second, read only the headings and labels to see whether the information structure is understandable. Third, inspect the least prominent text and ask whether it can be read without effort. Finally, switch between normal, hover, focus, disabled, error, and success states. A polished default screen is not enough if the interaction states destroy contrast or hierarchy.

Common Mistakes and Self-Review
A frequent mistake is choosing colors from personal preference without testing their function. Bright colors can be useful for emphasis but tiring when used across large surfaces. Very light gray text can appear elegant in a mockup and become unreadable in practice. Review every color where it is actually used, including text on buttons, text on cards, placeholder text, and messages placed over tinted backgrounds.
Another mistake is creating too many text styles. Ten nearly identical heading styles do not create a stronger system; they create uncertainty. Remove styles that do not represent a meaningful change in hierarchy or use. Also check for accidental local overrides. If two visually identical text layers use different underlying settings, future edits may produce inconsistent results.
Before considering the work complete, ask five questions. Can a user identify the primary action within a few seconds? Can they distinguish headings, labels, body copy, and supporting text without reading everything? Does every important text color have sufficient contrast with its background? Do the styles cover the main interaction states? Can another designer understand the purpose of each style from its name?
A strong beginner deliverable is a small, coherent system rather than a large library. It should contain enough color and type decisions to design a realistic screen, demonstrate readable states, and support consistent reuse. If a style does not solve a recurring design need, leave it out until evidence shows that it is necessary.
Summary
Color gives the interface meaning and emphasis; typography gives it structure and reading rhythm. Begin with semantic roles, test contrast in context, and reserve strong visual emphasis for actions and important states. Build a modest type hierarchy using size, weight, line height, and spacing together rather than relying on size alone.
In Figma, reusable color styles and text styles turn those decisions into a working visual system. Apply them to a realistic screen, inspect interaction states, and compare the result against clear criteria. The best system is not the one with the most options. It is the one that makes correct, readable, consistent decisions easy to repeat.
Lesson Checkpoint
Review what you learned and get feedback on your work.