View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default Excel add-in that may help the color blind

An interesting post, my understanding is considerably more than 3% are
affected to some degree.

For dichromats, the theoretical solution is to use the Workbook.Colors()
property to shift the entire palette, colour by colour, up or down into

the
frequency range that these users can discriminate, leaving larger 'band

gaps'
around mission-critical colour replacements for red and green if they are
used for common warnings or data verification cues. Be warned, the
calculations are not trivial!


As it happens I have an app in development that does all that, even 'shift'
multiple colours in one go and in various ways until user finds colours
sufficiently separated. Many other related things which might be of use to
those with colour vision impairment. These though just some side effects
large application which does much else besides colour. Unlike Jim's though
it's not intended as a free product.

As you seem to be interested in this subject if you would care to try the
early beta drop me a line.

Regards,
Peter T
pmbthornton gmail com

"Nile_Hef" wrote in message
...
Interesting item, and one of the few instances of a relevant product plug
that I've ever seen on a newsgroup.

I would point out that 3% of the male population in predominantly

caucasian
countries are colour-blind, most being red-green 'dichromats' who have
difficulty distinguishing colours in the red-yellow-green part of the
spectrum, and a small minority (less than half a percent) being
'monochromats' who live in a completely colourless world.

We are obliged by law, in any G7 country, to cater for disabled people in
all applications offered for use by the general public. Most large
corporations have specific disability and 'accessibilty' policies that
require us take account of colour-blindness (and, in theory, users unable

to
operate a pointing device) and the only reason that many of us have

escaped
prosecution or discipliniary hearings is that the affected users are very
skilled at circumventing bad interface design and don't realise that they

can
and should complain.

For dichromats, the theoretical solution is to use the Workbook.Colors()
property to shift the entire palette, colour by colour, up or down into

the
frequency range that these users can discriminate, leaving larger 'band

gaps'
around mission-critical colour replacements for red and green if they are
used for common warnings or data verification cues. Be warned, the
calculations are not trivial!

The practical solution is to design your application so that colour cues
(especially red and green conditional formatting) are *never* the only

cues
presented to the user.

In the case of conditional formatting, change the font and the border
whenever you change the background colour!

For monochromats, it's usually best to give them this code snippet to

impose
a custom palette, and let them reformat their workbooks On Open:

Public Sub SetPalette(Optional wbk As Excel.Workbook)

On Error Resume Next

If wbk Is Nothing Then
Set wbk = ThisWorkbook
End If

Application.ScreenUpdating = False

With wbk

' Pale grey colour gradient
' Target: top row of the two hidden rows in the palette dialogue

.Colors(17) = &HF0F0F0
.Colors(18) = &HE0E0E0
.Colors(19) = &HD0D0D0
.Colors(20) = &HC0C0C0
.Colors(21) = &HB0B0B0
.Colors(22) = &HA0A0A0
.Colors(23) = &H909090
.Colors(24) = &H808080


' Grey semitones
' Target: bottom row of the two hidden rows in the palette

dialogue

.Colors(25) = &HF8F8F8
.Colors(26) = &HE8E8E8
.Colors(27) = &HD8D8D8
.Colors(28) = &HC8C8C8
.Colors(29) = &HB8B8B8
.Colors(30) = &HA8A8A8
.Colors(31) = &H989898
.Colors(32) = &H888888

' Redistribute the main greyscale sequence in
' the right-hand column of the default palette:
.Colors(15) = &HC0C0C0
.Colors(48) = &H707070
.Colors(16) = &H606060
.Colors(56) = &H404040

End With

Application.ScreenUpdating = True

End Sub

It's not a complete solution but those users will soon figure out how and
where to attack the main palette, replacing &HFF0000, &H00FF00 and

&H0000FF
with differing greyscales. Go back and see the results: it is a humbling
experience to discover that they have come up with better visual design
solutions than you did.