计算机工程师和无障碍专家 Suleyman Gokyigit 分享了每个开发团队都应该采用的关键无障碍步骤。
译自 3 Lessons in Accessible Development From an Expert Tester,作者 Loraine Lawson。
计算机工程师 Suleyman Gokyigit 对他的开发团队有一个不太寻常的要求:程序员必须与有可访问性问题的人交谈。
对于 Gokyigit 来说,可访问性不仅仅是一个专业问题。它也是一个个人问题——他从两岁起就失明了。
除了担任 FIRE(一个第一修正案倡导组织)的首席信息官外,他还与无障碍测试公司 Applause 合作担任测试专家。Gokyigit 最近与 The New Stack 谈论了他作为技术人员和用户在无障碍开发方面学到的东西。
“作为一名失明人士,我非常依赖技术,”他说。“我所做的一切都在电脑上,使用网站。”
在没有特殊辅助设备或额外软件的情况下,这并不总是可能的。Gokyigit 在 1980 年代后期还是个孩子的时候就开始学习电脑,但电脑仍然相对原始,只有部分软件可以说话。
在 90 年代,情况开始发生变化,恰逢 Gokyigit 追求他对计算机科学的热情,这使他获得了加州理工学院帕萨迪纳分校的硕士学位。他说,起初,即使是操作系统在发布后的几年内也无法访问。
“随着时间的推移,这种差距越来越小,现在我们对大多数东西在发布时都是可访问的抱有相当合理的期望,”他说。“显然有一些例外,比如那些本质上非常图形化的东西,但你的生产力应用程序 [和] 大多数日常事物都可以开箱即用。”
他认为苹果公司在 2008 年发布 iPhone 3G 是第一家将无障碍设计融入现成产品的公司,使其成为第一个不需要额外硬件或软件(如 Job Access with Speech (JAWS) 屏幕阅读器)即可工作的主流设备,他说。
“这是一件大事,因为在那之前,即使东西是可访问的,你也可以很快地使它们变得可访问,但它仍然与之相关联有相当大的成本,即使是 JAWS,”他说。“所有这些东西都需要花钱,你必须想办法自己负担得起,或者你必须通过机构来获得。”
他补充说,即使 iPhone 具有无障碍功能,大多数应用程序也无法访问。苹果公司投入了所有必要的設計元素和框架来设计无障碍应用程序,但开发人员由于缺乏意识而经常不使用它们。
苹果公司从一开始就将无障碍功能融入产品的设计方法为技术人员提供了一个关键的教训。Gokyigit 说,等到第一次发布后再进行处理会更难解决,而且往往会被错误和功能需求所优先考虑。它还会导致返工和更高的成本。
“你会惊讶地发现有多少网站没有,例如,标记的图像,图像上的替代文本。”
— Suleyman Gokyigit,无障碍专家 “这真的需要从管理层和高层开始,并且需要成为整个设计过程的一部分,”他说。
Gokyigit 说,为无障碍设计和构建也为 所有用户提供更好的体验。他指出了 Flash,它不可访问,并创造了一种令人不快的用户体验。
“尤其是在 UI 设计方面,…… 当你第一次看它的时候,它可能看起来很吸引人,但实际使用它的体验最终会变得越来越复杂,”Gokyigit 说,他现在 用 Python 编程、Rust 和 Lua。“软件设计总体上也是如此。”
当 开发人员设计软件 时,他们必须考虑用户体验。失去对用户体验的关注,产品就不会被很好地接受,他说。
“无障碍只是为被认为是良好设计的提供了更强大的框架。我认为人们喜欢这样。它使事物不那么臃肿,通常更有效率,更快,”他说。
他警告说,无障碍功能也不是开发人员可以分阶段推出的。他在游戏行业看到了这种情况,一些功能本应可用,但实际上却无法使用。
“作为一个盲人,如果它只有 50% 的无障碍功能,我不会玩它。”
— Gokyigit
“当你谈论无障碍功能时,如果你只做了一半,让一些东西能用,而另一些东西不能用,那么你的所有努力都将白费,”他说。“作为一个盲人,如果它只有 50% 的无障碍功能,我不会玩它。这毫无意义。所以要做到位,并正确地完成它。”
他还补充说,前端开发人员应该遵循网络标准,例如网络内容无障碍指南 (WCAG)。
“你会惊讶地发现,有多少网站没有,例如,带标签的图像,图像上的替代文本,”Gokyigit 说。“它只是显示图形或未标记的按钮。我的意思是,写一个按钮的替代描述或替代文本只需要两秒钟,他们却不做。”
Gokyigit 提供了他的最后一条建议:让开发人员从最需要无障碍功能的人那里学习无障碍功能。
他补充说,任何公司都可以安排与残疾人交谈,即使员工中没有人有无障碍挑战。
他说,软件开发团队可以从周围打听开始,因为大多数人都认识残疾人,他建议道。如果这不可行,还有像 Applause 这样的公司提供残疾人专业测试,他说。另一种选择可能是联系支持残疾人的组织。
他还建议联系其他将技术无障碍作为优先事项的开发团队。
他说,程序员与有残疾的人见面很重要,因为这有助于开发人员了解他们的挑战,并为开发人员带来意想不到的好处。
“当他们看到自己的影响时,这真的很有激励作用。这是一种令人愉悦的感觉,他们应该感到高兴。”