確認所有自訂控制項都有適當的 role
和任何必要的 ARIA 屬性,這些屬性分別具有其屬性和狀態。舉例來說,自訂核取方塊需要 role="checkbox"
和 aria-checked="true|false"
才能正確傳達狀態。請參閱 ARIA 簡介,大致瞭解 ARIA 如何為自訂控制項提供缺少的語意。
如何手動測試
如要檢查所有自訂互動控制項是否具有適當的 ARIA 角色,請使用 Chrome 開發人員工具無障礙窗格或螢幕閱讀器測試頁面。JAWS 和 NVDA 是較熱門的 Windows 螢幕閱讀器兩大。VoiceOver 是 MacOS 內建的螢幕閱讀器。
使用 CSS,您可以為 <div>
和 <button>
元素設定樣式,藉此傳達相同的視覺預設用途,但同時使用螢幕閱讀器時,這兩種體驗會大有不同。<div>
只是一般的分組元素,因此螢幕閱讀器只會朗讀 <div>
的文字內容。<button>
會宣布為「按鈕」,這能夠讓使用者更清楚瞭解可與其互動的內容。另請參閱「語意和螢幕閱讀器」。
如何修正
如要解決這個問題,最簡單的方法通常是避免使用自訂互動式控制項。例如,將類似按鈕的 <div>
替換為實際的 <button>
。
如果您必須保留 <div>
,請將 role="button"
和 aria-pressed="false"
新增至 <div>
。
現在螢幕閱讀器會朗讀 <div>
的角色和互動狀態。
這些資訊的重要性
想實際瞭解輔助技術使用者體驗的體驗,唯一的方法就是透過螢幕閱讀器自行檢查內容。第一種使用螢幕閱讀器可讓您清楚瞭解內容的標記方式,以及輔助技術導覽是否出現障礙。如果您不熟悉輔助技術如何解讀語意標記,請參閱語意簡介。
另請參閱如何進行無障礙審查。