mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Implement localization for accessibility guide words (#29576)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/29576 Changelog: [Internal] - Implement localization for accessibility guide words Reviewed By: PeteTheHeat Differential Revision: D22419882 fbshipit-source-id: 85fc4e741df3c59b64173c027a3c4e61b01bad4c
This commit is contained in:
committed by
Facebook GitHub Bot
parent
f319ff321c
commit
dd040a87a7
+31
-10
@@ -15,6 +15,7 @@
|
||||
|
||||
#import "RCTConversions.h"
|
||||
#import "RCTFabricComponentsPlugins.h"
|
||||
#import "RCTLocalizationProvider.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
@@ -109,35 +110,55 @@ using namespace facebook::react;
|
||||
return;
|
||||
}
|
||||
if (element.accessibilityTraits & UIAccessibilityTraitLink) {
|
||||
element.accessibilityHint =
|
||||
[NSString stringWithFormat:@"Link %ld of %ld.", (long)indexOfLink++, (long)numberOfLinks];
|
||||
NSString *test = [RCTLocalizationProvider RCTLocalizedString:@"Link %ld of %ld."
|
||||
withDescription:@"index of the link"];
|
||||
element.accessibilityHint = [NSString stringWithFormat:test, (long)indexOfLink++, (long)numberOfLinks];
|
||||
} else {
|
||||
element.accessibilityHint =
|
||||
[NSString stringWithFormat:@"Button %ld of %ld.", (long)indexOfButton++, (long)numberOfButtons];
|
||||
[NSString stringWithFormat:[RCTLocalizationProvider RCTLocalizedString:@"Button %ld of %ld."
|
||||
withDescription:@"index of the button"],
|
||||
(long)indexOfButton++,
|
||||
(long)numberOfButtons];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
if (numberOfLinks > 0 && numberOfButtons > 0) {
|
||||
firstElement.accessibilityHint = @"Links and buttons are found, swipe to move to them.";
|
||||
firstElement.accessibilityHint =
|
||||
[RCTLocalizationProvider RCTLocalizedString:@"Links and buttons are found, swipe to move to them."
|
||||
withDescription:@"accessibility hint for links and buttons inside text"];
|
||||
|
||||
} else if (numberOfLinks > 0) {
|
||||
NSString *firstElementHint = (numberOfLinks == 1)
|
||||
? @"One link found, swipe to move to the link."
|
||||
: [NSString stringWithFormat:@"%ld links found, swipe to move to the first link.", (long)numberOfLinks];
|
||||
? [RCTLocalizationProvider RCTLocalizedString:@"One link found, swipe to move to the link."
|
||||
withDescription:@"accessibility hint for one link inside text"]
|
||||
: [NSString stringWithFormat:[RCTLocalizationProvider
|
||||
RCTLocalizedString:@"%ld links found, swipe to move to the first link."
|
||||
withDescription:@"accessibility hint for multiple links inside text"],
|
||||
(long)numberOfLinks];
|
||||
firstElement.accessibilityHint = firstElementHint;
|
||||
|
||||
} else if (numberOfButtons > 0) {
|
||||
NSString *firstElementHint = (numberOfButtons == 1)
|
||||
? @"One button found, swipe to move to the button."
|
||||
: [NSString stringWithFormat:@"%ld buttons found, swipe to move to the first button.", (long)numberOfButtons];
|
||||
? [RCTLocalizationProvider RCTLocalizedString:@"One button found, swipe to move to the button."
|
||||
withDescription:@"accessibility hint for one button inside text"]
|
||||
: [NSString stringWithFormat:[RCTLocalizationProvider
|
||||
RCTLocalizedString:@"%ld buttons found, swipe to move to the first button."
|
||||
withDescription:@"accessibility hint for multiple buttons inside text"],
|
||||
(long)numberOfButtons];
|
||||
firstElement.accessibilityHint = firstElementHint;
|
||||
}
|
||||
|
||||
if (truncatedText && truncatedText.length > 0) {
|
||||
firstElement.accessibilityHint = (numberOfLinks > 0 || numberOfButtons > 0)
|
||||
? [NSString stringWithFormat:@"%@ Double tap to %@.", firstElement.accessibilityHint, truncatedText]
|
||||
: firstElement.accessibilityHint = [NSString stringWithFormat:@"Double tap to %@.", truncatedText];
|
||||
? [NSString
|
||||
stringWithFormat:@"%@ %@",
|
||||
firstElement.accessibilityHint,
|
||||
[RCTLocalizationProvider
|
||||
RCTLocalizedString:[NSString stringWithFormat:@"Double tap to %@.", truncatedText]
|
||||
withDescription:@"accessibility hint for truncated text with links or buttons"]]
|
||||
: [RCTLocalizationProvider RCTLocalizedString:[NSString stringWithFormat:@"Double tap to %@.", truncatedText]
|
||||
withDescription:@"accessibility hint for truncated text"];
|
||||
}
|
||||
|
||||
// add accessible element for truncation attributed string for automation purposes only
|
||||
|
||||
Reference in New Issue
Block a user