본문으로 건너뛰기

다크 모드 팔레트 변환

Dark Mode Palette

색 하나에서 50~950 램프를 만들고 뒤집어 다크 램프로 만들어, 토큰 짝마다 대비를 그대로 유지합니다.

라이트 램프를 뒤집어 다크 램프를 만듭니다. 50단계가 950이 되고, 100이 900이 되는 식입니다. 토큰 이름이 뜻하는 바를 유지하는 유일한 방식이라, 라이트 모드에서 WCAG를 통과하던 짝이 다크 모드에서도 같은 비율로 통과하고, 이 스케일을 쓰는 컴포넌트는 고칠 것이 없습니다. 색상 단계 생성과 같은 페이지이고 다크 탭으로 열린 것입니다.

🔒 브라우저 안에서만 처리dark-modepalettethemea11y

기준 색

색상과 채도가 램프의 씨앗이 되고, 밝기는 어느 단계에 고른 색 표시가 붙을지를 정합니다.

램프

각 단계의 밝기 목표값은 여기서 정한 것이 아니라 설치된 Tailwind 패키지에서 측정한 유채색 계열들의 평균입니다.

다크 모드

방식

50단계가 950이 되고 100이 900이 되는 식입니다. 토큰 이름의 뜻이 그대로 유지되어 500은 여전히 중간 톤이고, 이 스케일을 쓰는 컴포넌트는 고칠 것이 전혀 없습니다.

라이트

50

P3

100

P3

200

P3

300

P3

400

P3

500

P3

600

700

800

900

950

다크

50

100

200

300

400

500

600

700

800

900

950

뒤집는 이유: 토큰 짝의 대비가 유지됩니다

  • 900 위의 50: 라이트 8.93 · 다크 12.73
  • 800 위의 100: 라이트 6.68 · 다크 7.19
  • 950 위의 200: 라이트 11.16 · 다크 7.19

토큰 이름의 뜻이 그대로여서, 이 스케일을 쓰고 있는 컴포넌트는 고칠 것이 전혀 없습니다.

내보내기

형식

한 색상의 램프가 아니라 여러 색상이 필요하다면 팔레트 생성이 배색을 만들어 줍니다. 이 색들과 가장 가까운 Tailwind 토큰을 찾으려면 근접 색 찾기가 ΔE로 재 줍니다.

사용 방법

  1. 기준 색을 넣습니다

    색 하나면 됩니다. 라이트 램프를 먼저 만들고 거기서 다크 램프를 끌어내므로, 둘을 따로 관리하는 대신 같은 씨앗에서 나옵니다.

  2. 방식을 고릅니다

    기본값은 뒤집기이고, 대비에 관한 근거가 붙는 방식입니다. 어둡게 밀기는 뒤집는 대신 모든 단계를 세 칸씩 내리는데, 순서가 유지되어 밝음에서 어두움으로 가는 그라디언트가 뒤집히지 않는 대신 가장 어두운 단계들을 잃습니다. 뒤집고 채도 낮추기는 뒤집으면서 채도를 더 내린 것입니다.

  3. 넓게 칠할 색은 채도를 낮춥니다

    어두운 바탕 위의 채도 높은 색은 번지고 떨려 보이고, 면적이 클수록 심해집니다. 채도를 낮추는 쪽이 안전한 선택입니다. 작은 강조나 글자에만 쓸 스케일이라면 100% 가까이 두어도 됩니다.

  4. 근거 패널을 봅니다

    뒤집기를 켜면 토큰 짝 세 개의 WCAG 비율을 라이트와 다크 양쪽에서 나란히 보여 줍니다. 주장을 그냥 하는 대신 눈앞에서 검증해 보이는 부분입니다.

  5. 두 스케일을 함께 내보냅니다

    CSS 형태는 라이트 스케일을 `:root`에, 다크 스케일을 `prefers-color-scheme: dark` 블록 안에 내보냅니다. 테마 전체를 한 번에 붙여넣을 수 있습니다.

자주 묻는 질문

이미 쓰는 라이트 팔레트를 붙여넣을 수 있나요?

묶음으로는 안 됩니다. 이 페이지는 색 하나에서 두 램프를 만들기 때문에, 손으로 다듬은 단계가 있는 기존 팔레트를 색 하나씩 넣어도 그대로 나오지 않습니다. 규칙적인 열한 단계가 나올 뿐 원래의 열한 단계가 아닙니다. 규칙성보다 기존 팔레트가 중요하다면 토큰 하나씩 옮기면서 각 짝을 대비 검사기로 확인하세요.

뒤집으면 대비가 정확히 보존되나요?

가깝게 보존되지만 정확히는 아닙니다. 램프는 OKLCH 밝기에서 대칭이고 WCAG 대비는 상대 휘도로 계산하는데, 둘은 선형 관계가 아닙니다. 그래서 비율이 서로 가깝게 나올 뿐 같지는 않습니다. 근거 패널이 두 값을 모두 찍어 주므로, 주장을 믿는 대신 자기 색에서의 차이를 직접 볼 수 있습니다.

다크 모드 배경을 순수한 검정으로 해야 하나요?

보통은 아닙니다. 순수한 검정에 밝은 글자를 올리면 대비가 최대가 되는데, LCD에서는 그때 생기는 번짐 때문에 작은 글자가 오히려 읽기 어려워집니다. 여기 다크 줄을 아주 어두운 회색 위에서 미리 보여 주는 이유입니다. 진짜 검정이 실제로 이득인 경우는 OLED 화면의 전력 정도입니다.

색상 단계 생성과 왜 페이지가 나뉘어 있나요?

나뉘어 있지 않습니다. 같은 도구인데 다크 탭이 미리 켜져 있을 뿐입니다. "다크 팔레트를 만들어 줘"와 "50~950 램프를 만들어 줘"가 서로 다른 사람에게서 다른 질문으로 오기 때문입니다. 한쪽에 있는 것은 다른 쪽에도 다 있습니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.