無障礙性
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 指南
- The A11y Project
- 檢查前景和背景元素之間的色彩對比比率
- 處理動畫時使用
prefers-reduced-motion