I have experimented with several solutions for the colorblind -
unfortunately none of them have had exactly what I am looking for.
What I ultimately ended up doing was writing a greasemonkey script
that loops through the stylesheets looking for certain shades of blue
and replacing them with red styles - this worked pretty well.

I did that about a year ago and then had to reinstall Windows and
never got around to reinstalling gm.  Now I'm trying to get the script
working again but it's been an uphill battle so far.  It appears that
either I hadn't tested the script on cross-domain css files or else
FF's security restrictions have increased recently.  So, I added a try/
catch to prevent that particular security feature from stopping the
script entirely, but no colors are being changed.  I can see in the
console that the script is running and looping through style sheets,
but no changes are visible.  I've been testing on reddit and google's
search results - the light blue links against the white background are
the ideal candidates for the kind of thing I like to change.  Anyway
here's the script; thanks for any help!

// ==UserScript==
// @name           Global style editor
// @namespace      http://spearofsolomon.com
// @description    Loop through all style elements in the DOM.
// @include        http://*
// @include        https://*
// ==/UserScript==

function log(str) {
        //unsafeWindow.console.log(str);
        GM_log(str);
}

(function () {

        var badColorsToGoodColors = {
                "rgb(0, 0, 204)" : "#CC0000",
                "rgb(0, 0, 255)" : "#CC0000",
                "rgb(34, 0, 204)" : "#CC0000",
                "rgb(0, 174, 239)" : "#CC0000",
                "rgb(17, 34, 204)" : "#CC0000",
                "rgb(0, 151, 213)" : "#CC0000"
        };

   ss = document.styleSheets;
   for (sheet = 0; sheet < ss.length; sheet++) {
        try {
                with (ss.item(sheet)) {

                                var rls = cssRules || rules;
                                for (i=0;i<rls.length;i++)      {
                                        istyle = rls.item(i).style
                                        if ((istyle) && (istyle[0] == 'color')) 
{
                            log("Found a style sheet.  Looking for bad 
colors:");
                                                for (badColor in 
badColorsToGoodColors) {
                                                        if 
(rls.item(i).style.color == badColor) {
                                    log("Found a bad color.  Replacing:");
                                                                
rls.item(i).style.color = badColorsToGoodColors[badColor];
                                                        }
                                                }
                                        }
                                }
                        }

                }
                catch (e) { log(e) }
        }

}) ();

-- 
You received this message because you are subscribed to the Google Groups 
"greasemonkey-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/greasemonkey-users?hl=en.

Reply via email to