By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
(Portfolio-Ready for Aspiring Product & UX Designers)
Typography is the art of arranging text so it’s readable, scannable, and emotionally resonant. It’s not just about picking "pretty fonts"—it’s about guiding users effortlessly through your product. For example: - A hospital patient portal might use a clean, high-contrast sans-serif (like Inter or Roboto) for appointment booking to reduce cognitive load during stressful moments.- An e-commerce checkout flow could pair a bold, attention-grabbing headline (e.g., Montserrat ExtraBold) with a neutral body font (e.g., Open Sans) to highlight the "Place Order" button and reduce cart abandonment.
Bad typography = frustrated users. Good typography = invisible usability.
Definition: Combining two (or more) typefaces that complement each other without clashing.Example:- Headline: Playfair Display (elegant serif) + Body: Lato (clean sans-serif) → Used in luxury brand websites (e.g., Tiffany & Co.) to convey sophistication while keeping text readable.- UI Rule: Limit to 2-3 fonts max (e.g., one for headings, one for body, one for accents like buttons).
Definition: The vertical space between lines of text (measured in em or px).Example:- Too tight (1.2x): "The quick brown fox jumps over the lazy dog" (hard to scan).- Just right (1.5x): "The quick brown fox jumps over the lazy dog" (breathable, easy to follow).- WCAG Standard: 1.5x line height for body text (minimum 1.4x for accessibility).
em
px
Definition: The difference in luminance between text and background. Minimum ratios:- Normal text (14px+): 4.5:1 (e.g., black on white = 21:1, dark gray on white = 7:1).- Large text (18px+ bold or 24px+): 3:1.Example:- ❌ #666666 on white (3.7:1) → fails WCAG.- ✅ #555555 on white (5.7:1) → passes.Tool: Use WebAIM Contrast Checker.
#666666
#555555
Definition: Using boldness (400, 600, 700) to create visual order.Example:- H1 (700): "Your Account" (bold, 24px) - H2 (600): "Payment Methods" (semi-bold, 20px) - Body (400): "Add a new card below." (regular, 16px) UI Rule: Avoid more than 3 weights in a single design (e.g., 400, 600, 700).
Definition: The height of lowercase letters (e.g., "x") relative to uppercase letters. Fonts with taller x-heights (e.g., Inter, Roboto) are more readable at small sizes.Example:- Times New Roman (low x-height) → Harder to read on mobile.- Inter (high x-height) → Crisp even at 12px.
Definition: Uniform space between all characters in a word.Example:- Too tight: "Typography" (letters collide).- Too loose: "T y p o g r a p h y" (hard to read).- Just right: "Typography" (default or +5% tracking for all-caps).UI Rule: Increase tracking for all-caps text (e.g., buttons, labels) to improve legibility.
Definition: Adjusting space between specific letter pairs (e.g., "A" and "V").Example:- Bad kerning: "T o p" (uneven gaps).- Good kerning: "Top" (even spacing).Figma Tip: Use Opt + ←/→ (Mac) or Alt + ←/→ (Windows) to adjust kerning manually.
Opt + ←/→
Alt + ←/→
Definition: How humans group visual elements.- Proximity: Items close together appear related. - Example: A label and input field should be closer to each other than to the next form field.- Similarity: Items that look alike are perceived as a group. - Example: All buttons use the same font, color, and weight to signal they’re interactive.
Definition: Larger, closer targets are easier to click.Example:- Bad: A 12px "Submit" link buried in a paragraph.- Good: A 48x48px button with 16px bold text (e.g., "Place Order") in the thumb zone on mobile.
Definition: Dividing a screen into a 3x3 grid to create balanced compositions.Example:- Place a headline in the top-left third, body text in the middle, and a CTA in the bottom-right third for natural eye flow.
Definition: Items that stand out are more memorable.Example:- A red "Delete Account" button among gray secondary buttons → Users notice it immediately (use sparingly!).
Action:- List all text elements in your design (e.g., H1, H2, body, captions, buttons).- Assign font size, weight, and color based on importance.Figma Tip:- Use text styles (T → Create Style) to maintain consistency.- Example hierarchy: - H1: 24px, 700, #222222 - H2: 20px, 600, #333333 - Body: 16px, 400, #444444 - Button: 16px, 600, #FFFFFF (on brand color)
T
#222222
#333333
#444444
#FFFFFF
Action:- Step 1: Pick a primary font for body text (e.g., Inter, Roboto, Open Sans).- Step 2: Pick a secondary font for headings (e.g., Playfair Display, Montserrat, Poppins).- Step 3: Test combinations in Figma: - Use Google Fonts Pairing Tool for inspiration. - Rule of thumb: Pair a sans-serif with a serif (e.g., Montserrat + Lora) or two contrasting sans-serifs (e.g., Inter + Space Mono).Example Pairings:| Use Case | Headline Font | Body Font | |-------------------|---------------------|--------------------| | Tech Startup | Poppins (700) | Inter (400) | | Luxury Brand | Playfair Display | Lato | | Government Site | Source Sans Pro | Roboto |
Action:- Body text: Set line height to 1.5x font size (e.g., 16px text → 24px line height).- Headings: Use 1.2x–1.3x line height (e.g., 24px H1 → 30px line height).- Figma Tip: Use auto layout (Shift + A) to maintain consistent spacing between text blocks.Example:
Shift + A
[H1: "Your Dashboard" (24px, 700, 30px line height)] [Space: 24px] [Body: "Welcome back! Here’s what’s new." (16px, 400, 24px line height)] [Space: 16px] [Button: "Get Started" (16px, 600, 48px tall)]
Action:- Step 1: Use WebAIM Contrast Checker to verify text meets WCAG standards.- Step 2: Simulate low vision in Figma: - Go to View → Proof Setup → Color Blindness (e.g., protanopia, deuteranopia). - Check if text is still readable.- Step 3: Guerrilla test with 3-5 people: - Show them a mockup for 5 seconds, then ask: "What’s the most important action on this screen?" - If they hesitate, adjust hierarchy (e.g., make the CTA bolder).
Action:- Kerning: Manually adjust awkward letter pairs (e.g., "A" + "V" in "SAVE").- Tracking: Increase tracking for all-caps text (e.g., buttons, labels) by 5-10%.- Figma Tip: Use text overrides to test variations without breaking styles.
Action:- Add typography styles to your Figma library: - Text styles (H1, H2, body, etc.). - Color styles (e.g., text-primary, text-secondary).- Include dos/don’ts (e.g., "Never use more than 3 font weights in a single screen").
text-primary
text-secondary
Problem: Junior designers often use 4+ fonts in one design, creating visual chaos.Correction:- Stick to 2 fonts max (e.g., one for headings, one for body).- If you must use a third, limit it to accents (e.g., a monospace font for code snippets).Rationale: Fewer fonts = faster load times and cleaner hierarchy.
Problem: Body text with 1.0x line height (e.g., 16px text with 16px line height) feels cramped.Correction:- Use 1.5x line height for body text (e.g., 16px text → 24px line height).- For headings, use 1.2x–1.3x (e.g., 24px H1 → 30px line height).Rationale: More space = easier scanning and better readability.
Problem: Gray text on a light background (e.g., #999999 on white) fails WCAG.Correction:- Use minimum 4.5:1 contrast for normal text (e.g., #555555 on white = 5.7:1).- For large text, use 3:1 minimum (e.g., 24px bold #777777 on white = 3.1:1).Rationale: 1 in 12 men have color vision deficiency—low contrast excludes users.
#999999
#777777
Problem: Using Papyrus, Comic Sans, or Lobster for body text.Correction:- Reserve decorative fonts for large headlines only (e.g., a poster title).- For body text, use neutral sans-serifs (e.g., Inter, Roboto, Open Sans).Rationale: Decorative fonts slow down reading and look unprofessional in UIs.
Problem: A "Cancel" button has the same weight as a "Submit" button.Correction:- Primary actions (e.g., "Submit") → Bold, high-contrast, larger.- Secondary actions (e.g., "Cancel") → Regular, lower contrast.Rationale: Users should instantly know what’s most important.
A stakeholder insists on using the company’s "fancy" serif font (e.g., Baskerville) for body text in a mobile app. How do you respond? Answer:- Principle: Readability > Aesthetics (especially on small screens).- Response: "Serif fonts can be harder to read on digital screens, especially at small sizes. Let’s use Baskerville for headings and pair it with a clean sans-serif (e.g., Inter) for body text to balance brand identity and usability."
You’re designing a dashboard with 5 data tables. The PM wants to use the same font size (14px) for all text. What’s your concern? Answer:- Principle: Visual Hierarchy (users need to scan quickly).- Response: "Using the same font size flattens hierarchy, making it hard to distinguish headings from data. Let’s: - Headings: 16px, bold - Data: 14px, regular - Footnotes: 12px, light This will improve scannability and reduce cognitive load."
A developer asks why the line height in your Figma file is set to 1.5x instead of 1.0x. How do you explain? Answer:- Principle: WCAG Readability Standards.- Response: "1.5x line height improves readability by giving text room to breathe, especially for users with dyslexia or low vision. WCAG recommends at least 1.4x, and 1.5x is a common best practice for body text."
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.