Olutimilehin Olushuyi 是一位律师,刚开始接触无障碍功能。我们讨论了他与 JavaScript 的斗争、国际标准以及阅读网站内容的重要性。
此帖子是学习无障碍功能!系列帖子的一部分,重点介绍了一位社区专家。
Alexandra Klepper:您是如何开始接触 Web 无障碍功能的?

Olutimilehin Olushuyi (Shuyi):好的,这是一个有趣的故事。我是一名律师。 在学校的最后一年,我意识到自己不想在余生从事法律工作。因此,我曾尝试退学,但我的院长兼“学校母亲”Ayodele Atsenuwa 教授说:“我们来谈谈这件事。你已经到了最后一年,坚持下去吧。”
最终,我很高兴她说了那句话,也很高兴我完成了那本书,因为这本书一直在帮助我开展无障碍工作。Atsenuwa 教授问我,我到底想做什么,但我却一无所知。
我开始寻找新的职业机会,并与一些想创办初创公司但需要律师的人取得了联系。虽然那次机会并不适合我,但我第一次知道,我们使用的所有产品都是由人编写代码实现的。我想,“我可以接住它。”我开始自学 HTML 和 CSS。然后,我开始学习 JavaScript,结果... [笑] JavaScript 做了 JavaScript 的事情,所以我回去专注于我的前端语义语言。
我偶然发现了 Andy Bell 和 Heydon Pickering 的作品。我购买了 Every Layout,它改变了我的生活。Andy 一直在说无障碍功能,但我不知道在这种情况下是什么意思。我意识到,即使不知道如何编写 JavaScript,我也许也能从事 Web 开发工作!
我联系了 Heydon,他非常乐于接受,回复也非常及时。似乎无障碍领域的每个人都是如此,我对此非常感激。
Alexandra:我完全同意,我接触过的每个人都非常友善和乐于助人。
Shuyi:当然。目前,我主要从事倡导工作。我居住在尼日利亚,该国法律并未强制要求网站实现无障碍功能。《残障人士歧视法案》于 2018 年通过。 但没有关于网站无障碍功能的法律,只有关于实体无障碍功能的法律。 它类似于美国的《美国残疾人法案》(ADA)。我们的法律结构不尽合理,但总比没有好。
我意识到,如果我想有机会做出改变,成为一名专注于无障碍功能的开发者,首先必须让生态系统了解无障碍需求。我开始在 Twitter 上发布有关无障碍倡导的推文。我与公司和品牌进行了沟通,因为需要他们的支持才能实现无障碍功能。
Alexandra:我敢打赌,您的法律背景在处理无障碍问题时非常有用。您实际上可以阅读新法规,并以普通人无法理解的方式理解它。包括普通开发者。
Shuyi:我认为,我的法律背景带来的最大好处之一就是,我可以阅读无休止的背景资料和非常长的文件,而不会感到疲倦。我只需盘腿坐下,将笔记本电脑放在腿上,然后开始阅读。并阅读。并阅读。它具有以下优势:
Alexandra:我的意思是…我太羡慕了,这是一项很棒的技能。您认为自己会与政府合作,推动通过数字无障碍法吗?
Shuyi:说实话,我认为不会。与政府互动是完全不同的游戏。让政府采取行动需要花费太长时间,尤其是对于个人而言。这类工作更适合有人员和资源来促成变革的 NGO 和其他组织。
这项实体法案花费了很长时间才通过,而无障碍需求早已远远超出了几年前法案中的规定。这就像初稿通过了,即使世界已经发生了变化。
最终,无论它有多过时,我们都很高兴有东西可以依赖。有法律需要执行。
创建无障碍布局
Alexandra:我阅读了 Smashing Magazine 上发表的<article> 与 <section>:如何选择合适的工具一文,以及启发这篇文章的 Twitter 帖子串。您认为最大的收获是什么?您希望 Web 开发者做些什么?
Shuyi:开发者必须先阅读内容,然后才能开始构建布局。
最初,在设计网站时,我只是简单地统计了段落数量,然后将它们放在了部分和文章中,没有过多考虑。不过,有人提醒我部分使用不当,我这才第一次想到这个问题。阅读内容是打造更优质产品的一种方式。
Alexandra:我当开发者时,经常有自由职业客户说:“哦,先帮我们建个网站,我们稍后会填充内容。”当然,有些网页具有自动上下文,例如联系页面。但要了解需要构建多少个网页以及需要哪种类型的自定义支持,只有在获得内容后才能回答这些问题。
Shuyi:在了解我现在所知道的一切之前,我的最佳客户会给我提供一般的设计想法,然后我会使用大量乱数假文来构建网站。我会弄清楚所有这些事情。但是,当您意识到内容基础架构对网络用户的影响有多大时,您就会意识到在网络上构建内容的标准流程实际上存在多少缺陷。您在构建内容时必须有明确的意图。
很多无障碍基础设施工作根本没有受到关注,这让我感到非常难过。
Alexandra:您是如何进行研究来确保文章中提供的建议是正确的?
舒怡:首先,我将信息来源分开,这是法律中会做的事情,即区分主要来源和次要来源。主要来源是实际法律(例如《美国残疾人法案》和尼日利亚的法律),次要来源是专家对法律的解读。
我决定仅参考主要来源:HTML、WCAG 和 WAI-ARIA 规范。我读过很多其他人的作品,其中不乏优秀之作。但最终,由于意见分歧太大,我决定只能将这些意见作为有用的背景信息,而不能将其视为正确答案。
打造无障碍社区
Alexandra:您提到过,您尝试将 Twitter 信息流打造成一个无障碍平台。自 Smashing Magazine 文章发布以来,您是否在 Twitter 上就自己学到的知识进行过许多其他对话?
Shuyi:刚开始几天,我完全摸不着头脑,不知道 Twitter 是什么。 有很多人关注了我,比如 200 多人。起初我很兴奋,但后来却很害怕。比如,我只是刚刚起步,别指望我能提供什么人生哲理。我被添加到了很多 Twitter 列表中。
但我也是一个人。我发了很多关于模糊的非无障碍功能、非 Web 开发者相关内容的推文。我不想让人们失望。请不要仅仅因为无障碍功能而关注我!我会觉得自己让你失望了。
Alexandra:[笑] 我觉得很多人都这么认为。我当然会考虑我的 Twitter 角色。
Shuyi:大多数对文章本身的回答都是正面的。我收到了对这篇文章的一条回复,但这条回复有点争议性。 Vitaly 是我的编辑,他直接联系我,分享了这条评论,并要求我进行调查。事实证明,此人引用的是 MDN 文档,该文档指出所有文章都应包含标题元素。我建议该部分应根据规范包含标题元素。
MDN 文档建议添加此标头,但并未真正说明其好处。
当然,规范的更改频率低于用户需求的更改频率,因此只要您能证明自己更改构建方式的决定是合理的,就可能没问题。
下面我举个例子。假设您要构建一个名为“Prices”的卡片组件,其中包含三个元素。Hayden Pickering 建议将每张卡片都放入一个列表元素中。这样一来,当使用辅助技术 (AT) 的用户到达该部分时,系统会向他们播报价格清单中有 3 个项目。您可以设置列表样式,使其不包含项目符号,并根据需要设置其外观,但这样做有助于 AT 用户优先获取有用信息。如果您将每个商品都封装在 div 中,则只会关注视觉方面,这无助于有视觉障碍的用户。 先考虑用户,再考虑设计。
我将这个想法应用到了博客页面上。博文实际上位于列表元素中。这样,当用户进入该页面时,系统会提醒他们该页面上共有多少篇帖子。
因此,在了解 MDN 做出该建议的原因之前,我仍坚持文章中的建议。
Alexandra:由于 MDN 文档是开源的,您是否会建议更改并更新这些文档?
Shuyi:说实话,我还没有为任何开源项目做出贡献。不过,这正是我想做的工作,当然比与政府合作要好得多。
规范与实现
Alexandra:听起来,一个重要的结论是,有时规范中说的是一件事,但实现和其他外部文档可能会建议做其他事情。人们如何决定采纳谁的建议?
Shuyi:我经常思考这个问题。我不确定自己是否具备回答该问题所需的经验。我们一直在努力确保未来兼容性。随着网络的变化,持续增强功能是明智之举。这样一来,当规范更新时,您无需改造网站。您做出选择后,三年后规范发生变化的可能性有多大。
我们现在做出的每一个选择都是我们对未来网络发展方向的最佳猜测,也是我们对规范撰写者未来方向的猜测。
Alexandra:网络在不断变化,一个人不可能知道所有答案!您在撰写时,规范是否发生了变化?
Shuyi:我是在文档大纲模型从规范中移除之前开始撰写文章的。该模型建议根据嵌套深度自动计算标题级别。但它从未真正实现,这给开发者带来了很多问题。建议开发者手动修正标题。
如果这篇文章是在规范更改之前发布的,我可能会回去进行修改,毕竟它是在 Smashing Magazine 上发表的。但如果它发布在我的个人博客上,我会这样做吗?一般不会。这还只是在讨论更新文章,而不是更新基于不断变化的规范构建的整个网站。
我们是否希望开发者在规范发生变化时立即更改其网站?当然不会。他们在构建网站时会计算出最佳方案,并接受这些选择。规范会发生变化,规范可能没有答案。
无障碍功能作为一种职业
Alexandra:您会花多少时间考虑全球无障碍标准?世界各地的标准和法律各不相同。我确信您已经阅读过很多法律,并且确信有些法律会要求您做相反的事情。在这种情况下,您会怎么做?
Shuyi:我曾考虑过开展自由职业的无障碍服务业务。我进入了一个全球网络无障碍聊天频道,询问有关如何入门的提示。Adrian Roselli 联系我说:“您的客户会依赖您来确保他们遵守法律,这可能会产生严重后果。在提供服务之前,请先了解您擅长的地区。了解您熟悉的法律,这样您在为自己谋生的同时,就不会让客户承担巨额责任。他们相信您了解相关法律。”
当然,许多企业寻求无障碍功能方面的帮助,是因为法律有相关要求,而不仅仅是因为这是正确之举。资本主义是实现无障碍功能的根本原因。归根结底,发生这种情况的原因并不重要,重要的是产品是否可供使用。
在完全确信自己可以帮助客户遵守其所在地区的法律之前,我暂停了自由职业。标准化至关重要,WCAG 的努力和影响怎么强调都不为过。有了关于网络应如何运作的中央框架,政府可以更轻松地依赖同一标准。 但当然,并非所有政府都会接受这些标准。
Alexandra:在无障碍之旅中,您从优秀人士那里获得了许多宝贵的建议。在决定将此作为职业之前,您是否希望自己能获得其他建议?
Shuyi:虽然这不会改变我的职业道路,但如果能早点知道,无障碍工作虽然崇高,但却深受资本主义的影响,那该有多好。
Alexandra:[笑] 哦,是的。
Shuyi:我是初级工程师。我在无障碍功能方面有 1 年的经验。 尤其是如果您像我一样位于非洲,那么无障碍领域的职位空缺非常有限。公司是招聘经理,一个人即可满足所有必要的法律要求。但我希望加入一个能让我学习和培养技能的团队。
我非常兴奋,因为我无需学习 JavaScript 就能开始工作,只需学习规则并帮助团队应用这些规则即可。但代理机构的开发者职位要求我具备 JavaScript 经验。我搬到了新城市,并参加了 JavaScript 训练营,以便满足这些要求。对于其他正在探索无障碍功能的人员,请注意,您必须先专注于提升开发技能。
我实话实说,我还是不喜欢 JavaScript。
做一件事:添加键盘焦点
Alexandra:我从开发者转行成为技术文档工程师,是不是因为 JavaScript?是的,我非常讨厌它。祝您在训练营中一切顺利。
您希望开发者采取哪些措施来提高网站的可访问性?
Shuyi:键盘焦点。我衷心地恳求您。我的触控板坏了,因此我在旅途中只能依靠键盘浏览网页,但几乎每个网站都非常糟糕。键盘焦点不仅对残障人士有益。
打造无障碍平台可让每个人受益。
在 Twitter 上关注 Shuyi 的作品:@shuyiolutimi。