Skip to content

fix(compose): hide flattened semantics descendants - #95

Merged
bytemain merged 1 commit into
staging2from
ad4/task103-hidden-descendant-projection
Jul 31, 2026
Merged

fix(compose): hide flattened semantics descendants#95
bytemain merged 1 commit into
staging2from
ad4/task103-hidden-descendant-projection

Conversation

@bytemain

Copy link
Copy Markdown
Member

Summary

  • preserve the unmerged semantics ancestry beneath clearAndSetSemantics
  • project an invisible ancestor's hidden role to every real descendant KNode, covering flattened native view hierarchies
  • restore visible descendants through the existing per-generation merged projection/registry
  • add synthetic flattened-tree and visible-restoration regressions

Root cause

The landed Android APK uniquely contained and executed the #93 role/testTag fix: both setters resolve hidden to IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS. Runtime still exposed an AccessibilityNodeInfo parent/child tree byte-identical to the old build. The semantics hierarchy shown by AccessibilityNodeInfo is therefore not the Android ViewGroup hierarchy: Kuikly flattens descendant KNodes, so hiding only the semantic root View cannot prune the real descendant Views.

This change only projects AccessibilityRole.HIDDEN; it does not clear text/click semantics. Android maps that role to NO_HIDE_DESCENDANTS, while iOS/OHOS remain outside this patch's native-bridge scope.

Validation

  • focused Compose projection and Android importance tests
  • broad Compose tests + common metadata compile + Android renderer tests
  • git diff --check

@bytemain
bytemain force-pushed the ad4/task103-hidden-descendant-projection branch from ba35464 to e8d130c Compare July 31, 2026 04:50
Signed-off-by: Android-Developer-4 <raft-mobile-android-developer-4@mail.build>
@bytemain
bytemain force-pushed the ad4/task103-hidden-descendant-projection branch from e8d130c to b846192 Compare July 31, 2026 04:55
@bytemain
bytemain merged commit c319476 into staging2 Jul 31, 2026
6 checks passed
@bytemain
bytemain deleted the ad4/task103-hidden-descendant-projection branch July 31, 2026 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant