Skip to content

Use semantic nodes as accessibility containers when they are not accessible#3038

Merged
Andrei Salavei (ASalavei) merged 3 commits into
jb-mainfrom
andrei.salavei/fix-full-keyboard-access-coordinate
May 13, 2026
Merged

Use semantic nodes as accessibility containers when they are not accessible#3038
Andrei Salavei (ASalavei) merged 3 commits into
jb-mainfrom
andrei.salavei/fix-full-keyboard-access-coordinate

Conversation

@ASalavei

Copy link
Copy Markdown

Simplify accessibility tree hierarchy: use AccessibilityNode.Semantics also as containers when they are not accessible.

Fixes https://youtrack.jetbrains.com/issue/CMP-10154/iOS-A11y.-Full-Keyboard-Access.-Element-selection-is-shifted

Release Notes

Fixes - iOS

  • Fix elements selection with Full Keyboard Access

…rd-access-coordinate

# Conflicts:
#	compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/test/AccessibilityTestNode.kt
@ASalavei Andrei Salavei (ASalavei) marked this pull request as ready for review May 11, 2026 12:14

override val accessibilityContainerType: UIAccessibilityContainerType
get() = when {
semanticsNode.canBeAccessibilityElement() -> UIAccessibilityContainerTypeNone

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can be removed, I guess, since else handles this case

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the issue that traversal groups also can be accessibility focusable. For these elements we're creating 2 elements - container and semantics. Container must have UIAccessibilityContainerTypeSemanticGroup to support iOS navigation, but the semantics element should not in this case.

@ASalavei Andrei Salavei (ASalavei) merged commit 78053ef into jb-main May 13, 2026
30 of 31 checks passed
@ASalavei Andrei Salavei (ASalavei) deleted the andrei.salavei/fix-full-keyboard-access-coordinate branch May 13, 2026 06:38
Vlad Konstantinov (Kpotko) added a commit that referenced this pull request May 15, 2026
…y are not accessible (#3038) (#3043)

Simplify accessibility tree hierarchy: use AccessibilityNode.Semantics
also as containers when they are not accessible.

Fixes

https://youtrack.jetbrains.com/issue/CMP-10154/iOS-A11y.-Full-Keyboard-Access.-Element-selection-is-shifted

## Release Notes
### Fixes - iOS
- Fix elements selection with Full Keyboard Access
Sajid Ali (sajidalidev) pushed a commit to sajidalidev/compose-multiplatform-core-tvos that referenced this pull request May 18, 2026
…ssible (JetBrains#3038)

Simplify accessibility tree hierarchy: use AccessibilityNode.Semantics
also as containers when they are not accessible.

Fixes
https://youtrack.jetbrains.com/issue/CMP-10154/iOS-A11y.-Full-Keyboard-Access.-Element-selection-is-shifted

## Release Notes
### Fixes - iOS
- Fix elements selection with Full Keyboard Access
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.

3 participants