본문 바로가기

FrontEnd

빠른 디자이너-개발자 의사소통을 위한 색상(color) 시스템 프레임워크

반응형

디자인 팀 / 개발 팀이 제품 전반에 걸쳐 일관성 있고,

목적있게 색상을 사용할 수 있도록 돕는 색상 프레임워크를 만들어 봅시다.
원문 링크입니다 : https://medium.com/prototypr/a-framework-to-create-accessible-and-harmonious-color-system-for-faster-design-dev-handoff-8138b3a9604d

다음은 Practice Fusion의 EHR 제품의 색상 시스템을 재정의하는 데 사용한 5단계 프로세스입니다.
색상 팔레트를 40~75% 줄이고 적용 규칙을 단순화하여 제품 전체에서 일관성을 보장했습니다.
(이 포스트는 UI 색상의 정의에만 초점을 맞출 것입니다.
브랜드 색상은 다른 접근 방식이 필요하며 여기서는 논의하지 않습니다.)

1단계: UI 색상의 접근성(대비) 검사

Chrome WAVE 플러그인을 실행하고 UI에서 색상 대비 오류를 확인합니다.

모의 데이터로 테스트 계정의 접근성 확인

액세스할 수 없는 색상 조합을 기록하고 팔레트에서 지우십시오.
나중에 결정을 내리기가 쉬워집니다.


2단계: UI 색상의 의미론(시맨틱) 검사

게슈탈트의 유사성의 원리는 모양, 크기, 색상, 질감, 가치 또는 방향과 같은

시각적 특성을 공유하는 사물이 함께 속하는 것으로 간주된다는 것입니다.

동일한 색상 속성(fill 또는 border)을 가진 컴포넌트는 유사한 기능을 갖는 것으로 간주됩니다.
색상 변화가 너무 많으면 사용자가 각 색상 변형의 의미를 처리하고 해석해야 하므로
불필요한 주의 산만과 인지 부하가 ​​발생합니다.
 
몇 가지 주요 대표 화면의 모든 색상 사용에 대한 의미를 주석으로 표시하세요
그리고 그렇게 하는 동안 한 가지 질문을 스스로에게 던져 보세요
"하나의 의미를 전달하기 위해 같은 색상의 이렇게 많은 변형(variations)이 정말 필요한가요?"
 
예시를 보겠습니다.

링크와 버튼을 사용하면 사용자가 클릭하고 일부 액션을 수행할 수 있습니다.
4가지 다른 파란색 음영으로 표시되어야 할까요?
지배적이며 클릭을 의미하는 유일한 색상(혹은 유이한)색상이 없을까요?

 

테두리(border)는 컴포넌트, 테이블 및 섹션을 포함하는 데 도움이 됩니다.
따라서 콘텐츠를 포함하는 것과 동일한 목적을 수행합니다.

정말 테두리가 3가지 다른 회색 음영으로 표시되어야 하나요?

 

팔레트에 얼마나 많은 색상이 있나요?

색상 사용의 의미론에 따라 파란색을 action 색상으로 분류했습니다.
원래 파란색 팔레트에는 8개의 파란색이 있었지만
최종적으로는
"click"을 나타내는 1개의 진한 파란색(음영)과
"hover"를 나타내는 1개의 밝은 파란색(색조)
즉 2개만 필요했습니다.
즉, 기존 블루팔레트 대비 75% 감소된 수치입니다.
 
회색은 일반적으로 보조 텍스트, input 필드 테두리, 배경(보조 영역) 3곳에서 사용됩니다.
(econdary text, input field borders and any secondary regions as background)
즉, 원래 회색 팔레트 5개에서 40% 감소한 3개의 회색만 필요했습니다.

의미론적 검사를 수행한 후 각 팔레트에 실제로 필요한 색상의 수를 정확히 알 수 있습니다.


3단계: 모든 팔레트의 색상 조화 검사

Colors harmonize if they are variations in lightness and chroma within a single hue (monochromatic harmony)

참고: https://www.handprint.com/HP/WCL/tech13.html

 

handprint : color harmony & design

The unsaturated, dark values are an important aspect of the design, as they make the scarlet flowers "pop" (appear by contrast relatively brighter and more saturated). All the normally bright or light valued colors, such as whites or yellows, have been dar

www.handprint.com

위 글은 너무 어려움. 이거 보자 : https://www.designer-note.com/design-color_harmony-1/

 

[Design] 색을 어떻게 적용해야 하는가? 색을 조화롭게 배색하는 공식! – 비전공자를 위한 디자인

‘어떤 색을 사용할 것인가? 주제(Concept)에 맞는 컬러를 찾는 방법!‘에서 기획의 콘셉트에 맞는 주제색을 색의 의미를 통해 찾아보는 방법을 알아보았습니다. 색의 배색(Color Combination) = 색의 조

www.designer-note.com

HSB 모델을 사용하여 기존의 모든 팔레트가 조화로운지 평가합니다.
HSB는 인간이 읽을 수 있는 가장 논리적인 색상 모델입니다.
다른 색상 모델은 해당 값을 조정하여 색상 결과가 어떻게 변경되는지에 대한 완전한 이해를 제공하지 않습니다.

팔레트 내에서 단색 색상(hue) 조화를 얻으려면  모든 색상이 동일한 색조를 지녀야 합니다.
색상 팔레트에 매우 다양한 색조 범위가 있는 경우 색상이 함께 속한 것처럼 보이지 않습니다.
차이를 인식하기 어렵기 때문에 색조 값의 작은 차이는 괜찮아 보일 수 있습니다.
하지만 문제는 이 작은 차이가 있어야 하는 좋은 이유가 있냐는 것입니다.
 
한 가지 색조만 선택하는 것은 디자이너와 개발자 모두에게 색상을 기억하는 데 도움이 되며
향후 팔레트를 확장해야 하는 경우 모든 색상의 조화를 보장하기 위한 강력한 기반을 제공합니다.

4단계: UI의 각 색상 팔레트에 대해 1개의 색조(hue) 선택

제 경우에는 색조(hue) 범위가 199-210인 파란색 팔레트의 예부터 시작하겠습니다.
전체 모양과 브랜드 느낌이 영향을 받지 않도록 동일한 범위에서 1개의 단일 색조를 선택하겠습니다.
H: 195, 200, 205, 210에 대한 색상 팔레트를 만들었습니다.
S 또는 B 중 하나를 100%로 일정하게 유지하고
다른 컴포넌트(B 또는 S)를 5-15포인트씩 변경합니다.
전체 색상 시스템을 더 쉽게 기억할 수 있도록 색조를 5의 가장 가까운 배수로 반올림했습니다.

파란색 색상 매핑

마지막으로 이 모든 파란색 팔레트에서 2가지 색상만 선택해야 하지만(2단계에서 결정)
두 색상 모두 동일한 색조여야 합니다.
각 색상 팔레트의 전체적인 느낌을 느낄 수 있고 기존 팔레트와 더 잘 비교할 수 있으므로
후보 목록에 포함된 각 색상의 전체 팔레트를 한 번에 보는 것이 좋습니다.
나는 H:205가 우리의 기존 색상에 가장 가깝게 보이는 shades와 tint(명암이 추가된 색조)를 제공한다는 것을 관찰했습니다.

Color mapping for blue

새로운 색상 시스템을 만들어야 하는 경우 해당 색상에 사용할 수 있는 모든 색조를 살펴보고
브랜드 감정에 가장 잘 맞는 색조를 선택하는 것이 도움이 될 것입니다.
예를 들어 재미있는 소비자 응용 프로그램의 경우
H:190과 같은 재미있는 색조 색상을 선택할 수 있습니다.
Base colors for each hue

다른 모든 팔레트에 대한 색상 매핑

다른 모든 색상 팔레트에 대한 색상 매핑은 기존 팔레트에 제한된 색상이 있었기 때문에 훨씬 간단했습니다.
 
빨간색부터 색조를 0으로 조정하니 기존 세트와 비슷해 입니다.
주황색 색조를 30으로 반올림했습니다.
노란색 색조를 50으로 조정하고
보라색을 250으로 조정한 값이 기존 값과 가장 비슷해 보였지만 UI에서 테스트해 보았습니다.
나는 알림(notifications)의 맥락에서 색조 60과 색조 270이 훨씬 더 좋아 보인다는 것을 깨달았습니다.
 
나는 대부분의 경우(파란색 색조 제외) 30의 배수인 패턴을 가진 hue 값을 사용했습니다.
이것은 우연의 일치였지만 색상을 훨씬 더 쉽게 기억할 수 있게 해주었습니다.
Color mapping for all palettes

특별 케이스 : 회색 팔레트

회색 팔레트에는 색조가 없습니다. 그래서 색조 매핑을 할 필요가 없었습니다.

5단계: 모든 색조의 값 결정

색상 팔레트에서 배경 및 텍스트 색상 값을 도출하는 실제 프로세스는 다음과 같습니다.
 
2단계에서 결정된 배경 및 텍스트 요구 사항에 따라 사용할 수 있는 후보 목록 색상입니다.

텍스트가 다른 배경색에 어떻게 나타나는지 시각적으로 확인하여 배경색을 완성합니다.

WCAG 색상 대비 검사기로 접근성 검사를 수행하여 선택한 배경색에 가장 적합한 텍스트 색상을 완성합니다.

다른 팔레트에 대해서도 비슷한 방법을 따랐습니다.

 

색조에 관계없이 명도와 채도가 같으면 색상이 조화를 이룹니다(뉘앙스 조화)

접근성이 안좋거나 시각적으로 거슬리는 경우만을 예외로
가능한 모든 종류의 hue에 동일한 S 또는 B 값을 사용하고자 했습니다.

HSB(HSV) Cylinder
Same S across all tints
Checking for accessibility & visual appearance in UI
New color system — Easy to remember due to monochromatic & (almost) nuance harmony

3가지 색상 적용 지침

지침 1: 텍스트 색상과 배경 색상 쌍 정의, 그리고 테두리 색상

모든 색상은 먼저 적용되는 컨텍스트를 결정한 후에만 파생되었습니다(2단계에서).
해당 컨텍스트 외에 색상을 적용해서는 안 됩니다.
예를 들어 텍스트로 선택한 색상은 테두리에 사용해서는 안 되며
배경으로 선택한 색상은 텍스트로 사용해서는 안 됩니다.
 
색상 시스템을 정의하자마자 허용되는 텍스트 / 배경 쌍을 정의하세요
색상 대비는 텍스트와 배경색에 대해 측정되므로 항상 쌍으로 정의해야 합니다.

지침 2 : 파생된 상태 (like hover & active)

파생 상태는 종종 원래 색상보다 약간 더 밝거나 약간 어두운 색상을 사용합니다.
lighten() 또는 darken()과 같은 CSS 전처리기(SASS 또는 LESS) 함수를 사용하여 파생된 상태 색상을 계산할 수 있습니다.

색상 시스템의 일부로 파생 상태에 대한 색상을 포함하지 않는 것이 가장 좋습니다.
그것들을 컬러 시스템의 일부로 도입하는 것의 문제점은 보이는 옵션의 수가 증가하고
시간이 지남에 따라 다른 목적으로의 사용을 제한하기 어렵게 만든다는 것입니다.
“선택의 수가 늘어날수록 결정을 내리는 것이 기하급수적으로 어려워집니다.” — 힉스의 법칙

 

지침 3: 모든 UI 컴포넌트에서 동일한 상태에 대해 동일한 색상 적용

모든 UI 컴포넌트가 다양한 상태에서 유사한 색상 적용을 갖는지 확인하십시오.
클릭할 수 있음을 나타내기 위해 호버 상태의 모든 컴포넌트 테두리에
동일한 파란색 링크 색상을 사용했습니다.
 
모든 컴포넌트 테두리에 동일한 회색을 사용했으며
섹션 테두리, 테이블 테두리, 구분선(divider) 등과 같은 다른 모든 타입의 테두리에도 
동일한 회색을 사용했습니다.

Same colors for same states across all UI components


결론

위 과정을 통해 얻은 것은 다음과 같습니다.

  • 제한된 값과 제한된 적용 규칙(힉스의 법칙)을 가진 색상 시스템
    • 매우 쉽고 논리적으로 기억할 수 있음(게슈탈트의 유사성 원칙)
  • 개발자는 Zeplin과 같은 다른 도구에서 목업들을 검사하는 데 시간을 할애할 필요가 없습니다.
  • 개발자가 색상 시스템 적용 방법과 규칙에 대해 이해하고 있기 때문에, 개발-디자인 팀 간 소통 비용 감소
  • 디자이너가 모든 색상을 체크할 필요가 없어짐
  • 접근성 색상 대비 지침을 준수하는 색상 시스템

참고 자료

색상 이론을 다루는 많은 기사가 있지만 색상 시스템을 제작하기 위한
체계적이고 실용적인 접근 방식을 설명하는 리소스를 많이 찾지 못했습니다. 
나열된 기사 외에 다른 기사를 알고 있다면 공유해 주세요

https://medium.com/eightshapes-llc/light-dark-9f8ea42c9081

 

Light & Dark Color Modes in Design Systems

Model decisions that flow through a UI component catalog

medium.com

https://medium.com/eightshapes-llc/color-in-design-systems-a1c80f65fa3

 

Color in Design Systems

16 Tips for Setting Up a System That Endures

medium.com

https://m3.material.io/theme-builder#/custom

 

Material Design

Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.

m3.material.io

https://yeun.github.io/2016/03/21/rgb-and-hsb.html

 

heeyeun | RGB와 HSB

최근에 동료 디자이너에게 HSB의 Brightness 값이 상대적이라는 개념을 설명할 일이 있었다. 마침 비슷한 주제로 세미나를 했던 적이 있어서 그때 썼던 키노트를 활용하려고 했는데 다시 보니 설명

yeun.github.io

https://www.designer-note.com/design-60-30-10_rule-1/

 

[Design] 색 구성 비율의 균형을 조화롭게 맞추는 공식, 60-30-10 법칙! – 비전공자를 위한 디자인 노

‘중요한 디자인 구성요소에는 중요한 컬러를 적용‘에서 디자인을 구성하는 색의 역할에 대해서 알아보았습니다. 주제색(Primary Color): 주인공 역할을 하는 색, 브랜드 컬러(Brand Color)강조색(Accen

www.designer-note.com

 

반응형