App Store Connect 輔助說明

支援 / App Store Connect / 管理 App 輔助使用功能 / VoiceOver evaluation criteria

管理 App 輔助使用功能

「旁白」的評估標準

iOS macOS tvOS visionOS watchOS

說明

Apple 的「旁白」功能會朗讀螢幕上的內容,讓使用者不需直視螢幕也能瀏覽 App 的介面。許多失明或低視能人士使用 VoiceOver 來理解和控制 App。

目標

無論是否具有障礙,所有人都要能順利使用你的 App。如果你的 App 支援用滑鼠或螢幕手勢來點按、按下或拖移內容,則請盡力讓這些操作也能搭配「旁白」使用。如果螢幕上出現重要項目,你 App 使用的標籤或說明應讓「旁白」使用者可透過語音播報或點字注意到。

注意:你的 App 中方便旁白使用者使用的大部分設計和功能,也會讓使用者更好利用「語音控制」、「切換控制」和「懸浮文字」等其他輔助科技。因此,我們建議你先展開「旁白」的輔助使用功能評估,再來檢測「語音控制」。

以下各節提供更多詳細資訊,說明如何判斷你的 App 是否順利支援「旁白」功能。評估的目標是確保身障人士可以使用 App 的所有一般作業,因此執行這項評估工作將協助你判斷是否要在 App Store 上表明你的 App 支援旁白

展開檢測

為準確評估是否適用此標籤,你有必要在 App 支援的所有裝置上,對 App 的「旁白」功能展開詳盡的檢測。請花點時間檢視下列資源,確保你具備充分的理解與能力來展開「旁白」的檢測。

瞭解「旁白」功能的基礎知識後,你就可以展開檢測了。不過,為確保使用者享有絕佳的「旁白」體驗,我們建議你鑽研使用手冊,瞭解老道的「旁白」使用者可能經常使用的進階功能。

表明 App 支援「旁白」

如果使用者可以只用「旁白」功能來瀏覽你的 App,並與文字、媒體、按鈕和控制項等視覺元素互動,即可表明你的 App 支援「旁白」。無論是使用手勢或鍵盤指令,使用者應該能夠立即瞭解、聽得清楚並啟用所指稱的各個 UI。請確保使用者可以不靠視覺輔助,只用「旁白」功能就完成你 App 的所有一般作業。

所有控制項都應具有簡潔、精確的標籤

標籤,又稱為「替代文字」,可幫助「旁白」使用者快速瞭解各個控制項或介面元素的作用。

  • 按鈕、圖像、表單控制項和所有其他元素都應包含簡潔的標籤,以便為「旁白」使用者提供相應的文字說明。若為互動式文字欄位和類似的表單控制項,除了所選內容的文字值(例如,「555-555-1212」),還應具備標籤(「電話號碼」)。

  • 標籤應簡潔扼要,讓使用者能快速瀏覽並理解介面內容,而不會感到繁瑣。舉例來說,用來撰寫新訊息的按鈕應標示「新訊息」,而不是「按下以撰寫新訊息」之類的冗長內容。

  • 請確保在沒有前後文的情況下,標籤的意思依舊清楚明白。由於「旁白」使用者可能以不同的方式抵達某個元素,請不要使用模棱兩可的標籤,像是「按一下此處」或「進一步瞭解」。當使用者以非線性的順序遇到該項目時,這樣的文字會不清楚。如有多個動作元素具有相同的標籤,例如購物車中的「刪除」,則標籤文字應能清楚說明該動作將導致的結果,尤其是會發生破壞性動作的情況下。舉例來說,應說明要刪除哪個購物車項目。

  • 請確保標籤不包含控制項的類型(如「註記框」)或狀態(如「已勾選」)。否則,「旁白」可能會向使用者朗讀多餘的資訊,例如「『取消訂閱』註記框、註記框」。請改在你的 App 中,將這類資訊設為 Trait(特徵),或透過各裝置適用的類似 API 來實作。

  • 大多數影像應包含相關描述或替代文字。如果影像純為裝飾用,請確保「旁白」功能會完全忽略這個影像。

  • 如果你的 App 能讓使用者上傳媒體(例如影像),請確保使用者能為他們產生的內容加入標籤或描述,以便「旁白」使用者在遇到媒體時,能聽到此描述。

  • 若為圖表及其他資料視覺化內容中,你應透過更專門的圖表 API 加入輔助使用資訊,或至少提供相當完整的替代文字。

  • 如果你 App 的一般作業需要用到第三方或使用者原創的內容,請參閱 Accessibility Nutrition Label 概覽中有關第三方內容的詳細指南。

  • 如需更多資訊,請觀看 Writing Great Accessability Labels(編寫出色的輔助功能標籤)Bring accessibility to charts in your app(「聽見」App 中的圖表)影片。

「旁白」使用者應得知元素類型與控制項的狀態或值

因為狀態或值也許只能透過視覺方式(例如,已勾選的註記框)來傳達,所以仰賴「旁白」功能的使用者往往需要聽到更多資訊,而不僅止於標籤和文字內容。請在你的 App 中,將這類資訊設為 Trait(特徵),或透過各裝置適用的類似 API 來實作。

  • 當「旁白」使用者抵達某個項目上時,除了標籤或文字內容之外,「旁白」功能應朗讀元素的類型。例如,「取消訂閱所有電子郵件,註記框」。

  • 使用者應能瞭解控制項的狀態與值。請注意,使用者可由朗讀的內容得知預設狀態,因此「旁白」不會予以朗讀。例如,聽到「取消訂閱所有電子郵件,註記框」這段旁白,即可得知註記框預設是未勾選狀態。此外,請記得透過 API 更新控制項的狀態和值。承上例,使用者勾選了註記框後,「旁白」就會描述該控制項,包括其新狀態。例如,「取消訂閱所有電子郵件,已勾選的註記框」。

「旁白」功能要能朗讀 App 中所有的可見文字,且「旁白」使用者要能操作所有的文字輸入法

如果你採用 Apple 架構,系統會自動支援大部分可見文字的輔助使用功能。不過,如果你的 App 使用其他架構或自訂文字輸入法,則可能需要另外設定。舉例來說,若你使用 Unity 開發 App,Apple 提供了開放原始碼的輔助使用功能外掛模組

  • 包括「旁白」在內的輔助科技都要能夠取用 App 中的所有可見文字。段落等純文字元素不需要單獨的標籤,但你應確保「旁白」功能可以朗讀文字內容。

  • 自訂鍵盤和文字輸入法(例如,自訂鍵盤或 PIN 碼輸入小工具)要能透過「旁白」功能操作,除了提供準確的文字輸入和選取範圍,還要能以語音或點字為使用者輸出正確的內容。

  • 暫時性的狀態橫幅和重要的 App 內提示應及時傳達給「旁白」使用者,但不應造成干擾或中斷。AccessabilityNotification(無障礙通知)能助你達成此一目的。

「旁白」帶來的導覽與群組結成方式應一致、完整,且使用合乎邏輯的順序

「旁白」使用者要能夠按照頁面順序來瀏覽,或使用「旁白」轉輪等功能,直接前往畫面上的某一部分。

  • 「旁白」使用者要能夠依序(向右滑動、「旁白」變更鍵 + 向右鍵等),或在大部分平台上使用轉輪和觸控式導航,來前往任何可見元素。

  • 「旁白」使用者要能繼續前進、後退(向左滑動、「旁白」變更鍵 + 向左鍵等),或在大部分平台上使用轉輪和觸控式導航,來離開他們所在的元素。

  • 如果你以結成群組的方式呈現多個元素或動作,「旁白」使用者要能前往群組中的各個項目,或透過自訂動作等功能,與結成群組的多項行為(例如,回覆、轉寄、刪除)展開互動。

  • 「旁白」使用者不用跳過某些項目,或重覆返回同一項目,就能前進到各個元素。建議順向導覽所有內容,然後逆向導覽所有內容。若為轉輪,同樣建議順時針和逆時針方向循環導覽所有項目。

  • 當系統在背景重新載入或重新整理內容時,「旁白」使用者的閱讀位置不應無預警重置。舉例來說,當「旁白」使用者靠近內容 Feed 的底端時,App 載入了更多內容,則「旁白」游標不應突然重置到列表頂端。

  • 當畫面有變化或出現互動對話框時,「旁白」游標要能按照邏輯前往新的內容區域。「旁白」使用者不該移動到隱藏、背景或螢幕之外的內容中。

所有互動元素和控制項都要能被「旁白」功能尋見、操作,且運作方式一致

再次提醒,如果你的 App 支援用滑鼠或螢幕手勢來點按、按下或拖移內容,請務必讓這些操作也能搭配「旁白」使用。

  • 「旁白」的啟用手勢(選取,然後點按兩下)和鍵盤指令(「旁白」變更鍵 + 空白鍵)所觸發的動作,應與標準點按相同。

  • 即使在「旁白」啟用的狀態下,標準的鍵盤操作(例如,方向鍵),和鍵盤快速鍵(變更鍵 + 最終鍵),也要能繼續使用,且當使用 Tab 鍵、方向鍵等標準鍵盤操作進行瀏覽時,「旁白」游標要能隨之變動。

  • 如果你 App 的控制項提供快速鍵選單、長按選項或其他非預設動作,建議你以自訂動作提供相同操作,不論是使用「旁白」動作轉輪,或相對應的的「顯示快速鍵選單」鍵盤指令(「旁白」變更鍵 + Shift + M)。

  • 「旁白」要能用於對話框等互動式檢視畫面。你的 App 應確保「旁白」功能無法取用互動式檢視畫面後方的停用內容。同時,App 也要讓「旁白」使用者能夠使用 Escape 鍵或 accessPerformEscape 動作來結束互動式顯示畫面,例如,關閉對話框。

  • 拖放或多點觸控手勢等複雜的 App 操作,要以可尋見的無障礙方式提供,例如,透過自訂轉輪或動作。請盡可能使用 Apple 提供的原生 API,以降低實作的複雜度。

  • 如果 App 或 App 內含的架構使用了自訂元素,則所提供的輔助使用功能,應與 Apple UIKit、AppKit 和 SwiftUI 架構所提供的原生元素相對應。舉例來說,自訂按鈕、標籤列(tab bar)和滑桿要能透過「旁白」操作,且所傳達的資訊,與標準 API 下相對應元素的控制項相同。

表明你的 App 在一般作業上支援「旁白」並非一次性的工作;你仍可能進一步改善你 App 的輔助使用功能。每次更新 App 時,都要重新評估你的 App 對「旁白」的支援情形。請設定目標,在 App 的每個版本發佈後,都能讓越多人更容易使用你的 App。