Repository navigation
[Android][a11y] Set visibleToUser=false for hidden semantics nodes - #194411
auto-submit[bot] merged 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates AccessibilityBridge.java to set the visibility of an accessibility node to user based on whether the semantics node has the IS_HIDDEN flag, replacing the previous behavior of unconditionally setting it to true. A corresponding unit test, itSetsVisibleToUserFalseForHiddenNodes, has been added to AccessibilityBridgeTest.java to verify this change. There are no review comments, and I have no feedback to provide.
|
autosubmit label was removed for flutter/flutter/194411, because The base commit of the PR is older than 7 days and can not be merged. Please merge the latest changes from the main into this branch and resubmit the PR. |
|
autosubmit label was removed for flutter/flutter/194411, because - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label. |
flutter/flutter@d4c8577...0c2473c 2026-10-28 [email protected] Roll Packages from a8549ae to 13d38e0 (9 revisions) (flutter/flutter#195488) 2026-10-28 [email protected] Use int.oneBitCount in PersistentHashMap and scope 53-bit caps to JS (flutter/flutter#195005) 2026-10-28 [email protected] Roll pub packages (flutter/flutter#195483) 2026-10-28 [email protected] [iPhone Duo] Use the correct UIScreen to report the display size and update when fold/unfold (flutter/flutter#195199) 2026-10-28 [email protected] [fuchsia] Fix portable_ui_test.h includes for newer Fuchsia SDKs (flutter/flutter#195420) 2026-10-28 [email protected] Change default pipeline options to match production draw calls (flutter/flutter#194597) 2026-10-28 [email protected] Roll Fuchsia Test Scripts from 2T18KC7-LDQtmQiLP... to xl1LWBuppzu-BnOzV... (flutter/flutter#195450) 2026-10-27 [email protected] [flutter_tools] Inject dependencies into Darwin build targets, native assets, and Xcode build settings (flutter/flutter#194052) 2026-10-27 [email protected] Revert: Reland square corners fix (flutter/flutter#195436) 2026-10-27 [email protected] [flutter_tools] Add DeviceService app launch and flutter run support for tool extensions (flutter/flutter#194589) 2026-10-27 [email protected] [engine] Honor targetWidth/targetHeight for animated images (flutter/flutter#194615) 2026-10-27 [email protected] [Android][a11y] Set visibleToUser=false for hidden semantics nodes (flutter/flutter#194411) 2026-10-27 [email protected] Fix repo deletion test flake (flutter/flutter#195349) 2026-10-27 [email protected] Roll Packages from 23a05b6 to a8549ae (10 revisions) (flutter/flutter#195434) 2026-10-27 [email protected] [web] Capture pointers to the Flutter view so drags survive platform view iframes (flutter/flutter#195187) 2026-10-27 [email protected] [web] Add opt-in raw samples, measured sample count and warm-up phase hook to the web benchmark recorder (flutter/flutter#195118) 2026-10-27 [email protected] Link migration guide in deprecation messages (flutter/flutter#195361) 2026-10-27 [email protected] Pin basic_material_app_macos__compile to macOS 26 (flutter/flutter#195429) 2026-10-27 [email protected] Add benchmark for warmed pipeline usage (flutter/flutter#195001) 2026-10-27 [email protected] [flutter_tools] Add device log streaming support to DeviceService and ExtensionBackedDevice (flutter/flutter#194964) 2026-10-27 [email protected] Roll Dart SDK from 1d16c04dc346 to 65fc979759ca (4 revisions) (flutter/flutter#195383) If this roll has caused a breakage, revert this CL and set the roller to dry run mode using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#194411) Updates `AccessibilityBridge` to set `setVisibleToUser` to `false` when a semantics node has `Flag.IS_HIDDEN`, instead of always hardcoding `true`. When scrolling a list with TalkBack (for example, a `CustomScrollView` with a pinned header), items that scroll behind the header are marked `IS_HIDDEN` by Flutter. Because `AccessibilityBridge` still reported `isVisibleToUser` as `true` for those hidden nodes, TalkBack would get confused after scrolling and trigger a second scroll on a single swipe, skipping a full screen of items. Fixes flutter#194260 | Before | After | | --- | --- | | https://github.com/user-attachments/assets/9d1d04fd-41dd-4328-9fbe-670cd09ad95a|https://github.com/user-attachments/assets/87d6f2d4-1180-491f-838d-d1b59b04313d| ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant in-code documentation (doc comments with `///`). - [x] If this PR introduces a new feature or capability, I created and linked a website documentation issue or PR in [flutter/website] (or verified none is needed). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
Updates
AccessibilityBridgeto setsetVisibleToUsertofalsewhen a semantics node hasFlag.IS_HIDDEN, instead of always hardcodingtrue.When scrolling a list with TalkBack (for example, a
CustomScrollViewwith a pinned header), items that scroll behind the header are markedIS_HIDDENby Flutter. BecauseAccessibilityBridgestill reportedisVisibleToUserastruefor those hidden nodes, TalkBack would get confused after scrolling and trigger a second scroll on a single swipe, skipping a full screen of items.Fixes #194260
android.scroll.bug.mov
android.bug.post.fix.mov
Pre-launch Checklist
///).