跳到主內容

無障礙技術

面向 Flutter 開發者的無障礙技術相關資訊。

概述

#

輔助技術對於實現數字內容的無障礙訪問至關重要,能夠幫助殘障人士使用數字產品。本文件概述了與 Flutter 開發相關的兩類核心輔助技術:面向視障使用者的“螢幕閱讀器”以及面向運動能力受限使用者的“行動輔助工具”。通過了解並利用這些技術進行測試,您可以確保您的 Flutter 應用為每位使用者提供更具包容性和易用性的體驗。

螢幕閱讀器

#

在移動端,螢幕閱讀器(TalkBackVoiceOver)使視障使用者能夠獲得螢幕內容的語音反饋,並透過移動端手勢或桌面端鍵盤快捷鍵與 UI 進行互動。請在您的移動裝置上開啟 VoiceOver 或 TalkBack 並嘗試瀏覽您的應用。

若要在裝置上開啟螢幕閱讀器,請按照以下步驟操作:

  1. 開啟裝置上的設定
  2. 選擇輔助功能,然後選擇TalkBack
  3. 開啟或關閉“使用 TalkBack”。
  4. 選擇“確定”。

如需瞭解如何查詢和自定義 Android 的輔助功能,請觀看以下影片。

在 YouTube 新標籤頁中觀看:“Customize Pixel and Android accessibility features”(自定義 Pixel 和 Android 輔助功能)
  1. 開啟裝置上的設定 > 輔助功能 > VoiceOver
  2. 開啟或關閉 VoiceOver 設定

如需瞭解如何查詢和自定義 iOS 的輔助功能,請觀看以下影片。

在 YouTube 新標籤頁中觀看:“How to navigate your iPhone or iPad with VoiceOver”(如何透過 VoiceOver 導航您的 iPhone 或 iPad)

對於 Web 端,目前支援以下螢幕閱讀器:

移動瀏覽器

  • iOS - VoiceOver
  • Android - TalkBack

桌面瀏覽器

  • macOS - VoiceOver
  • Windows - JAWs & NVDA

Web 端的螢幕閱讀器使用者必須點選“啟用輔助功能”(Enable accessibility)按鈕來構建語義樹。如果您使用此 API 以程式設計方式為應用自動啟用輔助功能,使用者則可以跳過此步驟。

dart
import 'package:flutter/material.dart';
import 'package:flutter/semantics.dart';

void main() {
  runApp(const MyApp());
  SemanticsBinding.instance.ensureSemantics();
}

Windows 系統自帶名為“講述人”(Narrator)的螢幕閱讀器,但一些開發者建議使用更主流的 NVDA 螢幕閱讀器。如需瞭解如何使用 NVDA 測試 Windows 應用,請參閱 Screen Readers 101 For Front-End Developers (Windows)

在 Mac 上,您可以使用 macOS 自帶的桌面版 VoiceOver。

在 YouTube 新標籤頁中觀看:“Screen reader basics: VoiceOver”(螢幕閱讀器基礎:VoiceOver)

在 Linux 上,一種流行的螢幕閱讀器叫作 Orca。它預裝在某些發行版中,也可以透過 apt 等軟體包倉庫獲取。如需瞭解如何使用 Orca,請檢視 Getting started with Orca screen reader on Gnome desktop


檢視以下影片演示,瞭解如何將 VoiceOver 與現已歸檔的 Flutter Gallery Web 應用配合使用。

Flutter 的標準組件會自動生成輔助功能樹。但是,如果您的應用有特殊需求,可以使用 Semantics 元件進行自定義。

當應用中有需要以特定語種朗讀的文字時,可以透過呼叫 TextSpan.locale 來通知螢幕閱讀器使用指定的語音。自 Flutter 3.38 版本起,MaterialApp.localeLocalizations.override 也會影響螢幕閱讀器的語音設定。通常情況下,螢幕閱讀器會使用系統語音,除非您使用 TextSpan.locale 進行了明確設定。

行動輔助支援

#

對於手指靈活性或手部力量有限的使用者,行動輔助支援功能非常有用。Android 和 iOS 都提供了一系列旨在簡化導航和控制的工具。這些功能允許使用者透過外部開關、語音命令或簡化的螢幕選單來操作裝置。

Android 提供“開關控制”(Switch Access)、“語音訪問”(Voice Access)和“輔助功能選單”(Accessibility Menu),而 iOS 提供“切換控制”(Switch Control)、“語音控制”(Voice Control)和“輔助觸控”(AssistiveTouch)。瞭解這些工具有助於建立能夠讓不同身體能力的使用者都能使用的應用程式。

作業系統 功能 作用
Android 開關控制 (Switch Access) 作為替代輸入法,您可以使用開關控制和攝像頭開關
Android 語音訪問 (Voice Access) 透過語音控制您的裝置
Android 輔助功能選單 (Accessibility Menu) 一個浮動的螢幕選單,提供簡化的按鈕來控制基本的手機功能。
iOS 切換控制 (Switch Control) 使用開關作為替代輸入法
iOS 語音控制 (Voice Control) 透過語音控制您的裝置
iOS 輔助觸控 (AssistiveTouch) 使用輔助觸控來替代多指手勢或硬體按鈕操作