CA.gov Alpha团队的任务是与CHHS创新办公室和加州技术部合作开发加利福尼亚州冠状病毒应急网站。
我们面临的挑战是:创建一个可伸缩的、可访问的、稳定的网站,在快速变化的公共卫生危机中易于更新。在四天内完成。
这一挑战对我们目前在其他州、城市和国家工作的数字同事来说是熟悉的。我们对旧金山、新泽西和英国等地正在进行的工作印象深刻,并对此表示赞赏。
就像那些团队一样,我们一直专注于在这个危机时刻对用户需求进行优先排序。我们认为分享我们是如何使用技术/开发决策来实现这一点可能会很有用。
对于我们的团队,我们首先回到了我们的核心原则之一:“始终可访问”。
当然,我们认识到“始终可访问”并不是一种新颖的方法。在加州,无障碍是该州数字战略的指导原则。我们的工作只是国家确保信息和服务可获得的更大承诺的一部分。
新颖的是,我们的团队正在拓宽州政府可访问性的定义,将绩效作为核心组成部分。性能作为可访问性。
我们的目标是使COVID19.CA.gov在任何类型的硬件或任何级别的带宽上快速、方便地使用。
我们还不是100%可访问的--但可访问性是我们的北极星,也是我们每天都在努力的目标。
我们运行自动审核,为我们提供每个构建的性能和可访问性评分。在这些自动化工具上获得高分是一个很好的初始指标,但不是全部。我们还手动测试网站,确保我们可以通过其他导航模式访问。我们使用屏幕阅读器进行测试,这可以让我们了解网站受损用户对我们网站的体验。这有助于找到并消除可能使人们陷入困境或减慢速度的互动。
我们感谢加州康复部的支持。DOR团队培训我们使用这些屏幕阅读器,并帮助我们理解和避免许多经常意外产生的常见问题。
我们感谢CHHS创新办公室,他们的团队成员是我们工作的第一线,使我们的内容变得易懂和清晰。
速度快的网站比速度慢的网站更成功。而且,有些工具比其他工具更容易创建快速站点。
我们的团队使用Bootstrap,默认情况下,Bootstrap非常大。因此,在部署到生产环境之前,我们要确保运行CSS修剪过程来修剪所有未使用的代码。我们也避免使用Bootstrap javascript小部件,因为我们更喜欢使用小的、低依赖性的Web组件。
以较少的代码空间提供所需的布局和交互性,使我们能够更轻松地实现性能目标。我们通过发布Web组件来创建轻型前端交互性。当我们必须构建自己的组件时,我们使用一些开放WC构建工具,这些工具通过提供在隔离和集成测试模式中运行组件的模型来提供帮助。
我们主要依赖于Web组件标准的自定义元素部分。这使我们可以通过NPM安装和使用页面上的标记轻松地使用不同属性上的组件,从而提供最大程度的灵活性和重用性。出于许多原因,使用Web组件构建新的前端属性是用户的首选:
Web组件可以单独修改和版本化,因此用户可以选择要安装的版本。
这些优势给新代码带来了更好的长寿机会,我们当前的努力提供的是未来利益而不是技术债务的可能性也更高。
我们意识到,在必要时构建我们自己的组件是一项重大决定。只有当我们找不到使用依赖项并提供所需UI的现有选项时,我们才会执行此操作。当创建新组件时,我们在浏览器中运行测试,一直到IE11,并确保它们遵守我们在可访问性和性能方面的所有其他标准。
我们很自豪能在灯塔绩效审计中获得高分,但这对政府工具来说是不够的,特别是在这个危机时期。
我们需要超越这一点,以确保所有用户都能够获得出色的体验,无论他们的设备是什么。这一点尤其正确,因为用户无法四处寻找不同的、更好的政府体验。
所以我们买了板球无线商店最便宜的手机。一款售价20美元的安卓9设备,没有合同约定,已经成为我们努力实现可访问性的最有用和最有效的工具之一。
这款设备的体验与我们在最新的iPhone或Google Pixel设备上看到的相当不同。提供大量javascript的页面很慢