跳到主要內容

Breadcrumb

Demo 與 Accessibility Tree

Accessibility Tree

觀察對象:外層的導覽地標。

元素目前不在無障礙樹中。

Accessibility Tree

觀察對象:路徑本身的清單。

元素目前不在無障礙樹中。

Accessibility Tree

觀察對象:代表目前頁面的那個連結。

元素目前不在無障礙樹中。

鍵盤操作

按鍵行為
Tab依序移到每一層的連結。目前頁面若不是連結則會被跳過。
Enter前往該層。

ARIA 屬性

屬性值用途
(結構)<nav>Breadcrumb 必須放在導覽地標內,使用者才能從地標清單直接跳進來。用 <nav> 即隱含 navigation 角色。
aria-label麵包屑導覽地標必須有名稱。一個頁面通常有主導覽、頁尾導覽、麵包屑數個 nav,沒有名稱在地標清單裡就是好幾個「導覽」,分不出誰是誰。
aria-currentpage標示代表目前頁面的那個連結。若目前頁面不做成連結,可以省略 —— 不能點本身已經說明它就是當下所在。
aria-hiddentrue層級之間的斜線是純視覺,唸出來只會干擾。
(結構)<ol>層級是有先後的,用有序清單而非 <ul>,順序資訊才進得了無障礙樹。

WCAG 對應

  • 以 nav 地標與有序清單表達「這是一組有先後的路徑」,而不是只靠視覺上的斜線。

  • 導覽地標的名稱要能說明它是什麼,讓地標清單裡的每一項都可辨識。

  • Breadcrumb 本身就是在回答「我在網站的哪裡」,aria-current 讓這個答案也進到無障礙樹。

  • 導覽地標具備名稱,目前頁面以 aria-current=page 表達狀態。

APG 規則

  • 頁面結構

    Breadcrumb 導覽須位於導覽地標內

    Breadcrumb 置於導覽地標內

  • 頁面結構

    Breadcrumb 導覽地標須具備無障礙名稱

    Breadcrumb 導覽地標須透過 aria-label 或 aria-labelledby 提供無障礙名稱

  • 導覽機制

    Breadcrumb 的目前頁面鏈結須正確設定成 aria-current

    代表目前頁面的連結應設定 aria-current="page";若代表目前頁面的元素不是連結,則 aria-current 可省略。