FloatingPanel
FloatingPanel copied to clipboard
Voiceover custom actions for controlling panel state/position
Description
Related to discussion in #383.
I recently implemented custom actions for expanding/collapsing the panel in my project via a subclass. Its behavior is nearly identical to Maps.app.
I don't have much free time right now to create a PR specifically for this lib, but I hope my implementation below helps others for the time being.
Implementation
Custom Actions Implementation: OneBusAway/OBAKit#438 (includes a demo video) -- using [email protected]
- When the panel changes positions via Voiceover, the accessibility value updates which causes Voiceover to explain the new value (i.e. from 'full' to 'half') while maintaining interaction context.
- The actions will increment/decrement thru all available positions and audibly notify the user if the action cannot be completed (i.e. if the panel is already 'full screen', but they keep activating the 'expand' action).
https://user-images.githubusercontent.com/22162410/128148004-8ac67afa-7659-4f96-a0fc-6faa7e428625.mov
Thank you, @ualch9! That's so helpful 😄