可访问性
Next.js 团队致力于让所有开发者(及其最终用户)都能轻松使用 Next.js。通过在 Next.js 中默认添加可访问性功能,我们旨在让所有人都能更方便地访问网络。
路由公告
在服务器上渲染的页面(例如使用 <a href> 标签)之间进行切换时,屏幕阅读器和其他辅助技术会在页面加载时宣布页面标题,以便用户了解页面已更改。
除了传统的页面导航,Next.js 还支持客户端过渡以提高性能(使用 next/link)。为了确保客户端过渡也能被辅助技术宣布,Next.js 默认包含一个路由公告器。
Next.js 路由公告器首先检查 document.title,然后是 <h1> 元素,最后是 URL 路径名,以查找要公告的页面名称。为了获得最佳的可访问用户体验,请确保应用程序中的每个页面都具有唯一且描述性的标题。
代码检查
Next.js 提供开箱即用的集成 ESLint 体验,包括 Next.js 的自定义规则。默认情况下,Next.js 包含 eslint-plugin-jsx-a11y,以帮助及早发现可访问性问题,包括对以下内容的警告:
- aria-props
- aria-proptypes
- aria-unsupported-elements
- role-has-required-aria-props
- role-supports-aria-props
例如,此插件有助于确保您为 img 标签添加替代文本,使用正确的 aria-* 属性,使用正确的 role 属性等等。
可访问性资源
- WebAIM WCAG 检查清单
- WCAG 2.2 指南
- A11y 项目
- 检查前景和背景元素之间的颜色对比度
- 在处理动画时使用
prefers-reduced-motion
这有帮助吗?