-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Mobile] - Fix Voice Over and assistive keyboards #53895
Conversation
…- This fixes the current React Native regression with VoiceOver and assistive keyboards
Size Change: +81 B (0%) Total Size: 1.51 MB
ℹ️ View Unchanged
|
…y introduced accessibilityState prop which causes issues with assistive keyboards
…ging the AztecView component to use Pressable
Flaky tests detected in ce4c59b. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/5953781839
|
All tests passed for me @geriux! Thank you! 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! The test plan succeed for me. 🎉 From my testing the experience mirrored that found in the 22.9 release.
This is definitely worth adding a release note IMO. |
Yup! But I was wondering if it'd make things easier if we add it when we cherry-pick it, what do you think? To prevent possible conflicts 😅 |
Ah, that makes and works for me. For another time: we should automate this. 😄 |
* AztecView - Replace usage of TouchableWithoutFeedback with Pressable - This fixes the current React Native regression with VoiceOver and assistive keyboards * Patch React Native's TextInput component to avoid passing the recently introduced accessibilityState prop which causes issues with assistive keyboards * Updates snapshots: Fule, Audio blocks and Search component after changing the AztecView component to use Pressable * Update AztecView's Pressable with changing its accessible prop to false
* AztecView - Replace usage of TouchableWithoutFeedback with Pressable - This fixes the current React Native regression with VoiceOver and assistive keyboards * Patch React Native's TextInput component to avoid passing the recently introduced accessibilityState prop which causes issues with assistive keyboards * Updates snapshots: Fule, Audio blocks and Search component after changing the AztecView component to use Pressable * Update AztecView's Pressable with changing its accessible prop to false
* AztecView - Replace usage of TouchableWithoutFeedback with Pressable - This fixes the current React Native regression with VoiceOver and assistive keyboards * Patch React Native's TextInput component to avoid passing the recently introduced accessibilityState prop which causes issues with assistive keyboards * Updates snapshots: Fule, Audio blocks and Search component after changing the AztecView component to use Pressable * Update AztecView's Pressable with changing its accessible prop to false
* Release script: Update react-native-editor version to 1.101.0 * Release script: Update with changes from 'npm run core preios' * Update `react-native-editor` CHANGELOG * Remove incorrect CHANGELOG entry The iOS focus loop will be included in 1.100.2. I've updated the CHANGELOG accordingly. * Release script: Update react-native-editor version to 1.101.1 * Release script: Update with changes from '$PRE_IOS_COMMAND' * fix: Dynamic bottom sheet height (#53608) Stretching this content with flex appears to be necessary after upgrading React Native or refactoring the bottom sheet height animation. Refactor: 0411df1 Upgrade: c2957aa * fix: Optional chaining to handle undefined title (#53721) This PR adds safety checks for the `title` property within `reusableBlock`. By using optional chaining, the code now gracefully handles scenarios where `title` might be undefined, preventing a TypeError from being thrown. * Update CHANGELOG * Release script: Update react-native-editor version to 1.101.2 * Release script: Update with changes from 'npm run core preios' * [Mobile] - Fix Voice Over and assistive keyboards (#53895) * AztecView - Replace usage of TouchableWithoutFeedback with Pressable - This fixes the current React Native regression with VoiceOver and assistive keyboards * Patch React Native's TextInput component to avoid passing the recently introduced accessibilityState prop which causes issues with assistive keyboards * Updates snapshots: Fule, Audio blocks and Search component after changing the AztecView component to use Pressable * Update AztecView's Pressable with changing its accessible prop to false * Update Changelog --------- Co-authored-by: Siobhan <siobhan@automattic.com> Co-authored-by: David Calhoun <github@davidcalhoun.me> Co-authored-by: Gerardo <gerardo.pacheco@automattic.com>
* Release script: Update react-native-editor version to 1.102.0 * Release script: Update with changes from 'npm run core preios' * Bump version in package-lock.json * Update CHANGELOG to reflect latest release * Fix PR reference in CHANGELOG entry * Release script: Update react-native-editor version to 1.102.1 * Release script: Update with changes from 'npm run core preios' * [Mobile] - Fix Voice Over and assistive keyboards (#53895) * AztecView - Replace usage of TouchableWithoutFeedback with Pressable - This fixes the current React Native regression with VoiceOver and assistive keyboards * Patch React Native's TextInput component to avoid passing the recently introduced accessibilityState prop which causes issues with assistive keyboards * Updates snapshots: Fule, Audio blocks and Search component after changing the AztecView component to use Pressable * Update AztecView's Pressable with changing its accessible prop to false * docs: Add change log entry --------- Co-authored-by: Gio Lodi <gio@mokacoding.com> Co-authored-by: Siobhan <siobhan@automattic.com> Co-authored-by: Gerardo Pacheco <gerardo.pacheco@automattic.com>
Fixes wordpress-mobile/WordPress-iOS#21399
Related PRs:
What?
This PR addresses a regression after the React Native
0.71
upgrade, affecting how VoiceOver works with assistive input like Braille Screen Input, as well as using a Bluetooth keyboard and VoiceOver enabled.There's an existing GitHub ticket in the React Native repo about this problem, it seems it only affects the legacy renderer.
Why?
React Native
0.71
includes several accessibility changes and these introduced this regression of the mobile editor.How?
First, it replaces the
TouchableWithoutFeedback
component inAztecView
withPressable
as it restores the expected behavior when using VoiceOver and an assistive keyboard. It adds theaccessible
prop tofalse
so the children components get accessed directly.Due to updating the component that wraps
RCTAztecView
some snapshots needed to be updated.Another important change is the new
patches/react-native+0.71.11.patch
patch, This was needed due to standard TextInputs being broken as well, so it applies a change that reverts the changes introduced in React Native.Testing Instructions
Note: This only affects the iOS platform and the VoiceOver functionality.
Preconditions:
Braille Screen Input
enabled in the VoiceOver Rotor.Tip: You can enable/disable VoiceOver with Siri.
VoiceOver with an assistive input (Braille Screen Input)
Adding content to the title and a Paragraph block
Adding content to the HTML editor
Using the Search block in the inserter
Updating an Image caption
Bluetooth keyboard input with VoiceOver enabled
Screenshots or screencast
VoiceOver with an assistive input (Braille Screen Input)
TestCase1_Before.mov
TestCase1_After.mov
Bluetooth keyboard input with VoiceOver enabled
TestCase2_Before.mov
TestCase2_After.mov