我的团队非常依赖于代码中的颜色来概述需要使用的功能(我们为需要注意的代码行加色)。我们有一个色盲的密友,想加入我们的团队。在不使用颜色的情况下,我们能做些什么来突出需要满足的需求?我们的团队中大约有25个人都习惯了线条着色系统,我们发现它是最有效的。
我的团队非常依赖于代码中的颜色来概述需要使用的功能(我们为需要注意的代码行加色)。我们有一个色盲的密友,想加入我们的团队。在不使用颜色的情况下,我们能做些什么来突出需要满足的需求?我们的团队中大约有25个人都习惯了线条着色系统,我们发现它是最有效的。
Answers:
向他展示您用来突出显示代码的颜色,并让他告诉您他不能区分的颜色。
然后将这些颜色更改为他可以使用的颜色。
我经常与之合作的开发人员之一是colorblind。问题不仅在于他不能区分颜色,还在于他对颜色不怎么想。他和其他色盲人都学会了使之成为问题,以至于即使他们能分辨出颜色,颜色也成为区分事物的不良工具。我们之前曾谈到过Xbox游戏-一些写得不好的游戏只能通过颜色来区分要按下的按钮。即使他们选择了他能分辨的颜色,他的大脑也没有设置要注意颜色并在上面区分。
您当前的系统已损坏。关于这一点,没有两种方法。如果他的色盲甚至引发了关于他与您一起工作的问题,那肯定是错误的。也许有一些学习要和他一起工作(例如,如果我的朋友进行视觉设计工作,我的朋友将不得不向我们验证颜色),但是在决策中根本不应该涉及到它。通过帮助您非常轻松地验证应用程序,他还可以成为开发可访问应用程序中非常宝贵的资源。
除了我的色盲朋友之外,我在大学期间从事的一项大型设计项目是针对色盲客户的非常直观的应用程序。我们不认为这是一个限制,而是一个学习的机会。我们发现了一个名为Vischeck的出色工具,该工具可以模拟色盲人们看到的东西(所有种类)。现在和您的朋友一起学习这些技术是一件好事,他可能会在您上船时随它一起滚动。如果您等到某个候选人不能仅仅因为他看不到与您一样的颜色而被聘用(这不会像您这样愚蠢地打动您吗?),您将陷入各种困境麻烦。
现在,这并不是说您必须消除颜色。如果他们为您工作,那就太好了。只是不要使它们成为在团队中传播信息的主要方法,而是使它们成为额外的额外帮助。考虑在代码编辑器中突出显示语法。没有它,该代码是完全可读的。即使是完全不关心色彩的人也可以使用编辑器,而绝对没有问题。这些颜色是为了使使用它们的人们感到方便,仅此而已。
我不是律师或人力资源专业人员,但我的话是这样的:“只有大约25人的团队,实施完全不同的系统是不切实际的”,这对ADA规则造成了危险。
除非全色视力是工作的特定要求,否则您不能区别色盲的残障,并且必须进行合理的调适以允许他工作。在歧视诉讼中,不切实际不是辩护,尽管我再说一遍,我不是律师。
诸如使颜色可配置之类的简单操作就足够了,可配置的显示选项只是常识。
声音。形状。字体 样式。尺寸。文字评论。
您不能独自想到这些吗?如果您无法提出其他选择,为什么有人要与您合作?
(是的。声音。盲人有很多屏幕阅读器和自适应设备。很多。您找不到一个吗?真的吗?)
这个人是完全色盲的吗?这是非常罕见的。色盲的大多数情况是相当具体的,即红色和绿色看起来相同,但所有其他颜色都可以使用。您可以选择一组明确的颜色,即使对于特定种类的色盲(甚至可能是几种类型)也是如此。
另外,颜色也可以用简单的符号进行补充(无论如何如何向文本文件中添加颜色?)
您应该使用语义标记而不是彩色线。
最简单的方法是使用HTML:
doFoo();
<span class="refactor">doUgglyThing();</span>
doBar();
doBaz();
<span class="debug">makeBug();</span>
然后,您让他修改样式表以满足他的需求。而且这纯粹是文本的,因此适用于版本控制。
如果您愿意花一点时间,可以简单地将一个小型的轻量级HTML编辑器放到JavaScript中,为您完成此操作。
或使用注释突出显示不同的部分,然后编写一个小的显示工具,使您可以自定义格式。这可能是最好的选择,因为这意味着所有这些信息都直接在您的代码库中,并且所有信息都可以保存在一个地方。就像是:
doFoo();
doUgglyThing();//REFACTOR
doBar();
doBaz();
makeBug();//DEBUG
最后,准备使用的选项是使用语义文本编辑器,例如Ulysses。您可以标记和标记不同类型的节,并为节类型分配格式。您还可以评论不同的部分,依此类推。它还具有一个HTML导出器(以及其他功能),因此它实际上非常适合编写文档。
添加一个附加系统,该系统传达的信息与您使用颜色提供的信息相同。
可能是:
还是其他的,真的。但是,这里令人不安的问题是,您似乎认为它们构成了“完全不同的系统”,事实并非如此,您现有的用户可以选择完全忽略它们并依靠颜色(如果愿意)。
为每个任务分配一个数字等级,并保持列表排序。
Rank Description
--------------------------------------------------------------------------
1 Find a way to make our task list readable by the new guy
3 Gain some rep by asking a question on Programmers
9 Convince the manager that 25-people team might need an issue tracker
派对晚了,但是:Color Oracle是一种程序,可以在您的计算机上运行,并使您的桌面看起来像具有任何不同类型色盲的人。在IDE打开的情况下运行它,并调整用于各种操作的颜色。从某种意义上说,他们根本无法感知任何色差,因此很少有人完全是色盲。您可能可以选择适合此人和您的团队的一组颜色。