Fix bottom sheet VO order when it's hosting a navigation controller #1321
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Platforms Impacted
Description of changes
Bottom sheet VO order is incorrect when a navigation controller is hosted in the sheet. It seems like there is some default system behavior that gives nested navigation controllers a higher VO priority.
In regular use, VO order is:
Parent nav controller
main content (or dimming view when visible)
sheet resizing handle
sheet header view (if present)
sheet expanded content.
But when the sheet hosts a navigation controller, the order changes to this:
Parent nav controller
(skips main content, resizing handle, and sheet header)
Sheet-hosted nav controller
the rest
To fix this, let's explicitly specify the order of a11y elements in the bottom sheet view.
Verification
Modified the demo app to include nav controller case.
Broken - before
Screen.Recording.2022-10-25.at.4.19.54.PM.mov
Fixed - after
Screen.Recording.2022-10-25.at.4.21.21.PM.mov
Tested on device and simulator with a11y inspector.
Pull request checklist
This PR has considered:
Microsoft Reviewers: Open in CodeFlow