跳转到内容

Accessibility

可访问性

Remix 应用中的可访问性与一般 Web 上的可访问性非常相似。使用适当的语义标记并遵循 Web 内容可访问性指南 (WCAG) 将帮助您实现大部分目标。

Remix 尽可能将某些无障碍做法设为默认,并在无法实现时提供 API 来提供帮助。我们正在积极探索和开发新的 API,以便将来让这一切变得更加容易。

链接

<Link> 组件 呈现标准锚标记,这意味着您可以免费从浏览器获取其可访问性行为!

Remix 还提供了 <NavLink/>,其行为与 <Link> 相同,但当链接指向当前页面时,它还会为辅助技术提供上下文。这对于构建导航菜单或面包屑非常有用。

路由

如果您在应用中渲染 <Scripts>,则需要考虑一些重要事项,以使您的用户更易于访问客户端路由。

对于传统的多页网站,我们不必过多考虑路由变化。您的应用会呈现锚标记,其余部分由浏览器处理。如果您的用户禁用 JavaScript,您的 Remix 应用应该已经默认以这种方式工作!

当 Remix 中的客户端脚本加载时,React Router 会控制路由并阻止浏览器的默认行为。当路由发生变化时,Remix 不会对您的 UI 做出任何假设。因此,您需要考虑一些重要功能,包括:

  • 焦点管理:当路由发生变化时,哪个元素会获得焦点?这对于键盘用户来说很重要,对屏幕阅读器用户也很有帮助。
  • 实时区域公告:当路由发生变化时,屏幕阅读器用户也会受益于公告。您可能还希望在某些过渡状态下通知他们,具体取决于变化的性质以及预计加载需要多长时间。

2019 年,Marcy Sutton 领导并发表了用户研究成果,以帮助开发人员构建可访问的客户端路由体验。我们鼓励您详细阅读这篇文章。我们正在积极研究和测试内部解决方案以及新的 API,以简化此过程。