Android 접근성 도구 모음: 접근성 메뉴, 텍스트 읽어주기, 스위치 제어, TalkBack을 포함하며, 이러한 기술의 사용자에게 앱의 시맨틱이 작동하는 방식에 대한 통계를 제공합니다. Android의 보조 기술을 사용하여 테스트하는 것이 접근성 요구사항이 있는 사용자가 경험할 환경을 파악하는 가장 좋은 방법이므로 적극 권장합니다.
레이아웃 검사기: 각 컴포저블의 시맨틱을 검사하고 디버그할 수 있으며 누락되거나 잘못된 정보를 식별하는 데 도움이 됩니다.
접근성 검사기 앱: 화면을 검사하고 몇 가지 일반적인 문제를 파악하여 접근성을 개선하기 위한 제안사항을 제공합니다.
디버그
Compose, 시맨틱스 시스템, Android 접근성 서비스 간에 추적하기 어려운 예상치 못한 접근성 동작이 발생할 수 있습니다.
시맨틱 속성을 사용하면 구성요소가 특정 방식으로 동작하는 이유를 이해하는 데 도움이 됩니다.
Android 스튜디오의 Layout Inspector, TalkBack 개발자 설정의 TreeDebug 또는 ComposeTestRule의 printToLog를 사용하여 접근성 동작 문제를 디버그할 수 있습니다. 이러한 모든 도구는 Compose에 의해 접근성 서비스에 노출되는 노드(및 속성)에 관한 정보를 제공할 수 있습니다.
다음 예에서는 Layout Inspector를 사용하여 접근성 서비스가 사용 설정된 경우 첫 번째 요소가 선택되지 않고 두 번째 요소에 연결된 작업 피드백이 없는 세 가지 요소가 있는 화면을 디버그합니다. 시맨틱 속성을 검사하여 잠재적인 문제를 찾을 수 있습니다.
Layout Inspector의 구성요소 트리에는 요소의 경계, 매개변수, 이와 관련된 기타 시맨틱 정보가 포함됩니다. 트리에서 세 가지 요소가 모두 인식됩니다.
그림 2. 세 가지 요소가 모두 포함된 Layout Inspector
첫 번째 요소에는 hideFromAccessibility 속성이 적용되어 있습니다. 이는 요소가 시맨틱 트리의 어딘가에 숨겨져 있거나 장식 오버레이로 가려져 있을 수 있음을 나타냅니다.
그림 3. Layout Inspector: hideFromAccessibility이 있는 첫 번째 요소
두 번째 요소에는 포커스 속성이 있지만 이전 요소와 같은 onClick는 없습니다. 따라서 어딘가에 clickable 수정자가 누락되었을 수 있습니다. 이 때문에 TalkBack과 같은 접근성 서비스가 사용자에게 일부 작업 신호를 알리지 못할 수 있습니다.
그림 4. Layout Inspector: focused가 있는 두 번째 요소
세 번째 텍스트 요소에는 포커스를 받을 수 있고 onClick가 있으며 다른 추가 시맨틱이 적용되는 등 필요한 모든 속성이 있으므로 예상대로 해석됩니다.
그림 5. Layout Inspector: 모든 API가 있는 세 번째 요소입니다.
이렇게 하면 디버깅 도구를 사용하여 접근성 서비스에서 특정 안내나 선택이 실행되지 않는 이유를 조사할 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","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(UTC)"],[],[],null,["# Inspect and debug\n\nInspect\n-------\n\nSeveral tools can help you quickly inspect your content from an accessibility\npoint of view:\n\n- [Android Accessibility Suite](https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback): Includes Accessibility Menu, Select to Speak, Switch Access, and TalkBack, which provide insight into how your app's semantics work for users of these technologies. Testing with Android's assistive technologies is highly recommended as the best way to understand what your users with accessibility needs will experience.\n- [Layout Inspector](/develop/ui/compose/tooling/debug#layout_inspector): Lets you inspect and debug semantics of each composable, and helps identify any missing or incorrect information.\n- [Accessibility Scanner](https://support.google.com/accessibility/android/answer/6376570) app: Scans your screen and provides suggestions to improve its accessibility by identifying some common pitfalls.\n\nDebug\n-----\n\nBetween Compose, the semantics system, and Android accessibility services, you\nmight run into unexpected accessibility behaviors that are difficult to trace.\nSemantic properties can help you understand why your components are behaving\nthe way that they are.\n\nYou can debug accessibility behavior issues with the [Layout Inspector](/develop/ui/compose/tooling/debug#layout_inspector) in\nAndroid Studio, TreeDebug in TalkBack developer settings, or `ComposeTestRule`'s\n[`printToLog`](/reference/kotlin/androidx/compose/ui/test/package-summary#(androidx.compose.ui.test.SemanticsNodeInteraction).printToLog(kotlin.String,kotlin.Int)). All of these tools can provide information about nodes\n(and their properties) that are exposed to accessibility services by Compose.\n\nThe following example uses Layout Inspector to debug a screen with three\nelements where, with accessibility services on, the first one isn't being\nselected, and the second one doesn't have any action feedback associated with\nit. You can examine the semantic properties to find potential issues.\n\nThe component tree in Layout Inspector contains information about an element's\nbounds, parameters, and other semantic information associated with it. In the\ntree, all three elements are recognized:\n**Figure 2.** Layout Inspector with all three elements..\n\nThe first element has the `hideFromAccessibility` property applied. This\nindicates that the element may be marked as hidden somewhere in the semantics\ntree, or it is obscured by some decorative overlay.\n**Figure 3.** Layout Inspector: first element with `hideFromAccessibility`.\n\nThe second element has a focus property, but no `onClick` like the previous\nelement. Therefore, it might be missing a `clickable` modifier somewhere, which\nis why an accessibility service like TalkBack may not be announcing some\naction signal to the user:\n**Figure 4.** Layout Inspector: second element with `focused`.\n\nThe third text element has all the necessary properties---it is focusable, has\nan `onClick`, and other additional semantics applied---which is why it's\ninterpreted as expected.\n**Figure 5.** Layout Inspector: third element with all APIs.\n\nIn this way, you can use debugging tools to investigate why certain\nannouncements or selections aren't performed by accessibility services.\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Accessibility in Compose](/develop/ui/compose/tooling/debug#layout_inspector)\n- \\[Material Design 2 in Compose\\]\\[19\\]\n- [Testing your Compose layout](https://support.google.com/accessibility/android/answer/6376570)"]]