Skip to content

prevents sliver app bar from changing semantics tree when it is not n…#61012

Merged
fluttergithubbot merged 1 commit intoflutter:masterfrom
chunhtai:issues/60331
Jul 9, 2020
Merged

prevents sliver app bar from changing semantics tree when it is not n…#61012
fluttergithubbot merged 1 commit intoflutter:masterfrom
chunhtai:issues/60331

Conversation

@chunhtai
Copy link
Contributor

@chunhtai chunhtai commented Jul 7, 2020

…ecesaary

Description

When ios swipe up to focus a collapsed sliver app bar, the semantics tree suddenly change its shape and ios accessibility api can not handle it. The root cause is in the native ios side. This pr is a workaround to prevent this situation by not changing the shape of semantics tree when it is not necessary.

Related Issues

Fixes #60331

Tests

I added the following tests:

existing test coverage

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Did any tests fail when you ran them? Please read Handling breaking changes.

@fluttergithubbot fluttergithubbot added a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. labels Jul 7, 2020
@chunhtai chunhtai requested review from Piinks and goderbauer July 7, 2020 19:31
@goderbauer
Copy link
Member

The root cause is in the native ios side.

What is the root cause there? Can we fix it in the bridge?

Also, did you double check that this does not break anything with regards to implicit a11y scrolling on Android?

@goderbauer
Copy link
Member

Looks like some test is failing on cirrus as well.

@chunhtai
Copy link
Contributor Author

chunhtai commented Jul 8, 2020

The bridge is working correctly. The issue only happened when ios a11y focus on the sliver list content and then framework sends semantics updates to the a11y bridge that change the shape of the tree due to the excludeFromSemanticsScrolling has change its value. I have verified the tree is updated correctly in the a11y bridge. I have also verified the a11y scroll continues to work in android

@chunhtai
Copy link
Contributor Author

chunhtai commented Jul 8, 2020

the cirrus is happy after rerun, the previous failure is a flake

Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

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

LGTM

@fluttergithubbot fluttergithubbot merged commit 496ef4f into flutter:master Jul 9, 2020
mingwandroid pushed a commit to mingwandroid/flutter that referenced this pull request Sep 6, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SliverAppBar][Semantics] Voice over gets stuck when sliver app bar is collapsed.

3 participants