Skip to content

Conversation

@robert-ancell
Copy link
Contributor

This was a regression introduced in 117c60e which didn't correctly migrate to the newer tristate a11y API.

Fixes #176360

This was a regression introduced in 117c60e
which didn't correctly migrate to the newer tristate a11y API.

Fixes flutter#176360
@robert-ancell robert-ancell requested a review from mattkae October 14, 2025 03:27
@github-actions github-actions bot added engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically a: desktop Running on desktop labels Oct 14, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request fixes a regression where accessibility events were not correctly translated to ATK. This is achieved by introducing a set of helper functions to correctly interpret Flutter's tristate accessibility flags. The logic for setting and notifying ATK states is refactored to use these new helpers, improving correctness and clarity. The changes also include a significant expansion of unit tests to cover various flag states, ensuring the mappings to ATK states are accurate, and updates the GTK mock infrastructure to support this new testing.

@robert-ancell
Copy link
Contributor Author

We will want to cherry pick this to stable once it lands in main.

Copy link
Contributor

@mattkae mattkae left a comment

Choose a reason for hiding this comment

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

One comment on the test code, but looks good other than that!

AtkStateSet* state2 = atk_object_ref_state_set(ATK_OBJECT(node));
EXPECT_TRUE(atk_state_set_contains_state(state2, ATK_STATE_EDITABLE));
g_object_unref(state2);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: I wonder if these tests are a good opportunity to parameterize. Seems like a bunch of similar-ish code. Not blocking though.

@robert-ancell
Copy link
Contributor Author

@loic-sharma are you able to check what is failing in the Google testing?

@loic-sharma
Copy link
Member

@robert-ancell An Android test failed 4 times on this PR, but the failure looked unrelated to your changes. I reran the test, and it passed! You should be good to go now :)

Copy link
Member

@loic-sharma loic-sharma left a comment

Choose a reason for hiding this comment

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

LGTM! Please feel free to ping me on Discord if you need any help with the cherrypick :)

@robert-ancell robert-ancell added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 22, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Oct 22, 2025
Merged via the queue into flutter:master with commit 0f91447 Oct 23, 2025
186 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 23, 2025
@robert-ancell robert-ancell added the cp: beta cherry pick this pull request to beta release candidate branch label Oct 23, 2025
flutteractionsbot pushed a commit to flutteractionsbot/flutter that referenced this pull request Oct 23, 2025
…er#176991)

This was a regression introduced in
117c60e which didn't correctly migrate
to the newer tristate a11y API.

Fixes flutter#176360
@robert-ancell robert-ancell added the cp: stable cherry pick this pull request to stable release candidate branch label Oct 23, 2025
@flutteractionsbot
Copy link

Failed to create CP due to merge conflicts.
You will need to create the PR manually. See the cherrypick wiki for more info.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 24, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 24, 2025
Roll Flutter from 75004a639ae4 to cb18290fa45e (48 revisions)

flutter/flutter@75004a6...cb18290

2025-10-24 [email protected] Remove unnecessary `deprecated` withOpacity in `text_button.0.dart‎` in examples (flutter/flutter#177374)
2025-10-24 [email protected] Roll Packages from 9ec29b6 to 53d6138 (3 revisions) (flutter/flutter#177502)
2025-10-24 [email protected] Roll Dart SDK from d3248b00f545 to a0480f399f8f (1 revision) (flutter/flutter#177498)
2025-10-24 [email protected] Roll Skia from a47931d09585 to 3ed332b77bec (3 revisions) (flutter/flutter#177487)
2025-10-24 [email protected] Roll Abseil to Chromium's 5b92b04a2e (based on Abseil commit fc4481e968) (flutter/flutter#177059)
2025-10-24 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Reverts "Enhance PR template with changelog and impact details (#177333)" (#177468)" (flutter/flutter#177499)
2025-10-24 [email protected] Document DropdownMenu showTrailingIcon and decorationBuilder interaction (flutter/flutter#177488)
2025-10-24 [email protected] Roll Dart SDK from 4a65fb890852 to d3248b00f545 (1 revision) (flutter/flutter#177486)
2025-10-24 [email protected] Fix bottom sheet Semantics route label for mismatched platforms (flutter/flutter#177094)
2025-10-24 [email protected] Roll Skia from eba11de00d5b to a47931d09585 (5 revisions) (flutter/flutter#177481)
2025-10-24 [email protected] Fix Dialog Semantics label and flags for mismatched platforms (flutter/flutter#176781)
2025-10-24 [email protected] Fix drawer Semantics for mismatched platforms (flutter/flutter#177095)
2025-10-24 [email protected] Roll Dart SDK from f7751ccea102 to 4a65fb890852 (2 revisions) (flutter/flutter#177480)
2025-10-23 [email protected] Change the root path of the license crawl to engine/src (flutter/flutter#177352)
2025-10-23 [email protected] [Material] Change default mouse cursor of buttons to basic arrow instead of click (except on web) (flutter/flutter#171796)
2025-10-23 [email protected] [Desktop] Propagate SemanticsNode::identifier to AXPlatformNodeDelegate::AuthorUniqueId (flutter/flutter#175405)
2025-10-23 [email protected] Roll Skia from 59ef57f4104e to eba11de00d5b (5 revisions) (flutter/flutter#177461)
2025-10-23 [email protected] Roll customer tests (flutter/flutter#177409)
2025-10-23 [email protected] Update CHANGELOG 3.35.7 notes (flutter/flutter#177463)
2025-10-23 [email protected] Marks Mac module_uiscene_test_ios to be unflaky (flutter/flutter#177378)
2025-10-23 [email protected] Allow empty dart defines in `flutter assemble` (flutter/flutter#177198)
2025-10-23 [email protected] Roll Packages from d113bbc to 9ec29b6 (12 revisions) (flutter/flutter#177455)
2025-10-23 [email protected] Implements engine-side declarative pointer event handling for semantics. (flutter/flutter#176974)
2025-10-23 [email protected] Fix the platform name of the windowing_test target for macOS in ci.yaml (flutter/flutter#177472)
2025-10-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Enhance PR template with changelog and impact details (#177333)" (flutter/flutter#177468)
2025-10-23 [email protected] Change Flutter APIs to use spans (flutter/flutter#177272)
2025-10-23 [email protected] Roll Dart SDK from 020988602772 to f7751ccea102 (4 revisions) (flutter/flutter#177449)
2025-10-23 [email protected] [macOS] Implement regular window (flutter/flutter#176361)
2025-10-23 [email protected] Enhance PR template with changelog and impact details (flutter/flutter#177333)
2025-10-23 [email protected] Roll Skia from 6e6acf6644ef to 59ef57f4104e (2 revisions) (flutter/flutter#177436)
2025-10-23 [email protected] Add directional static members to AlignmentGeometry. (flutter/flutter#176571)
2025-10-23 [email protected] Roll ICU from 1b2e3e8a421e to ff35c4f9df23 (5 revisions) (flutter/flutter#177434)
2025-10-23 [email protected] Adds a new CI build for Linux host DDM-enabled artifacts (flutter/flutter#177252)
2025-10-23 [email protected] Roll Skia from 920cdcadd74c to 6e6acf6644ef (1 revision) (flutter/flutter#177432)
2025-10-23 [email protected] Roll Skia from 8cd449e4953b to 920cdcadd74c (6 revisions) (flutter/flutter#177426)
2025-10-23 [email protected] Added ahem license (flutter/flutter#177423)
2025-10-23 [email protected] Roll Dart SDK from 75f6ccb9bdc5 to 020988602772 (1 revision) (flutter/flutter#177421)
2025-10-23 [email protected] [web] Set `pointer-events: none` for img-element-backed images (flutter/flutter#177418)
2025-10-22 [email protected] Remove the x64 version of build_ios_framework_module_test (flutter/flutter#177136)
2025-10-22 [email protected] Fix accessibility events not being correctly translated to ATK (flutter/flutter#176991)
2025-10-22 [email protected] Roll Skia from b55bd60ed95b to 8cd449e4953b (8 revisions) (flutter/flutter#177405)
2025-10-22 [email protected] Roll Dart SDK from c23010c4f9e6 to 75f6ccb9bdc5 (4 revisions) (flutter/flutter#177399)
2025-10-22 [email protected] Fixes crash when adding and removing mulitple page-based route (flutter/flutter#177338)
2025-10-22 [email protected] Move child parameter to end of RefreshIndicator constructor (flutter/flutter#177019)
2025-10-22 [email protected] refactor: migrate OpenUpwardsPageTransitionsBuilder to widgets (flutter/flutter#177080)
2025-10-22 [email protected] Delete stray 'text' file (flutter/flutter#177355)
...
reidbaker pushed a commit to AbdeMohlbi/flutter that referenced this pull request Dec 10, 2025
…er#176991)

This was a regression introduced in
117c60e which didn't correctly migrate
to the newer tristate a11y API.

Fixes flutter#176360
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop cp: beta cherry pick this pull request to beta release candidate branch cp: stable cherry pick this pull request to stable release candidate branch engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Screen reader not working on Flutter 3.35.x

4 participants