團隊適用的無障礙工具

如何將無障礙設計納入團隊的程序。

讓網站更容易存取可能會是一項艱鉅的任務。如果您是第一次接觸無障礙設計,可能會因為這個主題的廣泛性,而不知道該從何處著手。畢竟,為了滿足各種能力需求,我們必須考慮各種問題。

請記住,無障礙設計需要集結眾人的力量。每個人都扮演要角。本文將說明各個主要領域 (專案經理、使用者體驗設計師和開發人員) 的標準,協助他們在工作流程中納入無障礙最佳做法。

專案經理

任何專案經理的首要目標,都是盡量在每個里程碑中納入無障礙性工作,確保這項工作與效能和使用者體驗等其他主題同樣重要。以下是幾項檢查清單項目,請在處理程序時留意。

  • 為團隊提供無障礙訓練。
  • 找出網站或應用程式中的關鍵使用者旅程。
  • 嘗試將無障礙檢查清單納入團隊程序。
  • 盡可能透過使用者研究評估網站或應用程式。

無障礙訓練

網路上有許多免費的實用資源,可協助您瞭解網路無障礙設計。請團隊撥出時間研究這個主題,這樣就能更輕鬆地在過程初期納入無障礙設計。

Google 提供的部分資源包括:

Google 網頁無障礙設計課程:為期數週的互動式訓練課程。

無障礙功能基礎知識:無障礙功能指南和最佳做法。

Material Design 指南:無障礙設計:一組包容設計的 UX 最佳做法。

找出關鍵使用者歷程

每個應用程式都有使用者需要採取的主要動作。舉例來說,如果您正在建構電子商務應用程式,則每位使用者都必須能夠將商品加入購物車。

主要使用者歷程:使用者可以將商品加入購物車。

有些動作可能較不重要,也許只會偶爾執行。舉例來說,變更虛擬化身相片是一項不錯的功能,但可能不是每項體驗都需要。

找出應用程式中的主要和次要動作,有助於您將可用於優先處理無障礙功能的工作。日後,您可以將這些動作與無障礙檢查清單結合,以便追蹤進度並避免回歸。

納入無障礙檢查清單

無障礙設計的範圍相當廣泛,因此建議您列出一份檢查清單,列出需要考量的重點項目,確保您已涵蓋所有基礎。

市面上有許多無障礙檢查清單,以下列舉幾個業界範例:

WebAIM WCAG 檢查清單 Vox 無障礙規範

有了檢查清單,您就可以查看主要和次要動作,開始篩選仍待完成的工作。您可以針對這個程序採取相當明確的策略,甚至建立主要和次要動作的矩陣,並針對這些程序中的每個步驟,判斷是否有任何缺少無障礙性位元。

這張表格將主要用途列為資料列,檢查清單項目列為資料欄。

使用使用者研究進行評估

與實際使用者面對面,觀察他們嘗試使用應用程式的過程,是瞭解使用者體驗的最佳方式。如果您要將無障礙功能加到現有體驗,這個程序有助於快速找出需要改善的部分。如果您要開始新專案,早期使用者研究可協助您避免花費過多時間開發難以使用的功能。

盡可能納入來自不同使用者族群的意見回饋。請考量主要使用鍵盤瀏覽,或仰賴螢幕閱讀器或螢幕放大鏡等輔助技術的使用者。

使用者體驗設計師

由於人類設計時往往會受到自身偏見的影響,如果您沒有身心障礙,也沒有身心障礙的同事,那麼您可能無意間只為部分使用者設計。在進行設計時,請問自己:「有哪些類型的使用者可能會依賴這項設計?」以下是一些可讓流程更具包容性的技巧。

  • 內容具有足夠的色彩對比。
  • 定義分頁順序。
  • 控制項具有可供存取的標籤。
  • 您可以透過多種方式與 UI 互動。

內容具有良好的色彩對比

大多數網站的主要目標,是透過文字或圖片向使用者傳達資訊。不過,如果這類內容對比度偏低,部分使用者 (尤其是視障人士) 可能就無法順利閱讀。這可能會對使用者體驗造成負面影響。為解決這個問題,請確保所有文字和圖片都有足夠的色彩對比。

對比度是透過比較前景和背景顏色的亮度來測量。對於較小的文字 (小於 18 pt 或 14 pt 的粗體文字),建議使用 4.5:1 的最低對比率。如果是較大的文字,則可將此比率調整為 3:1。

在下圖中,左側的文字符合這些對比度下限,而右側的文字對比度偏低。

並列文字範例。一個是對比度足夠,另一個則是對比度偏低。

有許多工具可用來測量色彩對比度,例如 Google 的 Material Color ToolLea Verou 的 Contrast Ratio app 和 Deque 的 aXe

定義分頁順序

分頁順序是指使用者按下分頁鍵時,元素獲得焦點的順序。對於主要使用鍵盤瀏覽的使用者,Tab 鍵是他們瀏覽畫面上所有內容的主要方式。就像滑鼠游標一樣。

理想的分頁順序應遵循閱讀順序,從頁面頂端流向底部,並將較重要的項目放在順序較前的位置。如此一來,使用鍵盤的使用者就能更有效率地快速存取這些項目。

設計合成圖,其中互動控制項已編上編號。

上方的模擬介面已標上編號,以顯示分頁順序。建立類似的模擬畫面,有助於識別所需的分頁順序。接著,您可以將這個檔案與開發人員和品質確保測試人員分享,確保對方能正確實作及測試。

控制項具有可供存取的標籤

對於螢幕閱讀器等輔助技術使用者而言,標籤可提供原本僅以視覺方式呈現的資訊。舉例來說,如果搜尋按鈕只是放大鏡圖示,可以加上「搜尋」的無障礙標籤,以補足缺少的視覺提示。

以下提供幾個簡單的建議,供您在設計無障礙標籤時參考:

  • 簡潔扼要:長篇大論的說明可能會讓使用者感到厭煩。
  • 請勿加入控制項類型或狀態,如果控制項的程式碼編寫正確,螢幕閱讀器就會自動朗讀。
  • 使用主動動詞 - 使用「搜尋」,而非「放大鏡」。
設計合成圖,其中控制項標有無障礙標籤。

建議您建立模擬內容,並為所有控制項加上標籤。您可以將這份資訊分享給開發團隊和品管團隊,以便進行實作和測試。

多種與 UI 互動及瞭解 UI 的方式

我們很容易假設所有使用者主要都是使用滑鼠與網頁互動。設計時,請考量使用者如何使用鍵盤與控制項互動。

請規劃重點狀態!也就是說,當使用者以 Tab 鍵或按下方向鍵將焦點移至控制項時,該控制項會呈現什麼樣貌。建議您盡早規劃這些狀態,而非在後續設計中勉強加入這些狀態。

最後,您必須確保使用者在任何互動點都能透過多種方式瞭解內容。請盡量不要只使用顏色來傳達資訊,因為色覺障礙的使用者可能會錯過這些細微的提示。最常見的例子是無效的文字欄位。除了使用紅色底線表示問題,也建議加入一些說明文字。這樣一來,您就能涵蓋更多情況,並提高使用者發現問題的機率。

開發人員

開發人員的角色是將焦點管理和語意結合,打造出完善的使用者體驗。以下是開發人員在處理網站或應用程式時,應留意的一些事項:

  • 分頁順序符合邏輯。
  • 焦點已正確管理且可見。
  • 互動式元素支援鍵盤。
  • 視需要套用 ARIA 角色和屬性。
  • 元素已正確標示。
  • 自動化測試。

邏輯分頁順序

inputbuttonselect 等原生元素會免費加入分頁順序,並可透過鍵盤自動取得焦點。但並非所有元素都會收到相同的行為!具體來說,divspan 等一般元素並未納入分頁順序。也就是說,如果您使用 div 建立互動控制項,就必須額外進行作業,讓鍵盤可存取該控制項。

兩個選項如下:

  • 為控制項提供 tabindex="0"。這至少可讓按鍵可聚焦,但您可能需要額外進行作業,才能支援按鍵操作。
  • 盡可能使用 button 而非 divspan 來處理任何類似按鈕的控制項。原生 button 元素非常容易設定樣式,而且可免費取得鍵盤支援。

管理焦點

變更網頁內容時,請務必透過移動焦點來引導使用者的注意力。開啟模態對話方塊時,就是使用這項技巧的經典範例。如果使用者依靠鍵盤按下按鈕開啟對話方塊,但焦點「未」移至對話方塊元素,那麼他們唯一的行動方式就是在整個網站中按 Tab 鍵,直到找到新的控制項為止。只要在新內容出現時立即將焦點移至該內容,就能提升這些使用者的使用效率。

互動元素的鍵盤支援

如果您要建構自訂控制項 (例如輪轉介面或下拉式選單),就需要進行額外作業來新增鍵盤支援功能。ARIA 編寫實作指南是一項實用資源,可識別各種 UI 模式,以及這些模式應支援的鍵盤操作類型。

摘錄自 ARIA 製作實務指南,說明如何建立單選群組。

如要進一步瞭解如何為元素新增鍵盤支援功能,請參閱 Google 無障礙設計基礎知識說明文件中的「roving tabindex」一節。

視需要套用 ARIA 角色和屬性

自訂控制項不僅需要適當的鍵盤支援,也需要適當的語意。畢竟,div 在語意上只是一般分組容器。如果您使用 div 做為下拉式選單的基礎,就必須仰賴 ARIA 來加入額外的語意,以便將控制項類型傳達至輔助技術。這時,您可以參考 ARIA 製作實務指南,瞭解應使用哪些角色、狀態和屬性。另外,ARIA 指南中的許多說明也附有範例程式碼!

標示元素

如要標示原生輸入內容,您可以使用 MDN 所述的內建 <label> 元素。這不僅有助於您在畫面上建立視覺提示,還可在無障礙樹狀結構中為輸入內容提供無障礙名稱。輔助技術 (例如螢幕閱讀器) 會接收這個名稱,並向使用者朗讀。

很抱歉,<label> 不支援為自訂控制項 (例如使用自訂元素或簡單的 div 和 span 建立的控制項) 提供可存取的名稱。針對這類控制項,您必須使用 aria-labelaria-labelledby 屬性

自動化測試

懶惰有時是好事,尤其是在測試方面。盡可能自動化無障礙測試,以免您必須手動執行所有操作。目前有許多優質的業界測試工具,可讓您輕鬆快速檢查常見的無障礙問題:

Deque systems 開發的 aXe 可做為 Chrome 擴充功能Node 模組 (適合持續整合環境) 使用。這部短片說明瞭幾種將 aXe 納入開發程序的方法。

Lighthouse 是 Google 的開放原始碼專案,可用來稽核漸進式網頁應用程式的效能。除了檢查 PWA 是否支援 Service WorkerWeb 應用程式資訊清單等項目,Lighthouse 也會執行一系列最佳做法測試,包括無障礙設計問題的測試。

結論

無障礙設計需要集結眾人的力量。每個人都扮演要角。本指南列出了幾項重點項目,每位團隊成員都能利用這些項目快速掌握主題,並希望能改善應用程式的整體體驗。

如要進一步瞭解無障礙工具,請務必參閱免費的 Udacity 課程,並瀏覽 web.dev 提供的無障礙說明文件