테마 선택

📚 지식 노트

AI·하드웨어·주변기기·게임·컴퓨터 시스템·이론 컴퓨터 과학·수학·개발과 운영·보안·응용 분야에 대해 알아 두면 좋은 내용을 정리한 노트다. 위에서 분야를 고르고 아래에서 노트를 고른다.

시각 디자인: 타이포그래피·색·레이아웃

글자, 색, 간격, 정렬로 무엇이 먼저 보이고 무엇이 묶이는지 정하는 법이다.

목차 (13)
  1. 시각적 위계: 무엇이 먼저 보이나
  2. 글꼴 고르기: 분류와 한글 글꼴의 특성
  3. 타입 스케일: 비율로 글자 크기를 정한다
  4. 행간·자간·줄 길이
  5. 색의 세 속성과 60-30-10
  6. 의미 색: 성공·경고·오류·정보
  7. 대비비: 4.5:1을 계산으로 확인한다
  8. 그리드: 열, 거터, 마진
  9. 간격 체계와 CRAP
  10. 아이콘과 이미지
  11. 다크 모드: 색을 뒤집지 말고 다시 고른다
  12. 흔한 오해
  13. 핵심 자료

시각적 위계: 무엇이 먼저 보이나

시각적 위계는 눈이 중요한 순서대로 따라가게 요소를 배치하는 것이다. NN/g는 위계를 만드는 도구를 셋으로 꼽는다. 색과 대비(색 자체가 아니라 주변과의 명도·채도 차이), 크기(큰 것이 먼저 보인다), 묶기(가까움과 여백, 또는 테두리·배경으로 관련된 것을 묶는다)다. 굵기나 기울임도 중요도를 알린다.

책 카드의 시각적 위계: 모두 같은 상태에서 제목을 키우고, 상태를 강조색으로, 부가 정보를 흐리게, 간격으로 묶고, 예약하기 버튼 하나만 강조한다바다의 지도김하나 지음 · 2025지금 대출 가능섬에서 자란 아이가 바다 지도를 그린다예약하기공유하기모든 글자가 같은 무게다.눈이 어디서 시작할지정하지 못한다.바다의 지도김하나 지음 · 2025지금 대출 가능섬에서 자란 아이가 바다 지도를 그린다예약하기공유하기크기: 제목이 먼저보인다.바다의 지도김하나 지음 · 2025지금 대출 가능섬에서 자란 아이가 바다 지도를 그린다예약하기공유하기굵기·색: 상태가 둘째로보이고, 부가 정보는물러난다.바다의 지도김하나 지음 · 2025지금 대출 가능섬에서 자란 아이가 바다 지도를 그린다예약하기공유하기간격: 제목과 저자가한 묶음, 상태와 설명이다른 묶음이 된다.바다의 지도김하나 지음 · 2025지금 대출 가능섬에서 자란 아이가 바다 지도를 그린다예약하기공유하기행동은 하나만 강조한다.눈의 순서: 제목 →대출 가능 → 예약하기
1 / 5

모두 같다: 글자 크기, 굵기, 색, 간격이 같아 무엇이 중요한지 알 수 없다.

같은 책 카드의 위계를 한 단계씩 고친다. 내용은 그대로이고 크기·굵기·색·간격만 바뀐다.

위계를 점검하는 쉬운 방법은 화면을 흐리게 보는 것이다. 눈을 가늘게 뜨거나 화면을 흐리게 한 스크린숏에서 덩어리 서너 개와 가장 진한 점 하나가 보이면 위계가 서 있다. 모든 것이 비슷한 회색으로 뭉개지면 강조가 없고, 진한 점이 여럿이면 강조가 너무 많다. 강조는 상대적이라 모든 것을 강조하면 아무것도 강조되지 않는다.

글꼴 고르기: 분류와 한글 글꼴의 특성

라틴 글꼴은 크게 획 끝에 작은 돌기(세리프)가 있는 세리프, 돌기가 없는 산세리프, 모든 글자 폭이 같은 고정폭, 제목이나 포인트에 쓰는 디스플레이(손글씨 포함)로 나눈다. 한글에도 비슷한 갈래가 있다. 붓의 강약이 남은 명조(바탕), 굵기가 고른 고딕(돋움), 그리고 고정폭과 손글씨다. 화면 UI의 본문에는 고딕 계열이 가장 흔하고, 긴 읽을거리나 격식 있는 제목에 명조를 쓰기도 한다.

글꼴 분류. 라틴은 세리프, 산세리프, 고정폭, 디스플레이, 한글은 이에 대응해 명조(바탕), 고딕(돋움), 고정폭, 손글씨가 있다Ag세리프획 끝에 돌기가 있다Ag산세리프돌기 없는 고른 획Ag고정폭모든 글자 폭이 같다Ag디스플레이제목·포인트용가나명조(바탕)붓의 강약이 남은 획가나고딕(돋움)굵기가 고른 획가나고정폭코드·표의 숫자가나손글씨긴 글에는 무리
글꼴 분류. 그림의 글자는 보는 기기에 깔린 기본 글꼴로 그려지므로 모양이 기기마다 다를 수 있다.

한글에는 라틴 글꼴과 다른 점이 있다. W3C의 한글 조판 요구사항 초안은 글자를 글자틀 안에 놓고, 고정폭 글꼴은 틀 폭이 일정하며 비례 글꼴은 글자 모양에 맞춘 폭을 쓴다고 적는다. 초성·중성·종성의 조합으로 만드는 현대 한글 음절은 11,172자라서 한글 글꼴 하나를 만드는 일은 라틴 글꼴보다 훨씬 크고, 웹 글꼴 파일도 커진다(그래서 쓰는 글자만 잘라 싣는 서브셋을 흔히 쓴다). 라틴 글자와 섞을 때는 두 글꼴의 크기와 기준선이 어긋나기 쉬우니 한글 글꼴에 딸린 라틴 글자를 쓰거나 섞어서 시험해 본다.

줄바꿈도 다르다. 한국어는 원칙적으로 단어를 띄어 쓰고, 줄 끝에서는 글자 단위로도 어절 단위로도 끊을 수 있다. 웹 브라우저는 기본으로 한글을 글자 단위로 끊어 "좌 / 석을"처럼 어절이 갈린다. 짧은 제목이나 버튼, 카드처럼 줄이 짧은 곳에서는 CSS word-break: keep-all로 어절 단위로 끊으면 읽기 좋다. 다만 아주 좁은 칸에서는 긴 어절이 넘칠 수 있어 overflow-wrap과 함께 쓴다.

한글은 정사각형에 가까운 글자틀 안에서 자모 구성에 따라 모양이 바뀐다. 줄바꿈은 기본값이면 어절 가운데에서 끊기고, keep-all이면 어절 단위로 끊긴다가자음+ㅏ고자음+ㅗ강받침읽겹받침한 칸 안에서 자모 수에 따라모양이 바뀌어 짜인다word-break: normal도서관 열람실 좌석을 예약하세요어절 가운데가 끊긴다word-break: keep-all도서관 열람실좌석을 예약하세요어절 단위로 끊는다빨간 점선: 줄의 오른쪽 끝
왼쪽: 한 칸 안에서 자모 구성에 따라 모양이 바뀌는 한글. 오른쪽: 같은 문장의 글자 단위 줄바꿈과 어절 단위 줄바꿈.

글꼴 파일 자체(글리프, 힌팅, 오픈타입 기능)는 이 사이트의 폰트 테스트 도구로 직접 열어 볼 수 있다.

타입 스케일: 비율로 글자 크기를 정한다

제목 크기를 그때그때 정하면 화면마다 22px, 23px, 24px가 섞인다. 타입 스케일은 기본 크기 하나와 비율 하나로 모든 단계를 정한다. 기본이 16px이고 비율이 r이면 단계 n의 크기는 16 × rⁿ이다. 비율 이름은 음악의 음정에서 빌려 와 단3도(1.2), 장3도(1.25), 완전4도(1.333), 황금비(1.618) 등으로 부른다(typescale.com).

타입 스케일: 단3도 (Minor Third)는 28, 23, 19, 16px; 장3도 (Major Third)는 31, 25, 20, 16px; 완전4도 (Perfect Fourth)는 38, 28, 21, 16px; 황금비 (Golden Ratio)는 68, 42, 26, 16pxh1제목 Aa16 × 1.2³ ≈ 28pxh2제목 Aa16 × 1.2² ≈ 23pxh3제목 Aa16 × 1.2¹ ≈ 19px본문제목 Aa16 × 1.2⁰ ≈ 16px단3도 (Minor Third)h1제목 Aa16 × 1.25³ ≈ 31pxh2제목 Aa16 × 1.25² ≈ 25pxh3제목 Aa16 × 1.25¹ ≈ 20px본문제목 Aa16 × 1.25⁰ ≈ 16px장3도 (Major Third)h1제목 Aa16 × 1.333³ ≈ 38pxh2제목 Aa16 × 1.333² ≈ 28pxh3제목 Aa16 × 1.333¹ ≈ 21px본문제목 Aa16 × 1.333⁰ ≈ 16px완전4도 (Perfect Fourth)h1제목 Aa16 × 1.618³ ≈ 68pxh2제목 Aa16 × 1.618² ≈ 42pxh3제목 Aa16 × 1.618¹ ≈ 26px본문제목 Aa16 × 1.618⁰ ≈ 16px황금비 (Golden Ratio)
1 / 4

단3도 (Minor Third) ×1.2: h1 28px, h2 23px, h3 19px, 본문 16px

본문 16px에서 시작하는 타입 스케일 네 가지. 같은 비율을 거듭 곱하므로 단계 사이의 차이가 늘 같은 비로 느껴진다. 그림의 글자는 실제 px 크기다.

장3도라면 16, 20, 25, 31, 39px처럼 커진다(위로 네 단계: 16, 20, 25, 31, 39px). 비율이 크면 대비가 커져 표지나 랜딩 페이지에 어울리지만 단계가 빨리 커진다. 황금비로 네 단계를 올리면 110px이 된다. 정보가 촘촘한 앱 화면에는 1.2~1.25가, 단계가 적고 극적인 화면에는 1.333 이상이 흔하다. 계산 값은 4나 2의 배수로 반올림해 간격 체계와 맞추기도 한다. Material Design 3처럼 큰 디자인 시스템은 비율 하나로 끝내지 않고 역할(제목·본문·레이블)마다 크기와 행간을 정한 표를 둔다.

행간·자간·줄 길이

줄 길이가 길면 다음 줄의 시작을 찾기 어렵고, 짧으면 눈이 너무 자주 돌아와 리듬이 깨진다. 라틴 본문에는 흔히 한 줄 45~75자를 권한다. Baymard는 공백을 포함해 50~75자, CSS로는 약 max-width: 70ch를 권하고, 100자가 넘는 줄에서 사용자가 지치고 긴 글을 포기했다고 보고한다. Butterick은 평균 45~90자를 권한다. WCAG 1.4.8(AAA)은 사용자가 줄 폭을 80자, CJK(한중일 문자)는 40자 이하로 줄일 수 있게 하라고 적는다.

한글은 한 글자가 정사각형에 가까워 라틴 글자 두 개쯤의 폭을 차지한다. 16px 글자로 640px 줄이면 한글 약 40자, 라틴 약 80자가 든다. 그래서 같은 폭이라도 글자 수로는 라틴의 반쯤으로 어림하고, 라틴 권장 범위를 반으로 줄인 약 23~38자를 출발점으로 삼을 수 있다(WCAG의 CJK 상한 40자 안이다). 한글은 띄어쓰기 단위가 길어 실제로는 화면에서 읽어 보며 맞춘다.

16px 글자에서 줄 폭이 160px이면 한글 약 10자(짧다), 라틴 약 20자, 480px이면 한글 약 30자(알맞다), 라틴 약 60자, 720px이면 한글 약 45자(길다), 라틴 약 90자. 아래는 행간 1.2배와 1.6배의 비교폭 160px · 한글 약 10자 · 라틴 약 20자 · 짧다폭 480px · 한글 약 30자 · 라틴 약 60자 · 알맞다폭 720px · 한글 약 45자 · 라틴 약 90자 · 길다행간 1.2배1.2배: 줄이 붙어 다음 줄을 놓친다행간 1.6배1.6배: 줄 사이로 눈이 돌아온다
위: 16px 글자에서 줄 폭에 따라 한 줄에 드는 글자 수와 한글 기준의 판정(그림은 줄 폭을 줄여 그렸다). 아래: 행간이 좁으면 줄이 붙어 보인다.
  • 행간(line-height): 본문은 글자 크기의 1.5배 안팎이 흔한 출발점이다. WCAG 1.4.12는 사용자가 행간을 1.5배, 문단 간격을 2배, 자간을 0.12배, 단어 간격을 0.16배로 늘려도 내용이 잘리거나 겹치지 않을 것을 요구한다. 높이를 고정한 상자에 글을 넣으면 이 검사에서 깨진다.
  • 한글의 행간: 한글은 글자가 틀을 꽉 채워 라틴보다 빽빽해 보이므로, 같은 크기면 행간을 조금 더 주는 경우가 많다. 제목처럼 큰 글자는 행간을 1.2~1.3배로 줄인다.
  • 자간(letter-spacing): 본문은 글꼴 기본값을 두는 것이 대개 낫다. 큰 제목은 조금 좁히고, 작은 대문자 레이블은 조금 넓힌다. WCAG 해설은 일본어처럼 단어 사이를 띄지 않는 언어에서는 단어 간격이 의미가 없다고 적는다. 한국어는 띄어 쓰므로 해당한다.
  • 정렬: 웹 본문의 양쪽 정렬은 단어 사이 간격이 들쭉날쭉해져 WCAG 1.4.8이 피하라고 한다. 왼쪽 정렬이 기본이다.

색의 세 속성과 60-30-10

색은 세 속성으로 다룬다. 색상(hue)은 빨강·파랑 같은 색의 종류, 채도(saturation)는 맑음과 탁함, 명도(lightness 또는 value)는 밝음과 어두움이다. CSS의 hsl()이 이 세 축을 그대로 쓴다. 위계를 만드는 것은 대개 색상이 아니라 명도와 채도의 차이다. 빨간 글자와 파란 글자는 색상이 달라도 명도가 비슷하면 흑백에서 같은 회색이 된다.

색상은 색의 종류, 채도는 맑고 탁한 정도, 명도는 밝고 어두운 정도다. 아래 화면은 바탕 60%, 보조색 30%, 강조색 10%로 칠했다색상채도명도위에서부터 색상만, 채도만, 명도만 바꿨다. 위계를 만드는 것은 대개 명도와 채도의 차이다.60 바탕30 보조10 강조60-30-10 나눔강조색이 적을수록눈이 그리로 간다
위: 색상·채도·명도를 하나씩 바꾼 띠. 아래: 바탕 60, 보조색 30, 강조색 10으로 나눈 화면.

60-30-10은 흔히 쓰는 어림 규칙이다. 바탕이 되는 중립색이 화면의 대부분(약 60%)을, 구조를 만드는 보조색이 약 30%를, 눈길을 끌 강조색이 약 10%를 차지하게 한다. 정확한 비율보다 "강조색은 아껴 쓴다"는 뜻이 중요하다. 강조색이 화면 곳곳에 있으면 정작 눌러야 할 버튼이 묻힌다. UI에서는 강조색을 주된 행동, 선택 상태, 링크처럼 사용자가 무언가를 할 수 있는 곳에 모아 쓴다. 차트의 색 고르기(범주형·순차형·발산형 팔레트)는 데이터 시각화 노트에 있다.

의미 색: 성공·경고·오류·정보

많은 UI는 강조색과 별도로 상태를 알리는 의미 색(semantic color)을 둔다. 초록은 성공, 노랑·주황은 경고, 빨강은 오류·위험, 파랑은 정보로 쓰는 관례가 흔하다. 의미 색은 의미가 있을 때만 쓴다. 장식으로 빨강을 쓰면 사용자는 무언가 잘못됐다고 읽는다.

성공(초록, 체크), 경고(주황, 느낌표 삼각형), 오류(빨강, 엑스), 정보(파랑, i) 알림. 흑백으로 바꿔도 아이콘 모양과 글자로 구분된다색 + 아이콘 + 글자저장했습니다반납일이 내일입니다카드 번호가 틀렸습니다새 기능이 생겼습니다색을 빼도(흑백) 읽힌다저장했습니다반납일이 내일입니다카드 번호가 틀렸습니다새 기능이 생겼습니다빨강과 초록만으로 나누면 적록 색각 이상이 있는 사람에게는 비슷하게 보인다.그래서 모양(아이콘)과 말로도 구분한다.
의미 색으로 만든 알림 넷. 오른쪽처럼 색을 빼도 아이콘 모양과 문구로 구분되어야 한다.

색만으로 의미를 전하면 안 된다. 적록 색각 이상이 있는 사람에게 빨강과 초록은 비슷하게 보이고, 햇빛 아래 화면이나 흑백 인쇄에서도 색 차이가 사라진다. 아이콘 모양, 문구, 위치를 함께 쓴다. 내 화면이 색각 이상인 사람에게 어떻게 보이는지는 색각 이상 시뮬레이터에서 직접 볼 수 있다.

대비비: 4.5:1을 계산으로 확인한다

글자와 바탕의 대비비(contrast ratio)는 두 색의 상대 휘도로 계산하며 1:1(같은 색)부터 21:1(흰색과 검정)까지다. WCAG 1.4.3(AA)은 본문 글자에 4.5:1, 큰 글자에 3:1 이상을 요구한다. 큰 글자는 18pt 이상 또는 굵은 14pt 이상으로, CSS 픽셀로는 각각 24px, 약 18.5px다. 계산 값은 반올림하지 않아 4.499:1은 통과하지 못한다. 쓰지 않는 비활성 컨트롤의 글자, 순수한 장식, 로고는 예외다.

흰 바탕에서 회색 글자의 대비비: #bbbbbb 1.92:1, #aaaaaa 2.32:1, #999999 2.85:1, #888888 3.54:1, #777777 4.48:1, #666666 5.74:1. 본문 기준 4.5:1을 처음 넘는 색은 #666666다반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다1.92:1본문·큰 글자 모두 미달글자 #bbbbbb / 바탕 #ffffff반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다2.32:1본문·큰 글자 모두 미달글자 #aaaaaa / 바탕 #ffffff반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다2.85:1본문·큰 글자 모두 미달글자 #999999 / 바탕 #ffffff반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다3.54:1큰 글자(24px 이상)만 통과글자 #888888 / 바탕 #ffffff반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다4.48:1큰 글자(24px 이상)만 통과글자 #777777 / 바탕 #ffffff반납 예정일11월 3일 월요일하루 늦으면 대출이 하루 멈춥니다5.74:1본문 AA 통과글자 #666666 / 바탕 #ffffff3:1 큰 글자4.5:1 본문 AA7:1 본문 AAA1:18:1 이상
1 / 6

#bbbbbb: 1.92:1 — 본문·큰 글자 모두 미달

흰 바탕 위 회색 글자를 한 단계씩 어둡게 한다. 대비비는 두 색의 상대 휘도로 계산하며(공식은 웹 개발 노트), 반올림하지 않고 기준과 견준다.

흰 바탕에서 #777777는 4.48:1로 아깝게 떨어지고, 한 단계 진한 #666666가 5.74:1로 통과한다. 눈으로는 둘이 거의 같아 보이므로 대비는 눈이 아니라 계산으로 확인한다. 상대 휘도 공식과 더 많은 회색의 예는 웹 개발 노트의 접근성 절에 있다. 아이콘·입력칸 테두리·차트처럼 글자가 아닌 요소에는 1.4.11이 3:1을 요구한다. 흐린 회색 안내문, 사진 위 흰 글자, 연한 강조색 버튼 글자가 실무에서 가장 자주 걸린다.

그리드: 열, 거터, 마진

그리드는 화면을 일정한 열로 나눠 요소를 그 열에 맞춰 놓게 하는 보이지 않는 틀이다. 세 부분으로 이루어진다. 내용이 놓이는 열(column), 열 사이의 빈칸인 거터(gutter), 화면 가장자리의 빈칸인 마진(margin)이다. 데스크톱에서 흔한 12열은 2·3·4·6으로 나누어떨어져, 반반·셋·넷 배치를 모두 담는다.

12열 그리드: 양쪽 마진, 열 사이 거터, 그 위에 12열 머리, 8열 본문과 4열 옆 칸, 4열 카드 셋, 6열 둘을 얹었다12열8열4열4열4열4열6열6열마진거터열파란 세로 띠 = 열
12열 그리드 위의 배치. 블록의 가장자리는 늘 열의 가장자리에 맞고, 블록 사이 간격은 거터와 같다.

열 폭은 (전체 폭 − 마진 × 2 − 거터 × (열 수 − 1)) ÷ 열 수다. 예를 들어 1200px 화면에 마진과 거터를 24px로 두면 열 하나는 74px이고, 8열을 차지하는 본문은 760px이다. Material Design 2의 반응형 그리드는 화면 크기에 따라 4열(휴대폰), 8열(태블릿), 12열(데스크톱)로 바꾼다. 브레이크포인트를 언제 바꾸는지와 유연한 레이아웃은 반응형·모바일·접근성에서 다룬다.

간격 체계와 CRAP

간격도 타입 스케일처럼 정해 둔다. 흔한 방식은 모든 여백과 크기를 8의 배수로, 아이콘 안쪽이나 촘촘한 목록처럼 좁은 곳에는 4의 배수로 맞추는 것이다(4·8pt 그리드). 값의 개수가 줄어 결정이 빨라지고, 디자인과 코드가 같은 토큰(space-1 = 4, space-2 = 8 …)으로 말하게 된다. 중요한 규칙은 하나다. 묶음 안쪽 간격이 바깥 간격보다 작아야 묶음으로 보인다.

4pt 단위 간격 척도 4, 8, 12, 16, 24, 32, 48, 64과, 안쪽 여백 16·제목과 부제 사이 8·카드 사이 24로 관련된 것은 가깝게, 다른 묶음은 멀게 둔 카드 두 장간격 척도 (4의 배수)48121624324864진한 막대: 8의 배수(기본)옅은 막대: 촘촘한 곳의 4·12바다의 지도김하나 · 대출 가능숲의 시간이도윤 · 예약 2명16824안쪽(8) < 바깥(24): 관련된 것은 가깝게
왼쪽: 4의 배수 간격 척도. 오른쪽: 카드 안쪽(16, 8)보다 카드 사이(24)가 넓어 카드 하나하나가 묶음으로 보인다.

디자인 입문서에서 널리 쓰이는 네 원리는 머리글자를 따 CRAP이라 부른다. 대비(Contrast): 다른 것은 확실히 다르게 한다. 어중간한 차이는 실수처럼 보인다. 반복(Repetition): 같은 역할의 요소는 같은 모양으로 되풀이해 일관성을 만든다. 정렬(Alignment): 모든 요소를 보이지 않는 선에 맞춘다. 근접(Proximity): 관련된 것은 가깝게 둔다. 근접과 유사성, 공통 영역 같은 지각 원리 자체는 HCI와 UX 노트의 게슈탈트 원리에 있다.

네 원리의 전후 비교. 대비: 제목과 본문이 같은 굵기에서 제목만 굵고 진하게. 반복: 항목마다 다른 글머리표에서 같은 모양으로. 정렬: 들쭉날쭉한 왼쪽 끝을 한 선에. 근접: 고른 간격을 두 묶음으로대비전후반복전후정렬전후근접전후머리글자를 따 CRAP(Contrast·Repetition·Alignment·Proximity)이라 부른다
네 원리의 전후. 위가 고치기 전, 아래가 고친 뒤다. 같은 막대를 굵기·모양·시작선·간격만 바꿔 정리했다.

아이콘과 이미지

아이콘은 공간을 아끼지만 뜻이 늘 통하지는 않는다. NN/g의 정리에 따르면 거의 누구나 알아보는 아이콘은 홈, 인쇄, 검색 정도이고, 나머지는 글자 레이블을 늘 함께 보여야 한다. 마우스를 올려야 나오는 레이블은 손이 더 가고 터치 화면에서는 아예 쓸 수 없다. 5초 안에 알맞은 아이콘이 떠오르지 않는다면 그 뜻은 아이콘으로 전하기 어렵다는 경험칙도 있다.

아이콘만 있으면 홈과 검색은 알아보지만 하트와 화살표 상자는 뜻이 갈린다. 글자를 붙인 탭 바는 홈, 검색, 찜하기, 공유로 분명하다. 오른쪽은 24단위 격자 위 안쪽 여백 2, 선 굵기 2의 돋보기 아이콘홈검색좋아요? 찜?공유? 올리기?아이콘만: 아래는 처음 보는 사람이 떠올릴 법한 뜻홈검색찜하기공유글자를 붙인 탭 바누구나 아는 아이콘은 드물다 → 글자를 함께 쓴다24 × 24 격자 · 안쪽 여백 2선 굵기 2 · 끝 모양 통일
아이콘만 있는 막대와 글자를 붙인 탭 바, 그리고 아이콘 규격. 아이콘 세트는 격자 크기·여백·선 굵기·모서리를 같게 맞춰야 한 벌로 보인다.

한 화면의 아이콘은 같은 세트에서 고른다. 선 아이콘과 면 아이콘을 섞거나 선 굵기가 다르면 반복의 원리가 깨진다. 선택 상태는 선 아이콘을 면 아이콘으로 바꾸는 식으로 모양 차이를 함께 준다(색만으로 선택을 보이지 않는다).

이미지는 장식이 아니라 내용일 때 힘이 있다. 사진 위에 글자를 얹으면 사진의 밝은 곳에서 대비가 무너지기 쉽다. 아래쪽을 어둡게 덮는 그라데이션(스크림)을 깔거나, 글자를 사진 밖에 둔다. 이미지는 비율(1:1, 4:3, 16:9)을 정해 두고 잘라 써야 목록이 들쭉날쭉하지 않다. 여백도 디자인 요소다. 빈 공간은 낭비가 아니라 묶음을 가르고 중요한 것을 돋보이게 한다.

밝고 복잡한 사진 위에 흰 글자를 바로 얹으면 하늘 부분에서 읽히지 않지만, 아래쪽을 어둡게 덮는 그라데이션을 깔면 같은 글자가 읽힌다고치기 전: 글자를 바로 얹음가을 책 축제11월 8일 · 중앙 도서관 앞마당고친 뒤: 아래에 어두운 스크림가을 책 축제11월 8일 · 중앙 도서관 앞마당사진은 곳마다 밝기가 달라 한 색의 글자가 늘 읽히지는 않는다.어두운 덮개(스크림)를 깔거나 글자를 사진 밖에 둔다.
같은 사진, 같은 흰 글자. 왼쪽은 밝은 풀밭 위라 읽히지 않고, 오른쪽은 아래를 어둡게 덮어 읽힌다. 사진은 도형으로 흉내 냈다.

다크 모드: 색을 뒤집지 말고 다시 고른다

다크 모드는 흰 바탕을 검정으로, 검정 글자를 흰색으로 바꾸는 것만으로는 잘 되지 않는다. Material Design 2의 다크 테마 지침은 몇 가지를 권한다. 바탕은 순수한 검정 대신 아주 어두운 회색(#121212)을 쓰고, 강조색은 채도를 낮춰 어두운 바탕에서 번쩍이지 않게 하고, 위로 뜬 면(카드, 대화상자)은 그림자 대신 더 밝은 면으로 높이를 보이고, 글자는 흰색의 불투명도를 87%, 60%, 38%로 나눠 위계를 만든다.

세 화면의 대비비: 라이트는 글자 15.4:1, 강조색 5.1:1, 그대로 뒤집기는 글자 21.0:1, 강조색 3.7:1, 조정한 다크는 글자 14.2:1, 강조색 7.3:1라이트오늘의 추천바다의 지도김하나 지음지금 대출 가능예약하기글자 15.4:1강조색 5.1:1그대로 뒤집기오늘의 추천바다의 지도김하나 지음지금 대출 가능예약하기글자 21.0:1강조색 3.7:1조정한 다크오늘의 추천바다의 지도김하나 지음지금 대출 가능예약하기글자 14.2:1강조색 7.3:1흰 글자는 87% 불투명도, 뜬 면은 바탕보다 밝게
같은 카드의 세 버전. 가운데처럼 그대로 뒤집으면 라이트용 강조색이 검정 위에서 대비가 모자라고, 오른쪽처럼 강조색을 밝히고 바탕을 조금 띄우면 대비와 높이가 함께 산다.

그림의 숫자를 보면 이유가 보인다. 라이트 화면에서 통과하던 강조색(#3b5bdb)은 검정 위에서 3.71:1로 떨어진다. 어두운 바탕에서는 강조색을 밝고 덜 진한 쪽으로 바꿔야 한다. 흰 글자는 87% 불투명도로 #121212 위에 겹치면 실제 색이 #e0e0e0가 되어 대비비 14.2:1로, 눈부심을 줄이면서도 기준을 넉넉히 넘는다. 이 사이트도 다크가 기본이고, 색을 직접 쓰지 않고 테마별 변수로 바꾼다. 그 변수(디자인 토큰)를 짜는 법은 디자인 시스템에서 다룬다.

흔한 오해

  • "좋은 시각 디자인은 취향이다": 위계, 대비비, 줄 길이, 간격은 측정하고 검사할 수 있다. 취향은 그 위에 얹는 것이다.
  • "글자를 키우면 강조된다": 모든 것을 키우면 아무것도 강조되지 않는다. 강조는 주변과의 차이다.
  • "색이 다르면 구분된다": 색상이 달라도 명도가 같으면 흑백과 색각 이상에서 같아진다. 명도 차이와 모양을 함께 쓴다.
  • "회색 글자가 더 세련돼 보인다": 흐린 회색은 대비 기준에서 가장 자주 떨어진다. 흰 바탕에서 #777777도 본문 기준에 못 미친다.
  • "다크 모드는 색을 뒤집으면 된다": 순수한 검정과 라이트용 강조색은 눈부시거나 대비가 모자란다. 바탕·강조색·높이 표현을 다시 고른다.
  • "8pt 그리드면 모든 값이 8의 배수여야 한다": 촘촘한 곳에는 4를 쓰고, 글자의 행간처럼 맞추기 어려운 값은 결과 높이를 맞춘다. 규칙은 결정을 줄이려는 도구다.
  • "한글도 라틴과 같은 줄 길이 규칙을 쓴다": 한글 한 글자는 라틴 두 글자쯤 폭이라 글자 수 기준이 다르다. WCAG도 CJK 상한을 80자가 아닌 40자로 둔다.

핵심 자료

자료종류요지링크
Visual Hierarchy in UX: Definition글시각적 위계를 만드는 세 도구: 색과 대비, 크기, 묶기.Nielsen Norman Group
Typography디자인 시스템구글 Material Design 3의 타입 스케일과 역할별 글자 스타일.Material Design 3
Type Scale도구기본 크기와 비율(단2도 1.067 ~ 황금비 1.618)로 타입 스케일을 미리 보는 도구.typescale.com
Requirements for Hangul Text Layout and Typography표준 초안한글 조판의 글자틀, 띄어쓰기, 글자·어절 단위 줄바꿈, 행간 방식(W3C 그룹 노트 초안).W3C
Readability: The Optimal Line Length연구 정리본문 한 줄 50~75자(공백 포함)와 CSS max-width 약 70ch.Baymard Institute
Line length책(웹)평균 45~90자, 알파벳 두세 벌이 한 줄에 드는 길이.Butterick's Practical Typography
Understanding SC 1.4.3: Contrast (Minimum)표준 해설본문 4.5:1, 큰 글자 3:1, 큰 글자의 정의(18pt 또는 굵은 14pt)와 예외.W3C WAI
Understanding SC 1.4.8: Visual Presentation표준 해설한 줄 80자(CJK 40자) 이하, 행간 1.5 이상, 양쪽 정렬 피하기(AAA).W3C WAI
Understanding SC 1.4.12: Text Spacing표준 해설사용자가 행간 1.5·문단 간격 2·자간 0.12·단어 간격 0.16배로 늘려도 깨지지 않을 것.W3C WAI
Icon Usability글아이콘에는 글자를 붙이고, 널리 알려진 아이콘은 홈·인쇄·검색 정도뿐이라는 정리.Nielsen Norman Group
Dark theme디자인 시스템#121212 바탕, 채도를 낮춘 강조색, 위로 뜬 면을 밝게, 글자 불투명도 87·60·38%(Material Design 2).Material Design 2
Responsive layout grid디자인 시스템화면 크기에 따라 4·8·12열로 바뀌는 그리드(Material Design 2).Material Design 2