社区聚焦:Melanie Sumner

Melanie Sumner 是一位软件工程师,专门从事数字无障碍。我们与她探讨了她的工程之路、无障碍设计、Ember.js 以及资助这些工作的重要性。

这篇文章重点介绍了一位社区专家,作为“学习无障碍!”的一部分。

Alexandra Klepper:感谢您参与访谈!请您介绍一下自己以及您的工作?

Melanie Sumner's headshot.

Melanie Sumner:我叫 Melanie Sumner,是一位专门从事数字无障碍的软件工程师。我从事 Web 编码已有 25 年。我的第一份职业有点像……间谍。我曾在美国海军担任情报分析员,编码是我的爱好。

我其实不喜欢当间谍。我原来不喜欢死亡,事实证明是这样。大多数人都不喜欢,当他们不得不更接近死亡时。我必须决定接下来要做什么,是时候将我的爱好变成我的事业了。在过去的 10 年里,我真正专注于无障碍领域的软件工程,特别是无障碍。

Alexandra:您不常听到“哦,我以前是间谍。”没什么大不了的。是什么让您开始从事无障碍工作?

Melanie:当时我在北卡罗来纳大学 [UNC] 教堂山分校的开发部门工作。他们所说的开发不是指 Web 开发,而是指筹款之类的开发。

我的直属经理有视觉障碍,他必须将所有内容放大到 400% 才能看到。他是一位出色的软件工程师。实际上可能是我遇到过的最好的经理。但他总是弄坏我的东西,因为他会放大来看我的工作。如果我没有考虑以响应式方式构建东西,它们就会损坏。

我经理的老板是蓝色色盲。我不知道您是否知道 UNC 蓝色是什么样的,但它是这种浅天蓝色。而且他们喜欢在白色背景上使用它。

Alexandra:(笑)哦,不。

Melanie:他的老板总是抱怨说他永远看不到我的工作!我不得不为我们的网站开发一套互补色和配色方案。这让我开始思考颜色对比度,并思考色盲(或其他视力障碍)人士如何使用 Web。

因为 UNC 是一所州立大学,所以有美国联邦要求,必须符合 WCAG 无障碍 AA 级标准。我们的目标是 AAA 级,因为它是一所教育机构。

当我更多地了解州和联邦要求并开始阅读 W3C 无障碍规范时,我想,“这一切都很有道理。”从我所看到的来看,大多数 Web 都不符合标准。当然,自从 Web 诞生以来,人们一直在致力于 Web 无障碍。有时,JavaScript 工程师(尤其是)在数字无障碍方面有点慢。

我称无障碍为 Web 的最后前沿。许多优秀的人都在致力于无障碍自动化——我们需要以我们解决其他难题(如性能和安全性)的相同方式来研究解决方案。

Alexandra:您可能在海军和 UNC 阅读过很多长篇复杂的文档。您是否觉得理解规范具有挑战性?

Melanie:我读了大约五遍才理解它——而且我之前读过其他规范。我总是告诉人们,如果您不理解它,不要感到难过,因为我不得不读了五遍规范!我不是在开玩笑。

习惯规范语言需要花费大量时间。如果您没有正确理解它,您可能会做错事。同样重要的是要理解,许多规范语言是为浏览器开发人员准备的。请注意“作者应该”,因为这是对 Web 开发人员的引用。

Alexandra:如果更多开发人员知道如何解读规范,那么 Web 上的很多内容都会变得更好。

Melanie:对于为您进行解读的网站,有很多值得称道的地方。我构建了 a11y-automation.dev,该网站有点像我的孩子,我的副项目。我尝试逐项列出每个无障碍违规行为,并将其链接到相关的 WCAG 成功标准。如果有自动化来防止错误,我会提供该解决方案。

您可以熟悉潜在违规行为的列表,但更重要的是学习如何修复它。对于不存在的自动修复,也许您会受到启发来编写 linter 或模板——也许您会受到启发来编写某种测试。

我更喜欢在开源领域工作,因为您可以互相借鉴,提出改进意见(有时是改进,有时不是,但我们都尽力而为)。我们在彼此的东西之上构建,然后我们最终为 Web 取得了非常棒的成果。

如何资助无障碍

Alexandra:我真的被 pleasefunda11y.com 吸引了。让开发人员学习如何构建无障碍站点非常重要,但如果没有高层领导的资助和批准,他们并不总是有资源。您为什么决定构建这个网站?

Melanie:我感到沮丧,因为无障碍的资金严重不足。所有开源资金似乎都流向了 CSS。我喜欢 CSS,我们可以用它做很多事情。

Melanie:我构建这个网站是因为 Addy Osmani(Chrome 软件工程经理)联系我说,他看到我正在寻求无障碍资金,但他想就哪些具体工作可以获得资助征求意见。这是一个大问题:开源资助者希望为特定项目提供资金,而不是为没有确定结果的总体想法提供资金。我花了一些时间写下一些具体举措、需要什么以及它们将如何帮助使网站实现无障碍。

即使公司在没有我的情况下朝着这些努力方向发展,我们也可以以非常重要的方式推动 Web 上的无障碍发展。与其他 Web 工作相比,这是一笔非常小的支出,但它将对人们的生活产生巨大影响。

当前的思维方式通常是,“嗯,有多少人有残疾?”它应该是:“任何人与他们的技术是什么关系?”

有些人告诉我,“嗯,我不认为色盲是一种残疾。”如果您是色盲,您可能不会认为自己有残疾,但它确实会影响您与技术的关系。

15 %

人们自我认同为残疾人。

来源

2.53 亿

视力障碍人士。

来源

39

制定了 Web 无障碍法律的国家/地区。

来源

在“学习无障碍”的第一个模块中详细了解统计信息:什么是数字无障碍,为什么它很重要?

Alexandra:请您详细介绍一下理解您与技术的关系。这与无障碍有何关系?

Melanie:例如,如果您是神经多样性人士,您可能需要非常简单的语言和非常清晰的指示。您可能更适合在一个流程中浏览三到四个屏幕,一次做出几个选择,直到到达终点。对于现代技术应用,没有很好的指导。

我们有专门从事 DevOps 的公司,如果您尝试使用其中一些网站,您会想,“哦,我的天哪”,您知道吗?如今,我们试图将所有功能都塞进我们的界面中。

Alexandra:您能分享一个例子吗?

Melanie:例如,GitHub 有带有嵌套选项卡的下拉菜单。并且 [无奈地叹气]。我不能生气(即使我很沮丧)。现代 Web 必须发展以满足新的需求。但我们也有责任以一种不会让人们掉队的方式进行构建。

这就是驱动我的动力,这就是我的热情。我不希望有人因为他们工作时必须使用的工具无法访问而找不到工作。

Alexandra:百分之百赞同。人们通常会考虑为外部用户构建无障碍产品,但不一定会考虑他们的员工。

Melanie:我想,你知道吗,这个融资建议可能会使所有人受益。

我一直听到工程师说他们很乐意做无障碍,但“我的公司不在乎。”我敢打赌他们会在乎!您只需要弥合业务逻辑差距。向他们展示对企业有利的结果。该网站是开源的,当然,我喜欢贡献和编辑。

Alexandra:无障碍通常被放在流程的最后,就像,“哦,我们可以稍后使其实现无障碍。”但是,稍后添加它要比在整个项目中集成无障碍实践花费更多时间。

Melanie:我经常说,“您是想付一次钱来构建它,还是想付两次钱来构建它?”

Ember.js 和核心无障碍团队

Alexandra:我知道您也参与了 Ember.js 框架核心团队。您是如何参与其中的?

Melanie:我受聘在摩根大通公司工作,负责他们的企业投资银行平台。Ember 是一个重型 JavaScript 框架,当您需要一个真正稳定(甚至有点枯燥)的基础时使用,它可以帮助您避免编写会损失大量银行资金的代码。Ember 具有向后兼容性保证——您可以每次都升级,即使您遇到主要版本也是如此。我们真的尝试逐步完成事情,这样就不会破坏您的应用程序。

无论如何,我参加了一个 Ember 会议,并认识了社区中的很多人。Ember 的人们非常友善。而且行为准则非常严格,我在其他地方还没有见过。

当我从军队退役后,我想进入安全领域。我参加了一个信息安全聚会,但没有看到其他女性。一位年纪较大的男人看着我说,“你确定你来对房间了吗,甜心?”

Alexandra:(呻吟)真伤人。而且这完全不足为奇。我也有过类似的经历。

Melanie:我想说这可能是 2011 年或 2012 年?情况已经发生了很大变化。那天晚上,我一直待在那个聚会上,以证明一个观点。我不会让那句话让我闭嘴。我开了玩笑,认真做了笔记,并参与了对话,以便人们知道我在那里。我觉得我的很多职业生涯都在证明男人是错的。

但是,我不希望女性仅仅为了证明男人是错的而成为软件工程师。我想成为一名软件工程师来构建令人惊叹的东西,因为这样做很有趣。女性应该有这种职业选择。

Alexandra:当然。

Melanie:我与 Ember 社区分享了我对无障碍的了解,因为显然作为一个银行平台,您必须符合美国联邦要求。Yehuda Katz 和 Tom Dale 说,“我们的团队存在一个差距。我们有很多 JavaScript 专家、性能专家、非常聪明的人,我们需要一个具有无障碍知识的人。”他们邀请我加入核心团队。

Melanie:我正在致力于帮助使 Ember 默认实现无障碍的倡议。这意味着当您说 ember new <my-app-name> 时,您应该立即通过 WCAG 成功标准。

Alexandra:我在 GitHub 上看到了 Ember 的无障碍工具的长列表。您是否发现 Ember 社区的人们很高兴为这些工具做出贡献?

Melanie:这是这项工作中非常令人兴奋的部分。我在 LinkedIn 工作时为 Ember 编写了无障碍 lint 规则。然后我离开了 LinkedIn 去 Hashicorp 工作,其他人仍在为 linter 做出贡献,因为它对他们很有用。这是这项工作中让我感到激动和兴奋的部分。

我们接受,作为基线,无障碍是一项公民权利。这是不容置疑的。

我们讨论的是:我们可以实施什么?何时实施?如何制作?我们如何教授它并使其向后兼容?我们如何在不需要开发人员构建或计划的巨大额外功能的情况下帮助他们提供无障碍支持?

Alexandra:无障碍是一项公民权利。这让我不寒而栗!这应该只是我们都知道的真理。

Melanie:我曾听人对我说过一些不了解情况的话,例如“如果我是盲人,我就不会使用互联网。”或者,“当残疾用户只占我的用户的 5%,而 90% 的用户可以使用时,我为什么要考虑残疾?”我不会进行这些讨论,因为它们通常被用来转移工作重点。

Melanie:当您编写无障碍代码时,您将获得性能提升,因为您正在考虑构建受 W3C 规范启发的站点。您将使用语义 HTML 而不是仅使用 div,并且您将使用标题。您将选择 <button> 而不是向 <div> 添加点击事件,并且您将获得性能增强。

做一件事:自动化无障碍

Alexandra:Web 开发人员应该做哪一件事来构建无障碍网站?

Melanie:添加自动化。从您拥有的任何框架、您正在使用的任何类型的代码的现有 linter 开始。我不在乎您使用哪一个!如果其中一条规则被破坏,您的构建应该中断。

Melanie:有些事情无法自动化,因为 AI 尚无法解读意图。例如,图像的 alt 文本值应该是有意义的,但这实际上意味着什么?目前,需要人来辨别这一点,而不是自动化。

Melanie:但是自动化工具可以告诉您,“您没有通过颜色对比度测试。”只需修复它。不要抗拒它,不要说,“但是我不想要,我更喜欢这种方式。”这与您无关。这关系到让我们所做的事情每天都为世界上的每个人所用。

Melanie:无障碍是一段旅程,您将永远在学习。我专门从事无障碍工作已超过十年,但我仍然一直在学习新事物!不要自我防卫,去做就对了。


关注 Melanie 的工作,请访问她的网站 melanie.codes 和 Twitter @a11yMel。查看她在 pleasefunda11y.coma11y-info.coma11y-automation.dev 上的无障碍资源。