Remix 应用程序中的无障碍性与一般的 Web 上的无障碍性非常相似。使用正确的语义标记并遵循 Web 内容无障碍指南 (WCAG) 将帮助您完成大部分工作。
Remix 在可能的情况下使某些无障碍实践成为默认设置,并在无法实现的情况下提供 API 来帮助您。我们正在积极探索和开发新的 API,以便将来更容易实现这一点。
<Link>
组件呈现一个标准的锚标记,这意味着您可以免费从浏览器获得其无障碍行为!
Remix 还提供了 <NavLink/>
,它的行为与 <Link>
相同,但当链接指向当前页面时,它还为辅助技术提供上下文。这对于构建导航菜单或面包屑非常有用。
如果您在应用程序中呈现 <Scripts>
,则需要考虑一些重要事项,以使客户端路由对用户更具无障碍性。
对于传统的 多页网站,我们不必过多考虑路由更改。您的应用程序呈现一个锚标记,其余的由浏览器处理。如果您的用户禁用 JavaScript,您的 Remix 应用程序应该已经默认以这种方式工作了!
当 Remix 中的客户端脚本加载时,React Router 会接管路由并阻止浏览器的默认行为。Remix 不会对路由更改时的 UI 做出任何假设。因此,您需要考虑一些重要功能,包括
在 2019 年,Marcy Sutton 主导并发布了用户研究的发现,以帮助开发人员构建可访问的客户端路由体验。 我们鼓励您详细阅读该文章。 我们正在积极研究和测试内部解决方案以及新的 API,以简化此过程。