a11y-color()
접근성을 준수한 전경, 배경 대비 자동 제안 유틸리티 함수
Last updated
Was this helpful?
접근성을 준수한 전경, 배경 대비 자동 제안 유틸리티 함수
Last updated
Was this helpful?
기준에 맞춰 AA(4.5:1) 또는 AAA(7:1) 레벨에 맞는 전경색을 자동으로 찾아 제안합니다.
a11y-color()
함수에 확인 전경색과 배경색을 차례로 전달합니다. (검사 수준, 글자 크기, 글자 두께는 옵션)
a11y-color($fg:color, $bg:color, $level:string, $size:number, $bold:bool) → color
매개변수(parameter)
유형(type)
필수(required)
기본 값(default)
$fg
color
✔︎
$bg
color
✔︎
$level
string
'AA'
$size
number
16
$bold
bool
false
위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.
a11y-color()
유틸리티는 다음의 로직에 의해 작성되었습니다.
필수 인자 값(전경, 배경 색) 그리고 선택 인자(검사 수준, 글자 크기, 글자 두께) 전달 확인
글자 크기 유효성 검사 후 $font-size
값 할당
검사 수준, 글자 크기, 글자 두께 값을 전달해 $ratio
비율 값 할당
전달받은 전경, 배경색 대비 검사 값을 $original-contrast
값 할당
원본 대비 값이 비율 값보다 크거나 같을 경우, 전달 받은 전경색 그대로 반환
원본 대비 값이 비율 값보다 작을 경우 전경, 배경색의 밝기 체크 후 개별 변수에 할당
밝기 모드 비교 후, 조건에 따라 $step
값 할당
전경, 배경색의 명도 대비 값이 비율보다 작을 경우 반복해서 전경색 값 조정
조정된 전경색 반환
유틸리티 함수 로직에 사용된 Sass 빌트인 모듈은 다음과 같습니다.
유틸리티 함수 로직에 사용된 유틸리티 모듈은 다음과 같습니다.
validate-font-size()
get-ratio()
scale-color()
자동 제안된 전경색과 배경색 대비를 함수를 사용해 확인하면 4.59:1
대비차를 출력합니다.