Link
Demo 與 Accessibility Tree
Accessibility Tree
觀察對象:原生的文字連結。
元素目前不在無障礙樹中。
Accessibility Tree
觀察對象:只有圖像的連結。
元素目前不在無障礙樹中。
Accessibility Tree
觀察對象:用 div 做出來的連結。
元素目前不在無障礙樹中。
鍵盤操作
| 按鍵 | 行為 |
|---|---|
| Enter | 啟動連結並前往目標。原生 <a href> 免費取得;用 div 加 role=link 的那一種要自己補 keydown,而且得同時處理 Enter 與點擊。 |
| Tab | 移入與移出連結。有 href 的連結自動在 Tab 順序裡;沒有 href 的 <a> 不可聚焦,div 版則要自己補 tabindex=0。 |
ARIA 屬性
| 屬性 | 值 | 用途 |
|---|---|---|
role | link | <a href> 的隱含角色就是 link,不需要明寫。沒有 href 的 <a> 隱含角色是 generic —— 那種情況下角色、焦點、鍵盤三件事都得自己補,不如改用 <button>。 |
href | 目標網址 | 它不只是導覽,還一次決定了角色與可聚焦性。少了它,連結在無障礙樹裡不再是連結。 |
aria-label | 在 LinkedIn 上追蹤我們 | 只有圖像的連結沒有文字可當名稱。名稱要說出目的地,不是描述圖案 —— 「LinkedIn 圖示」說不出按下去會去哪裡。 |
aria-hidden | true | 圖示是純視覺,名稱已由 aria-label 提供。少了它,有些螢幕閱讀器會把圖示的檔名或路徑一起唸出來。 |
WCAG 對應
- 等級 A1.3.1 資訊及關聯性
連結用原生 <a href> 實作,連結的語意與關聯不靠視覺樣式傳達。
- 等級 A2.1.1 鍵盤
Enter 即可啟動,不需要滑鼠。
連結文字本身就說得出目的地;圖像連結以 aria-label 補上名稱。
- 等級 AA2.4.7 焦點可見
連結聚焦時有橘色 focus ring。
- 等級 A4.1.2 名稱、角色、值
連結具備 link 角色與有意義的無障礙名稱。
APG 規則
- 元件語意
Link 具有連結角色語意
包含連結文字或圖像的元素須為原生連結,或設定 role=link。
- 鍵盤操作
按 Enter 鍵啟動 Link 並跳至目標位置
當連結獲得焦點時,按 Enter 鍵可執行該連結,並將焦點或頁面導向連結目標。