Skip to content

synchronously flush semantics when semantics is enabled #170014

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

chunhtai
Copy link
Contributor

@chunhtai chunhtai commented Jun 4, 2025

This is an attempt to reduce initial data delay when android or iOS tries to query semantics tree.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Jun 4, 2025
@chunhtai chunhtai requested a review from jonahwilliams June 5, 2025 20:36
@chunhtai
Copy link
Contributor Author

chunhtai commented Jun 5, 2025

I am pretty sure something will be broken, just that we don't have good semantics test coverage on this part. will add more test.

@jonahwilliams would like to get your opinion first to see if this is something we should do

@@ -1389,6 +1389,7 @@ base class PipelineOwner with DiagnosticableTreeMixin {
);
_semanticsOwner = SemanticsOwner(onSemanticsUpdate: onSemanticsUpdate!);
onSemanticsOwnerCreated?.call();
flushSemantics();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

all embedding including our desktop has a trigger in the accessibility bridge to enable semantics when os query the a11y tree. For platform that has merged thread, that trigger will call this method synchronously.

This method creates semantics tree and sends update to embedding synchronously.

@jonahwilliams
Copy link
Contributor

Sorry I missed this completely. I'm not certain why we wouldn't do this, though I admit I haven't looked at this code in a while

@chunhtai
Copy link
Contributor Author

Sorry I missed this completely. I'm not certain why we wouldn't do this, though I admit I haven't looked at this code in a while

Agree, will ping again after appropriate tests are added

@github-actions github-actions bot added the a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) label Jun 13, 2025
@github-actions github-actions bot added tool Affects the "flutter" command-line tool. See also t: labels. engine flutter/engine repository. See also e: labels. labels Jun 17, 2025
@github-actions github-actions bot removed tool Affects the "flutter" command-line tool. See also t: labels. engine flutter/engine repository. See also e: labels. labels Jun 17, 2025
@justinmc
Copy link
Contributor

justinmc commented Aug 5, 2025

@chunhtai Do you need a new reviewer here?

@chunhtai chunhtai marked this pull request as draft August 5, 2025 23:01
@chunhtai
Copy link
Contributor Author

chunhtai commented Aug 5, 2025

This is not yet ready, I will try to get to this pr soon

@chunhtai chunhtai marked this pull request as ready for review August 20, 2025 18:12
@chunhtai chunhtai requested review from LongCatIsLooong and removed request for jonahwilliams August 20, 2025 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants