Before (no way to dismiss, can still navigate behind bottom sheet)
After (can no longer navigate behind bottom sheet, escape gesture dismisses)
Issue Link :link:
Is this a bug fix or a feature? fix
Does it break any existing functionality? no
Goals of this PR :tada:
Why is the change important? CardPartsBottomSheetViewController currently has very poor accessibility. If no button is exposed in the bottom sheet, a VoiceOver user may not be able to ever escape the bottom sheet to return to the rest of the app, and when a bottom sheet pops up, VoiceOver users can still navigate to elements behind the bottom sheet. This change corrects those bugs by allowing users to use the "Escape" gesture (2 finger swipe in a "z" shape) to dismiss the bottom sheet, and by correctly denoting the bottom sheet to be a modal accessibility element, which prevents users from navigating to views behind the bottom sheet. Both of these properties are exposed for users to disable if the bottom sheet is supposed to remain sticky at the bottom of the screen and not be possible to dismiss.
What does this fix? See above
How far has it been tested? Tested for both cases of standard bottom sheets and sticky bottom sheets
How Has This Been Tested :mag:
Please let us know if you have tested your PR and if we need to reproduce the issues. Also, please let us know if we need any relevant information for running the tests.
User Interface Testing
Application Testing
Test Configuration :space_invader:
Xcode version: 12.4
Device/Simulator Physical iPhone Xs device
iOS version 14.4.2 || MacOSX version 11.2.1
Things to check on :dart:
[x] My Pull Request code follows the coding standards and styles of the project
[x] I have worked on unit tests and reviewed my code to the best of my ability
[x] I have used comments to make other coders understand my code better
[x] My changes are good to go without any warnings
[x] I have added unit tests both for the happy and sad path
[x] All of my unit tests pass successfully before pushing the PR
[x] I have made sure all dependent downstream changes impacted by my PR are working
Issue Link :link:
Goals of this PR :tada:
How Has This Been Tested :mag:
Please let us know if you have tested your PR and if we need to reproduce the issues. Also, please let us know if we need any relevant information for running the tests.
Test Configuration :space_invader:
Things to check on :dart: