모듈:색상 대비/샌드박스
Module모듈 샌드박스 페이지는 다음과 같습니다.색상 대비(차이). |
이 모듈은 페이지 보호 대상입니다.이 모듈은 매우 많은 페이지에서 사용 중이거나 매우 자주 교체됩니다.파손이나 실수는 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 큰 부하가 걸릴 수 있으므로 편집으로부터 보호됩니다. |
이 Lua 모듈은 약 326,000페이지(전체 페이지의 약 1%)에서 사용됩니다. 중대한 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경을 실장하기 전에 토크 페이지에서 변경에 대해 논의해 주십시오. |
이 모듈은 다음 다른 모듈에 의존합니다. |
이 모듈은 주로 에 의해 사용됩니다.
- {{컬러 콘트라스트비}}
- {{ColorToLum}} / {RGBColorToLum}
- {{색 대비 적합}}
- {{AAA 콘트라스트비 보장}}
- {{AA 콘트라스트비 보장}}
- {{높은 색 대비}}}
또, 이 기능은, 다음의 데이터내의 트래킹에도 사용됩니다.
및 에 기재되어 있는 문서
사용된 공식은 WCAG 2.x 사양에 명시되어 있다.WCAG는 웹에서 접근 가능한 인터페이스를 만들기 위한 주요 가이드라인입니다.
사용.
이 모듈을 사용하려면 위에 나열된 템플릿 중 하나를 사용하거나 모듈을 직접 호출할 수 있습니다.
- 상대 발광 계산 방법:
{{ColorToLum color}}
또는{{#invoke:Color contrast lum color}}
- 두 색상 간의 대비비를 계산하려면:
{{Color contrast ratio color1 color2 error=?}}
또는{{#invoke:Color contrast ratio color1 color2 error=?}}
- 2가지 색상(color2a와 color2b) 중 어느 것이 특정 색상(color1)과 대비비가 큰지를 확인하려면 다음 절차를 따릅니다.
{{Greater color contrast ratio color1 color2a color2b}}
또는{{#invoke:Color contrast greatercontrast color1 color2a color2b}}
- css 스타일 문자열로 지정된 배경색과 텍스트 색상 간의 대비비를 계산하려면 다음 절차를 수행합니다.
{{#invoke:Color contrast styleratio css style statement string default background color default text color}}
-- -- 이 모듈은 · {{색 대비비}} · {{높은 색 대비}}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- 현지의 p = {} 현지의 HTML컬러 = 음.로드 데이터( '모듈:색상 대비/색상' ) 현지의 기능. sRGB (v) 한다면 (v <=> 0.03928) 그리고나서 v = v / 12.92 또 다른 v = math.pow((v+0.055)/1.055, 2.4) 끝. 돌아가다 v 끝. 현지의 기능. rgbdec2g(R, G, B) 한다면 ( 0 <=> R 그리고. R < > 256 그리고. 0 <=> G 그리고. G < > 256 그리고. 0 <=> B 그리고. B < > 256 ) 그리고나서 돌아가다 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) 또 다른 돌아가다 '' 끝. 끝. 현지의 기능. hsl2pc(h, s, l) 한다면 ( 0 <=> h 그리고. h < > 360 그리고. 0 <=> s 그리고. s <=> 1 그리고. 0 <=> l 그리고. l <=> 1 ) 그리고나서 현지의 c = (1 - math.abs(2*l - 1))*s 현지의 x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) 현지의 m = l - c/2 현지의 r, g, b = m, m, m 한다면( 0 <=> h 그리고. h < > 60 ) 그리고나서 r = r + c g = g + x 그렇지 않으면( 60 <=> h 그리고. h < > 120 ) 그리고나서 r = r + x g = g + c 그렇지 않으면( 120 <=> h 그리고. h < > 180 ) 그리고나서 g = g + c b = b + x 그렇지 않으면( 180 <=> h 그리고. h < > 240 ) 그리고나서 g = g + x b = b + c 그렇지 않으면( 240 <=> h 그리고. h < > 300 ) 그리고나서 r = r + x b = b + c 그렇지 않으면( 300 <=> h 그리고. h < > 360 ) 그리고나서 r = r + c b = b + x 끝. 돌아가다 rgbdec2g(255*r, 255*g, 255*b) 또 다른 돌아가다 '' 끝. 끝. -- 다른 모듈에서 사용할 수 있도록 함수를 내보냅니다. --색상은 문자열로 전달됩니다. 기능. p._개요(색.) 돌아가다 컬러 2개(색.) 끝. 현지의 기능. 컬러 2개(c) 한다면 (c == 제로) 그리고나서 돌아가다 '' 끝. -- html '#' 엔티티 c = c:서브("#", "#") -- 공백 c = c:경기( '^%s*(-)'[%s;]*