Color Contrast Formula

by queryj

JavaScript

function luminanace(r, g, b) {
    var a = [r,g,b].map(function(v) {
        v /= 255;
        return (v <= 0.03928) ?
            v / 12.92 :
            Math.pow( ((v+0.055)/1.055), 2.4 );
        });
    
    return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;
}

var a = 
(luminanace(255, 255, 255) + 0.05) / (luminanace(0, 0, 255) + 0.05); // 1.074 for yellow

alert(a);


var b = (luminanace(255, 255, 255) + 0.05) / (luminanace(0, 0, 255) + 0.05); // 8.592 for blue
// minimal recommended contrast ratio is 4.5 or 3 for larger font-sizes

alert(b);