無障礙功能
關於 Flutter 無障礙支援的資訊。
背景
#確保應用程式能夠被廣泛的使用者群體所使用,是構建高質量應用的重要組成部分。設計糟糕的應用程式會為各年齡段的人群帶來障礙。《聯合國殘疾人權利公約》指出,確保資訊系統的通用訪問權是一項道德和法律義務;世界各國均將無障礙訪問作為一項強制要求;企業也認識到最大化服務訪問範圍所帶來的商業優勢。
我們強烈建議您在釋出應用前,將無障礙訪問檢查清單作為一項關鍵評估標準。Flutter 致力於支援開發者提升應用的無障礙性,除了底層作業系統提供的支援外,Flutter 框架還包含一流的無障礙支援,包括:
無障礙訪問規範
#無障礙訪問標準和法規有助於確保產品能夠被殘疾人使用。其中許多標準已被納入法律和政策,使其成為產品和服務的強制性要求。
-
WCAG 2:《Web 內容無障礙指南 (WCAG) 2》是一項國際公認的標準,旨在使 Web 內容對殘疾人更加友好。這是一項由全球資訊網聯盟 (W3C) 開發的穩定技術標準。
-
EN 301 549:EN 301 549 是歐洲關於資訊與通訊技術 (ICT) 產品和服務無障礙要求的統一標準。
-
VPAT:自願性產品無障礙模板 (VPAT) 是一個免費模板,可將無障礙要求和標準轉化為針對產品服務的可操作測試標準。
世界各地的法律均要求數字內容和服務必須對殘疾人友好。在美國,《美國殘疾人法案 (ADA)》禁止在公共場所進行歧視。《康復法案第 508 條》要求聯邦機構及其承包商的所有 ICT 產品必須符合 WCAG 標準。
在歐盟,《歐洲無障礙法案 (EAA)》要求廣泛的公共和私營部門服務必須具備無障礙性,並主要以 EN 301 549 作為其技術基礎。
在構建時考慮到無障礙訪問
#確保每個人都能使用您的應用,意味著從一開始就要將無障礙設計融入其中。對於某些應用而言,這說起來容易做起來難。在下面的影片中,我們的兩位工程師展示瞭如何將一個無障礙性極差的移動應用,透過利用 Flutter 的內建元件,改造成一個體驗顯著提升且具備良好無障礙性的應用。
無障礙訪問釋出檢查清單
#以下為您準備了一份不詳盡的清單,供您在準備應用釋出時參考。
-
活動互動。確保所有活動互動都有反饋。任何可點選的按鈕在按下時都應執行相應操作。例如,如果您有一個針對
onPressed事件的空回撥,請將其修改為在螢幕上顯示一個SnackBar,以解釋您剛剛點選了哪個控制元件。 - 螢幕閱讀器測試。螢幕閱讀器在點選頁面上的所有控制元件時都應能進行描述,且描述應清晰可理解。請使用 TalkBack (Android) 和 VoiceOver (iOS) 測試您的應用。
- 對比度。我們建議控制元件或文字與背景之間的對比度至少達到 4.5:1,停用狀態的元件除外。影像也應經過審查以確保足夠的對比度。
- 上下文切換。在輸入資訊時,不應自動更改使用者的上下文。通常情況下,元件應避免在沒有某種確認操作的情況下更改使用者的上下文。
- 可點選目標。所有可點選目標的尺寸應至少為 48x48 畫素。
- 錯誤處理。重要操作應支援撤銷。在顯示錯誤的欄位中,如果可能,請提供修正建議。
- 色覺缺陷測試。控制元件在色盲模式和灰度模式下應保持可用且易讀。
- 縮放比例。在極大的文字尺寸和顯示縮放比例下,UI 應保持可讀和可用。
瞭解更多
#要深入瞭解 Flutter 和無障礙訪問,請檢視由社群成員撰寫的以下文章: