鍵盤

為了完全可訪問,網頁必須能夠由僅使用鍵盤訪問和控制它的人操作。這包括螢幕閱讀器使用者,但也可能包括難以操作指向裝置(如滑鼠或軌跡球)的使用者、滑鼠當前無法使用或無論何時可能都更喜歡使用鍵盤輸入的使用者。

可聚焦元素應具有互動語義

如果可以使用鍵盤聚焦某個元素,則該元素應具有互動性;也就是說,使用者應該能夠對其執行某些操作併產生某種變化(例如,啟用連結或更改選項)。

注意:此規則的一個重要例外是,如果元素應用了role="document"屬性,位於互動式上下文(如role="application")內。在這種情況下,聚焦巢狀文件是將輔助技術返回到非互動式狀態(通常稱為“瀏覽模式”)的唯一方法。

大多數互動式元素預設情況下都可聚焦;您可以透過向其新增tabindex=0屬性值來使元素可聚焦。但是,只有在您也使元素具有互動性(例如,透過為鍵盤事件定義適當的事件處理程式)後,才應新增tabindex

另請參閱

避免使用大於零的tabindex屬性

tabindex屬性指示元素可以使用鍵盤聚焦。值為零表示該元素是預設焦點順序的一部分,該順序基於 HTML 文件中元素的排序。正值將元素置於預設排序之前;具有正值的元素將按其tabindex值的順序聚焦(1、然後 2、然後 3 等)。

當焦點順序與頁面的邏輯順序不同時,這會給僅使用鍵盤的使用者造成混淆。更好的策略是構建 HTML 文件,以便可聚焦元素按邏輯順序排列,而無需使用正tabindex值重新排序它們。

另請參閱

可點選元素必須可聚焦,並且應具有互動語義

如果可以使用指向裝置(如滑鼠)單擊某個元素,則它也應可以使用鍵盤聚焦,並且使用者應該能夠透過與其互動來執行某些操作。

如果為元素定義了onclick事件處理程式,則該元素是可點選的。您可以透過向其新增tabindex=0屬性值來使其可聚焦。您可以透過定義onkeydown事件處理程式使其可使用鍵盤操作;在大多數情況下,事件處理程式採取的操作對於這兩種型別的事件都應該相同。

另請參閱

互動式元素必須能夠使用鍵盤啟用

如果使用者可以使用觸控或指向裝置與元素互動,則該元素還應支援使用鍵盤進行互動。也就是說,如果您為觸控或點選事件定義了事件處理程式,則還應為鍵盤事件定義事件處理程式。鍵盤事件處理程式應有效地啟用與觸控或點選處理程式相同的互動。

另請參閱

互動式元素必須可聚焦

如果使用者可以與元素互動(例如,使用觸控或指向裝置),則它應可以使用鍵盤聚焦。您可以透過向其新增tabindex=0屬性值來使其可聚焦。這會將元素新增到可以透過按Tab鍵聚焦的元素列表中,其順序是在 HTML 文件中定義的此類元素的順序。

另請參閱

可聚焦元素必須具有焦點樣式

任何可以接收鍵盤焦點的元素都應具有指示元素何時處於焦點的可見樣式。您可以使用:focus:focus-visibleCSS 偽類來實現。

瀏覽器預設情況下會為連結和輸入欄位等標準可聚焦元素提供特殊樣式,因此您可能不需要為這些元素指定焦點樣式,除非您希望焦點樣式更具特色。

如果您建立了自己的可聚焦元件,請確保也為其定義焦點樣式。

另請參閱