fix(menu): rtl menu no longer disappears on ios 15.4+ #25309
Merged
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.
Pull request checklist
Please check if your PR fulfills the following requirements:
ionic-docs
repo, in a separate PR. See the contributing guide for details.npm run build
) was run locally and any changes were pushednpm run lint
) has passed locally and any fixes were made for failuresPull request type
Please check the type of change your PR introduces:
What is the current behavior?
Issue URL: resolves #25192
There is a bug in the CSS Containment implementation in WebKit where focusing elements after an animation in RTL will cause the element to disappear.
When you open
ion-menu
, we focus the container element. Browsers such as WebKit will attempt to focus the first focusable element inside ofion-menu
. When this happens, the WebKit bug kicks in and the menu disappears.For some reason, this only happens when the animated element is translated using a translate3d. Using a 2d transform does not reproduce the issue.
Our translate3d usage here was added back in Ionic v3: ionic-team/ionic-v3@b31ab1b
At the time, translate3d was usually needed to force the browser to use hardware acceleration when animating the menu. This is no longer needed, and we are forcing the browser to do additional work when it does not need to.
What is the new behavior?
.menu-inner
element.Does this introduce a breaking change?
Other information
Dev build: 6.1.6-dev.11652891005.1ac88bcc