diff options
Diffstat (limited to 'guidelines/wikipedia/color.js')
-rw-r--r-- | guidelines/wikipedia/color.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/guidelines/wikipedia/color.js b/guidelines/wikipedia/color.js new file mode 100644 index 0000000..2ff1f42 --- /dev/null +++ b/guidelines/wikipedia/color.js @@ -0,0 +1,31 @@ +exports.name = "Color use"; +exports.description = "Use colors that have sufficient contrast and avoid issues with common forms of color blindness."; + +var fc = fiveui.color; +var AA_RATIO = 4.5; +var AAA_RATIO = 7; + +exports.rule = function (report) { + $5('#mw-content-text *') + // filter for lowest level elts having non-empty text + .filter(function () { + var $this = $(this); + return $this.children().length == 0 && $.trim($this.text()).length > 0; + }) + .each(function (i) { + var fg = fc.colorToRGB($(this).css('color')); + var bg = fc.findBGColor($(this)); + if (fg && bg) { + var ratio = fc.contrast(fc.luminance(fg), fc.luminance(bg)); + + if (ratio < AA_RATIO) { + report.error('Element has poor contrast: ' + ratio + + " ratio should be greater than " + AA_RATIO, this); + } else if (ratio < AAA_RATIO){ + report.warning('Element has poor contrast: ' + ratio + + " ratio should be greater than " + AAA_RATIO, this); + } + } + }); + +}; |