跳到主要內容

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 屬性

屬性值用途
rolelink<a href> 的隱含角色就是 link,不需要明寫。沒有 href 的 <a> 隱含角色是 generic —— 那種情況下角色、焦點、鍵盤三件事都得自己補,不如改用 <button>。
href目標網址它不只是導覽,還一次決定了角色與可聚焦性。少了它,連結在無障礙樹裡不再是連結。
aria-label在 LinkedIn 上追蹤我們只有圖像的連結沒有文字可當名稱。名稱要說出目的地,不是描述圖案 —— 「LinkedIn 圖示」說不出按下去會去哪裡。
aria-hiddentrue圖示是純視覺,名稱已由 aria-label 提供。少了它,有些螢幕閱讀器會把圖示的檔名或路徑一起唸出來。

WCAG 對應

APG 規則

  • 元件語意

    Link 具有連結角色語意

    包含連結文字或圖像的元素須為原生連結,或設定 role=link。

  • 鍵盤操作

    按 Enter 鍵啟動 Link 並跳至目標位置

    當連結獲得焦點時,按 Enter 鍵可執行該連結,並將焦點或頁面導向連結目標。