【翻译】#A11y:可访问性是开发者体验的一部分

科技行业努力摆脱单片式架构的束缚。然而,我们却忽略了摆脱单片式开发者体验的想法。

无论是内部还是外部,开发者体验--有时被称为DX、DevEx、开发者支持或开发者生产力--都是为改善开发者对你的产品、服务或组织的整体用户体验所做的努力。DevEx是关于消除开发人员的摩擦,使他们乐于使用你的产品。

长久以来,团队创建了一个单一的品牌角色,相当于 "开发者"。想象一下,一个健全的、神经正常的、阳性的、白种人,可能穿着T恤,有很好的WiFi和精致的技术设置,喜欢解决问题和编码。试图只为这种类型的人销售和建设是彻头彻尾的无能和排外的。如果我们要建设未来,就必须让更多的人参与创造这个未来--这就是好的商业。奖励--为开发者设计包容性的产品通常会给所有人带来更好的产品。

早在2001年,Joel Spolsky在 "面向程序员的用户界面设计"一文中,与OXO公司进行了比较,后者是一家为关节炎患者设计厨房工具的公司。"每七个人中就有一个患有某种形式的关节炎--仅在美国就有近4000万人。为这个利基市场设计一系列产品很可能会成功。事实上,[创始人萨姆]法伯的公司--奥克斯国际,取得了惊人的成功。但他们的市场不仅仅是有关节炎的人:每个人都喜欢OXO产品。他们只是使用起来更愉快"。

但是,尽管越来越多的终端用户产品正在接受无障碍测试,我们是否可以对开发者工具说同样的话?答案是否定的,独立的无障碍专家Alex Tait说。

她告诉WTF is Cloud Native说:"科技是一个规模最大的行业"。"我们不仅没有生产无障碍的内容,我们也没有生产无障碍的工具。我们甚至没有生产无障碍的内容创建工具",她继续说,指着Wix和Squarespace,她说这需要大量的定制来使任何东西都是无障碍的。

全世界有大约 10亿残疾人,而且有巨大的技术人才缺口,这些都不是边缘案例。忽视开发者的无障碍性会带来一些风险。

从你的快速A11y赢利开始

正如上面标题中无障碍性的数字说明的那样,Spotify的高级产品设计师Reema Bhagat认为,无障碍性必须被整合到任何规范中,否则就会被忽视,"在设计规范中包括键盘和屏幕阅读器的细节有助于巩固无障碍性是体验的一部分,而不是我们会追溯性地添加的东西"。当然,这是更便宜的方法,而不是以后再去修复。

Bhagat继续说:"在功能发布之前与产品和工程部门一起测试,有助于确保质量和可及性是团队的共同责任"。

遵循前端设计的最佳实践是任何以开发者为中心的设计的一个很好的启动平台,在DX中,它是以用户为中心的设计

不要半途而废。Deque Systems专注于可及性工具,并发现许多组织只是使用 可及性覆盖来尝试自动修复问题。然而,这种方法只能解决大约8%的无障碍性问题,而且通常会产生更多的问题,根据Deque首席执行官Preety Kumar。库马尔指出:"神奇的修复方法在很大程度上恶化了残疾人的网络体验,并损害了数字无障碍的整体状况"。

这并不意味着自动化工具没有帮助。WebAIM,一个致力于网络无障碍的非营利组织,发现97%的顶级百万网站都有可以自动检测的无障碍问题--"在大多数情况下不到一分钟",Alex Tait解释说。她建议任何代码提交到拉动请求 之前,运行一个可访问性工具,如 Deque的axe DevTools TPGI的ARC工具包,以便不断发现那些容易检测的故障。可访问性也应该在同行评审中得到考虑。

事实上,很多所谓的可访问性工具使事情变得更糟。泰特指出了 AccessiByeBye这个工具,它可以关闭那些经常干扰屏幕阅读器的覆盖物。

但是,"你不能将一个完全无障碍的解决方案自动化",因为,她告诉WTF,只有不到一半的无障碍问题是由工具检测出来的,所以在可预见的未来,人工测试还要发挥作用。"你必须把它带到实际测试流程的地方,并测试[例如]只使用键盘的人能否在这个杂货店应用程序上结账"?或者,考虑到另一个例子,你是否可以编写和测试代码,将其放入Git,并通过音频命令看到它通过CI/CD管道?

身体残疾的人通常不使用鼠标和触控板,主要通过键盘语音命令 进行导航使用基于浏览器的工具,亲身体验开发者所面临的一些挑战。

追求无障碍工程师 Mark Steadman所说的在开发生命周期中 分阶段实现无障碍的方法,在这个过程中,你以快速的胜利作为开端。你甚至可以对你的开发者社区进行匿名调查,以决定你应该优先考虑哪些 W3C网络内容可及性指南

设计策略师 Raquel Breternitz提供了一些小东西,使你的代码更容易访问和使用。

布雷特尼茨告诉我,这最终要归结为简单和选择,因为这种简单性给了你的用户使用你的软件的选择。这反过来又让更多的用户有成就感,从而改善开发者的体验。她说:"所以他们甚至不需要考虑你,他们依赖你,因为你不会让他们失望"。

一个可及性策略可以在个人开发者层面上启动,但工程管理部门必须参与扩大思维方式的转变,Tait认为。此外,没有人再在孤岛上工作。有一些问题与后端相交,并涉及到设计决策,例如,"如果你在一个按钮上缺少一个可见的焦点指示器,你需要有人来设计一个",她说。

无障碍设计需要更清晰的沟通

大多数残疾人都在发展中国家,这些国家很少有机会获得高速连接和昂贵的配件来帮助他们取得成功。可访问性和包容性往往与代码的简单性联系在一起。

"包括那些多余的依赖性,实际上会使开发者在带宽上付出代价。这是一个真正的问题,可以阻止对你的库的访问",目前在CrowdStrike的高级软件工程师 Suz Hinton说

她警告说,要防止代码膨胀,不必要的复杂和长篇大论的代码会减慢开发人员--以及他们的下载、构建和转译速度。软件工程师 Abrar Sheikh 一次关于他的生活经验的演讲中指出,像他这样的低视力者只能将他们的感知领域放大到一次包括三到四行的代码,而视力好的工程师可以一次感知大约十行的代码。因此,他实际上无法处理过于复杂的代码。

辛顿指出,这在连接昂贵、有计量、速度慢的地方都会被放大。一定要在较慢的电脑上测试你的代码-- 包括Windows在内的不同操作系统- -在比你平时更慢的带宽上,作为一个很好的提醒,保持代码的精简。她继续说:"发布较小的代码足迹有助于每个人"。

她提供的一个简单的例子是高分辨率的标志--图标和缩略图 可以重达数兆字节--一旦开发人员已经在使用你的项目, 这些标志可能就没有用了,而且肯定会减慢测试和代码提交。

屏幕阅读器倾向于线性工作,所以你的代码和文档的组织很重要。另外,要考虑到你是如何记录变化的。Tuukka Ojala说,并排的代码比较对盲人开发者来说是非常无用的,他更喜欢+和-符号。他还发现缩进很有用,因为他经常通过盲文翻译器阅读代码,这有助于他在脑海中绘制出代码。

Ojala写道:"我强烈提倡干净和一致的编码风格,原因有很多,但主要是因为没有编码风格会使我的生活更加困难"。

以用户为中心的设计必须推动任何数字化转型。正如Breternitz所说,"我们不必仅仅确保有人能够到达那里,并且在他们到达时能够理解它,但我们也必须找到人们被排斥的方式,并打破这些障碍"。

"通过可访问性,你可以得到更好的软件,当你被起诉[因为缺乏合规性],或者当发现你的网站对那些没有访问需求或残疾的人来说不是那么可用时,你不必再回去重做。她指出:"我认为,通常情况下,如果一个网站或一款软件是不可访问的,那么它的可用性也会降低。布雷特尼茨举了一个例子,即隐藏在鼠标悬停后面的行动项目或互动的设计特例--它可能是美观的,但它不太可能被点击,因为人类和屏幕阅读器不知道它的存在。另外,这些悬停在移动电话上基本上是不可能的。

另一方面,支持可访问性的操作通常会提高开发者和客户的可用性,以及 "谷歌性"。Alt文本和代码中的额外描述性文本--如标签和表单描述--对于提供额外的解释,鼓励自我服务和阻止把关的行话是很有用的。可复制的代码片段比代码截图要有用得多。作为一种奖励,文字可以加快页面的加载时间,并大大减少带宽。

文档总是很重要的

年复一年,文档缺失被认为是消费API的主要障碍,在 2021年API状况报告中,近60%的受访开发者表示文档对他们的API发现过程至关重要。为每个人优化文档--特别是如果你是一个开源项目--就是很好的业务。此外,如果你的目标是成为一个全球性的产品,那么清晰的、基于文本的文档是需要本地化的。

据同一调查的受访者称,文档通常缺乏。

  • 良好的例子
  • 样品代码片断
  • 整个API程序的标准化(错误代码、端点)。
  • 真实世界的使用案例

没有人要求图表或过于复杂的文档。简洁性和一致性使你的公司能够与合作伙伴整合,并更快地扩展你的商业价值。另外,这让你成为未来的你的管理者,他必须使用你的代码并记住你为什么要这样做。

对Breternitz来说,可访问或可用的设计意味着用清晰的交流来解决问题,这通常意味着在设计时要考虑到新手。毕竟,那些最挣扎并寻求帮助的人要么是初级设计师,要么是潜在的买家,要么是刚接触你的产品的早期采用者。

"我们有这样的认知偏见,一旦我们学会了某样东西,我们就无法想象不知道那东西是什么样子",她警告说。这损害了你的入职体验。以一种简单的方式描述你正在做的一切--特别是定义你的产品所做的核心事情。这也使得客户更容易找到你,因为开发者也会在谷歌上搜索 "什么是...... "和 "我如何......"!这也是一种很好的方式。

布雷特尼茨还警告说,文档作者喜欢在内容的中间加入一个巨大的、解释所有内容的图表,其alt文本是无用的,只是对标题的复制和粘贴。至少,应该有适当的alt文本--如果你不能用文字来解释,那么你的图就太复杂了--同时还要有书面描述。这样,图表可以供视觉学习者使用,但没有必要让任何人来解释。如果你甚至需要颜色,别忘了高对比度,如果你使用视频,封闭式字幕可以帮助大家更好地理解。

"她说:"当我强迫自己用一堆不同的方式来解释这些东西,可以尽可能的清楚,当然我的设计出来的效果会更好,更可用,因为我已经做了额外的工作。这里的好处是,它为每个人提供了更好的开发者体验。

无论是支持内部还是外部的开发者体验,你都必须以多种格式提供更好的文档,以便在不同的学习方式中进行录入和交流,包括视觉和音频。是的,这要花钱,但如果你的目标受众是内部或外部的开发者,那么不投资于这个社区是愚蠢的。你会在社交媒体平台的五线谱上这样做,为什么不在这么多格式上创造真正的价值呢?

如果每个人都必须使用它,那么每个人都应该建立它

"我们当然不欢迎残疾人进入劳动力市场,这是一个真正的问题,因为,如果我们的团队中没有那些有生活经历的人的声音和专业知识来帮助建立这些产品,我们就违背了试图实现包容性的整个目的。"- 亚历克斯-泰特

将无障碍性融入其中的最佳方式是不遗余力地 雇用残疾开发者。由于技术人才的差距继续存在,保持你的招聘池尽可能的广泛和包容是有意义的。

2011年,英国的政府数字服务(GDS)实施了 "默认数字 "战略。这个作为平台的政府希望 从根本上实现 无纸化和可访问性,其基础是,如果每个公民在某些时候都必须与GDS接触。

这种数字包容战略 著名地延伸到工程团队的招聘,其中包括视觉障碍和其他残疾。它还意味着创建无障碍设计标准,允许 合作伙伴的API生态系统,以帮助扩大服务,如健康和护理。通过简单和无障碍的建设,任何规模或手段的其他团队都更容易在你的产品上进行建设。

当然,雇用一个更多元化的团队并不仅仅是让团队中的人变得更好, 谷歌的残障人士项目证明了它能制造出更好的产品,包括让谷歌地图对 全球6500万轮椅用户--还有带着婴儿车的父母和带着行李的旅行者来说更有功能。通过建立多元化、包容性的团队,然后建立无障碍、可用的软件,你的组织可以更有成效,更有目的性。

Abrar Sheikh目前是Uber公司的一名员工软件工程师,他在前面提到的讲座中提供了招聘视力障碍者的技巧。这些技巧可以适用于一般的包容性招聘。

  • 询问候选人是否需要额外的时间。
  • 询问他们是否喜欢在白板或电脑上面试。

只要记住,正如Tait所说,"你也不应该雇用边缘化的人去做一个开发者的角色,然后期望他们去咨询多元化的问题"。他们的多元化视角将对工作产生积极影响,但不应该给他们工作范围之外的额外工作。

团队必须为更大范围的用户测试付费,并为残疾人的专业知识提供补偿。泰特指出,当残疾人抱怨他们不能使用一个产品或工具时,客户支持部门往往只是问他们如何解决这个问题。"如果你免费向我咨询,你是在帮自己的忙,因为也许我会修复我的产品",这只是更多的能力主义。不要忘了把你学到的东西添加到你的文档(可能是新的)可及性部分下。

取代或补充更多样化的招聘和咨询,确保每个项目都有一个 无障碍倡导者,他有时间学习无障碍开发实践和DX,与你最边缘化的内部和外部客户交谈,并感到有勇气代表他们发言和倡导。这个角色不应该被看作是一个瓶颈,而应该被吹捧为影响你的产品质量的人。

入职时考虑到可及性

为每个人的成功做好准备。确保你询问新同事(以及目前的同事)他们是否拥有尽可能有效工作所需的一切。在现在这个大多以远程为先的世界里,这一点更加重要,因为你可能无法看到人们在他们的工作环境中,但请记住, 并非所有的残疾都是可见的。今年在硬件方面取得了一些巨大的进步,尤其是微软,它推出了 Xbox自适应控制器,并很快将推出用于导航的 自适应配件

"对我这个平面设计师来说,我觉得最大的限制之一仅仅是我的工作效率如何。即使我觉得我的工作做得非常好,但我就是无法获得同样的收入。"曼迪说,她天生没有右前臂和手。她说,"一刀切 "的自适应配件使残疾人能够 "以以前不可能实现的功能方式充分使用我们的身体",而 视频显示她用左手用手写笔绘画,同时用右肘使用带有八个可编程开关的微软自适应按钮。

有限的速度不仅影响到收入,也影响到竞争力。"随着数据科学的发展,我做了很多编码工作,当人们意识到我的编码速度比他们慢很多时,我就会感到自责。"在上面提到的同一视频中,娜塔莉说,作为一个四肢瘫痪的人,她不能利用她的同事可以利用的多按钮快捷方式。

曼迪说:"我认为,残疾人群体没有得到充分的服务,我们被迫适应技术,而不是技术为我们而发展"。这在全世界都是一样的--我们已经写过微软的无障碍设施总监大卫-达姆(David Dame)在以前的工作中花了两年时间脱水,因为他工作的厕所不适合轮椅使用。

埃德蒙- 邓恩(Edmund Dunn)在 A11yTalks会议上谈到他的经历时说:"对于雇主来说,我认为重要的是要明白,对于残疾人来说,小小的便利可以起到很大的作用",他是一位全栈Drupal开发者,残疾退伍军人,也是希望进入科技领域的退伍军人的导师。在服役20年后,邓恩不能长时间坐着或站着而不感到 "无比的痛苦"。当他在技术领域找到第一份工作时,他并不真正知道自己的设置需要什么。他的医生推荐了一个零重力躺椅,但后来他因为整天低头看笔记本电脑而导致了颈部问题。他的医生和人力资源部门一起想出了一个解决方案,将显示器放在一个摇臂上,键盘放在另一个摇臂上。适应残疾员工并不是一次性的,而且,仅在美国就有470万残疾退伍军人,这是一个巨大的人才库,可以被科技行业所利用。

当你试图雇用不同类型的开发人员时,你也需要做出拥抱更多的人的技术选择。这可能是允许开发人员选择工具,如低代码或视觉编码工具,这可能对 那些有阅读障碍和计算障碍的人有用。不断有新的低代码环境出现,使所有的开发者能够更快地工作。

Choreo使用基于JVM的语言Ballerina,是构建云原生应用的一个特别有趣的选择,它有可视化和基于文本的代码,因此不同风格的开发者可以在同一个代码库中进行协作。

记住要问新员工、社区成员和客户他们需要什么来 完成他们的最佳工作。在Sheikh的演讲中,他提到他需要坐在离窗户最远的位置,因为明亮的阳光会进一步降低他的视力。他的经理还确保他能在任何会议之前获得幻灯片,以便在自己的工作站上通过屏幕阅读器运行。

确保每个人都有他们所需要的一切,以尽可能有效和舒适地工作,这有助于培养 高绩效团队 心理安全和文化。

hiring.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值