Skip to content

Commit

Permalink
Fix:announcements by the screen reader interrupt any existing speech
Browse files Browse the repository at this point in the history
TODO comment:Use announceForAccessibilityWithOptions to queue this behind
any in-progress announcements

By default announcements will interrupt any existing speech, but they can be queued
behind existing speech by setting queue to true in the second parameter of
announceForAccessibilityWithOptions method as it takes an object.

i have replaced announceForAccessibility() with announceForAccessibilityWithOptions().

fixes: zulip#5611
  • Loading branch information
1010nishant committed Jan 23, 2023
1 parent 966c36a commit 964ab78
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions src/boot/OfflineNoticeProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,10 @@ export function OfflineNoticeProvider(props: ProviderProps): Node {
// another app.)

if (shouldShowUncertaintyNotice && !haveAnnouncedUncertain.current) {
// TODO(react-native-68): Use announceForAccessibilityWithOptions to
// queue this behind any in-progress announcements
AccessibilityInfo.announceForAccessibility(_('Zulip’s Internet connection is uncertain.'));
AccessibilityInfo.announceForAccessibilityWithOptions(
_('Zulip’s Internet connection is uncertain.'),
{ queue: true },
);
haveAnnouncedUncertain.current = true;
}

Expand All @@ -226,9 +227,7 @@ export function OfflineNoticeProvider(props: ProviderProps): Node {
isOnline === true
&& (haveAnnouncedOffline.current || haveAnnouncedUncertain.current)
) {
// TODO(react-native-68): Use announceForAccessibilityWithOptions to
// queue this behind any in-progress announcements
AccessibilityInfo.announceForAccessibility(_('Zulip is online.'));
AccessibilityInfo.announceForAccessibilityWithOptions(_('Zulip is online.'), { queue: true });
haveAnnouncedOffline.current = false;
haveAnnouncedUncertain.current = false;
}
Expand Down

0 comments on commit 964ab78

Please sign in to comment.