Wear OS 無障礙功能
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
建立 Wear OS 應用程式時,首先必須依循 Android 應用程式的無障礙功能指南所述的無障礙功能設計原則和指引。接著,也須確保使用者可在 Wear OS 上存取您的應用程式。
基於下列因素,Wear OS 應用程式在無障礙功能設計上有一些額外注意事項:
- Wear OS 上的不同輸入類型,例如旋轉輸入。
- 額外的 UI 介面,例如資訊方塊和小工具。
- 螢幕尺寸較小,需要採用不同的 TalkBack 實作方式。
與其他無障礙功能的作業相同,請務必使用螢幕閱讀器等輔助技術,完整測試各項使用體驗。這麼做可讓您從使用者的角度體驗應用程式,並找出您可能錯過的可用性問題。詳情請參閱「測試應用程式的無障礙功能」。
支援使用者偏好的字型大小
在系統設定中,使用者可以調整 Wear OS 應用程式顯示的文字元素字型大小。例如,在 Google Pixel Watch 裝置上,可以依序前往「設定」>「無障礙設定」選單進行這些設定。
測試應用程式時,將字型大小設為不同的值,確認應用程式的文字內容能正常顯示。您可以使用如下技巧,讓應用程式的文字更清楚易讀:
啟用旋轉輸入
大多數 Wear OS 裝置的側面都附有實體旋轉按鈕 (RSB)、旋轉邊框或觸控邊框,稱為旋轉輸入。您可以使用旋轉輸入執行調整媒體應用程式的音量、向上或向下捲動內容等功能。
Wear OS 裝置比行動裝置小,因此會遇到額外的挑戰。如果使用者無法做出精細動作,可能會難以在小螢幕上準確操作。螢幕閱讀器的使用者可能也很難利用雙指互動的方式捲動畫面。相較於雙指互動,使用旋轉輸入可為使用者提供更便利的捲動方式,協助他們克服這些難題。
詳情請參閱「旋轉輸入」。
讓應用程式適用 TalkBack
TalkBack 是 Android 的內建螢幕閱讀器。開啟 TalkBack 後,使用者就能與 Android 裝置互動,不必盯著螢幕。請測試應用程式,確保能夠使用 TalkBack 等螢幕閱讀器導覽所有使用者歷程。詳情請參閱「TalkBack」。
Wear OS 版 TalkBack 與行動版 TalkBack 類似,但有幾點額外注意事項,詳情請參閱後續章節。
使用內建元件
Wear OS 提供許多內建 UI 元件,皆已依循無障礙功能設計的最佳做法。舉例來說,PickerGroup
元素會使用焦點協調工具物件,將焦點指派給正確的 Picker
元素。
在應用程式中使用這些內建元件,可為所有人提高可用性。
為資訊方塊和小工具使用內容說明
Wear OS 提供不同的 UI 介面,例如資訊方塊和小工具。
錶面小工具可以直接在錶面上顯示應用程式提供的資訊,例如日期或天氣預報,讓使用者一目瞭然。資訊方塊可快速存取所需資訊或進行操作,方便處理大小事。使用者只要滑動錶面,就能查看天氣資訊、設定計時器及執行其他功能。
與 Compose 視覺元素類似,您可以為資訊方塊和小工具設定 contentDescription
。contentDescriptions
可定義文字,供 TalkBack 用來描述沒有文字說明的任何內容。為資訊方塊和小工具使用內容說明時,請注意下列事項:
- 避免在說明中加入對使用者沒有價值的額外字詞,例如小工具和資訊方塊。
- 避免在顯示的資訊之外再添加字詞。舉例來說,如果小工具顯示 12 月 13 日這個日期,說明就應該是 12 月 13 日,不要額外添加天和日期這類字詞。
為資訊方塊設定內容說明
使用 setContentDescription
方法,即可為 TalkBack 讀出的資訊方塊設定當下的內容說明。
此外,請務必為資訊方塊內的任何元素 (例如按鈕) 設定內容說明。
為小工具設定內容說明
系統提供不同類型的小工具,例如 SmallImageComplication
和 ShortTextComplication. contentDescription
是在 Builder 上設定。如需範例,請參閱 SmallImageComplicationData.Builder
。
瞭解清單行為
穿戴式裝置的螢幕尺寸較小,因此 TalkBack 對 Wear OS 上的清單行為做出幾項假設。
清單通知
在其他板型規格中,當使用者將焦點放在清單時,TalkBack 會在通知中加入「在清單內」,讓使用者瞭解其所在位置。如果使用者離開清單,TalkBack 會在通知中加入「在清單外」。但由於 Wear OS 裝置的螢幕尺寸較小,TalkBack 會假設每個使用者介面上只可能有一份清單,因此不再支援「在清單內」和「在清單外」通知,避免冗餘用詞。請不要預期系統會在 Wear OS 上朗讀「在清單內」和「在清單外」通知。
直向清單通知
從直向清單中朗讀項目時,TalkBack 會避免讀出太小或位於螢幕邊緣外的項目。具體而言,TalkBack 會採用以下兩個條件:
- 接近畫面頂端或底端的元素。
- 高度小於 32 dp 的元素。
如果想有效率地搭配使用 TalkBack,請確保項目高度至少為 32 dp、為清單中的第一個項目設定與螢幕頂端的邊框間距,並為最後一個項目設定與螢幕底端的邊框間距。
這些原則不適用於橫向清單。
設定最小觸控目標
觸控目標是指螢幕上會回應使用者輸入內容的部分,可能會超出視覺上的元素邊界。舉例來說,某個圖示元素的顯示大小可能是 24 dp x 24 dp,但圖示周圍的邊框間距可構成完整的 48 x 48 dp 觸控目標。
根據 Android Material 指南,48 dp x 48 dp 是建議的觸控目標大小。由於 Wear OS 裝置的螢幕尺寸較小,在某些情況下可以使用 40 dp x 40 dp。
如要進一步瞭解如何實作觸控目標,請參閱「Compose 中的無障礙功能」。
為您推薦
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-27 (世界標準時間)。"],[],[],null,["# Accessibility on Wear OS\n\nAs you create an app on Wear OS, start by following accessibility principles and\nguidance from our [Accessibility guide for Android apps](/guide/topics/ui/accessibility). Then ensure you app\nis accessible on Wear OS as well.\n\nWear OS apps have some additional considerations when it comes to accessibility\ndue to the following factors:\n\n- Different input types on Wear OS, such as rotary input.\n- Additional UI surfaces such as tiles and complications.\n- Small screen sizes, which require different [TalkBack](https://support.google.com/accessibility/android/answer/6283677) implementations.\n\nAs with other accessibility work, make sure to thoroughly test each experience\nwith assistive technologies such as a screen reader. This lets you experience\nyour app from the perspective of your users and discover usability issues that\nyou otherwise might miss. For more information, see [Test your app's\naccessibility](/guide/topics/ui/accessibility/testing).\n\nSupport the user's preferred font size\n--------------------------------------\n\nIn system settings, users can adjust the font size for text elements that appear\nin Wear OS apps. For example, on Google Pixel Watch devices, these settings are\n[located in the **Settings \\\u003e Accessibility** menu](https://support.google.com/googlepixelwatch/answer/12658379).\n\nWhen testing your app, set the font size to different values, and make sure that\nyour app's text content behaves as you expect. You can use techniques such as\nthe following to make your app's text more accessible:\n\n- If you use [autosizing text](/develop/ui/views/text-and-emoji/autosizing-textview), set explicit values for [`autoSizeMinTextSize`](/reference/android/widget/TextView#attr_android:autoSizeMinTextSize) and [`autoSizeMaxTextSize`](/reference/android/widget/TextView#attr_android:autoSizeMaxTextSize).\n- Use an ellipsis to show that text overflows its container. The Material text element [uses an overflow ellipsis by default](/reference/androidx/wear/protolayout/material/Text.Builder#setOverflow(int)).\n\nEnable rotary input\n-------------------\n\nMost Wear OS devices contain a physical rotating side button (RSB), rotating\nbezel or touch bezel. This is called a rotary input. You can use the rotary\ninput to adjust the volume of media apps, scroll content up or down, and more.\n\nWear OS devices are smaller than mobile devices, which presents additional\nchallenges. Users with dexterity challenges may find accuracy on a small screen\ndifficult. Screen reader users may also find it difficult to use two-finger\ninteractions for scrolling. Using rotary input assists users with these\nchallenges by providing a more convenient way to scroll rather than using the\ntwo-finger interaction.\n\nFor more information, see [Rotary input](/training/wearables/user-input/rotary-input).\n\nOptimize your app for Talkback\n------------------------------\n\nTalkBack is Android's built-in screen reader. When TalkBack is on, users can\ninteract with their Android-powered device without seeing the screen. Test your\napp to ensure that all user journeys can be navigated using screen readers such\nas TalkBack. For more information, see [TalkBack](/guide/topics/ui/accessibility/testing#talkback).\n\nTalkBack on Wear OS is similar to TalkBack on mobile with a few additional\nconsiderations, detailed in the following sections.\n\n### Use built-in components\n\nWear OS provides many built-in UI components that already follow accessibility\nbest practices. For example, the [`PickerGroup`](/reference/kotlin/androidx/wear/compose/material/package-summary#PickerGroup(kotlin.Array,androidx.compose.ui.Modifier,androidx.wear.compose.material.PickerGroupState,kotlin.Function1,kotlin.Boolean,kotlin.Boolean,androidx.wear.compose.material.TouchExplorationStateProvider,kotlin.Function1)) element uses a focus\ncoordinator object to assign focus to the correct `Picker` element.\n\nUse these built-in components in your app to improve its\nusability for everyone.\n\n### Use content descriptions for tiles and complications\n\nWear OS provides different UI surfaces, such as tiles and complications.\n\n[Watch face complications](/training/wearables/watch-faces/complications) display highly glanceable information from apps\ndirectly on the watch face, such as the date or weather forecasts. [Tiles](/training/articles/wear-tiles)\nprovide quick access to the information and actions needed to get things done.\nWith a simple swipe from the watch face, a user can check the weather, set a\ntimer, and more.\n\nSimilarly to [Compose](/jetpack/compose/accessibility#describe-visual) visual elements, you can set a `contentDescription`\nfor tiles and complications. `contentDescriptions` define the text that Talkback\nuses to describe any content that does not have a textual representation.\nWhen using content descriptions for tiles and complications, keep in mind the\nfollowing:\n\n- Avoid adding extra words to the description that don't provide user value, such as complication and tile.\n- Avoid adding words beyond the information that is displayed. For example the description of a complication is displaying the date **December 13th** should be **December 13th** without words like **Day** and **Date**.\n\n#### Set the content descriptions for Tiles\n\nUse the method [`setContentDescription`](/reference/android/service/quicksettings/Tile#setContentDescription%28java.lang.CharSequence%29) to set the current content\ndescription for the Tile that Talkback verbalizes.\n\nAlso make sure to set the content description for any elements within the tiles,\nlike [Buttons](/reference/androidx/wear/tiles/material/Button.Builder#setContentDescription(java.lang.CharSequence)).\n\n#### Set the content descriptions for complications\n\nThere are different [types](/training/wearables/watch-faces/adding-complications#types-fields) of complications such as\n`SmallImageComplication` and `ShortTextComplication. contentDescription` is set\non the Builder, for example see the [`SmallImageComplicationData.Builder`](/reference/androidx/wear/watchface/complications/data/SmallImageComplicationData.Builder#Builder(androidx.wear.watchface.complications.data.SmallImage,androidx.wear.watchface.complications.data.ComplicationText)).\n\n### Understand list behaviors\n\nDue to the small screen size on wearable devices, TalkBack makes several\nassumptions about list behavior on Wear OS.\n\n#### List Announcements\n\nIn other form factors, when a user is focused on a list, Talkback adds **in\nlist** to its announcements so that a user understands where they are. If they\nnavigate out of the list, Talkback adds **out of list** to its\nannouncements. But on Wear OS, TalkBack assumes that there is only one list\npossible per UI due to the small screen size. So, it has removed support for\nin-list and out-of-list announcements to avoid redundant wording. Don't expect\nin-list and out-of-list announcements to be read out on Wear OS.\n\n#### Vertical list announcing\n\nWhen reading items from a vertical list, Talkback avoids reading out items that\nare too small or are almost off of the screen. Specifically, talkback uses the\nfollowing two conditions:\n\n1. Elements near the top or the bottom of the screen.\n2. Elements less than 32dp in height.\n\nWork effectively with Talkback by ensuring that items are at least 32dp in\nheight, the first item in the list has padding from the top, and the last item\nhas padding from the bottom.\n\nThese guidelines don't apply to horizontal lists.\n\nSet minimum touch targets\n-------------------------\n\nTouch targets are the parts of the screen that respond to user input. They can\nextend beyond the visual bounds of an element. For example, an element such as\nan icon may appear to be 24dp x 24dp, but the padding surrounding it can\nmake up the full 48 x 48 dp touch target.\n\nBased on [Android Material guidance](https://m3.material.io/foundations/accessible-design/accessibility-basics#28032e45-c598-450c-b355-f9fe737b1cd8), 48dp x 48dp is the\nrecommended touch target size. Due to the small screen size on Wear OS, there\nare some situations where 40dp x 40dp is allowed.\n\nFor more information about how to implement touch targets, see [Accessibility in\nCompose](/jetpack/compose/accessibility#minimum-target-sizes).\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Picker](/design/ui/wear/guides/components/pickers)\n- [Loading images {:#loading-images}](/develop/ui/compose/graphics/images/loading)\n- [Key steps to improve Compose accessibility](/develop/ui/compose/accessibility/key-steps)"]]