Skip to content

Commit 651cc26

Browse files
xuelgongfacebook-github-bot
authored andcommitted
Move accessibilityActions property to UIView+React (facebook#25015)
Summary: As PR [facebook#24743](facebook#24743) suggested, accessibility properties are better to set on UIView+React instead of RCTView so they can be used safely on any UIView. ## Changelog [General] [Fixed] - Move accessibilityActions props to UIView+React Pull Request resolved: facebook#25015 Differential Revision: D15503131 Pulled By: cpojer fbshipit-source-id: dedf9afbd0a1d35a5abbd13ace95ee620f718f39
1 parent b9b9137 commit 651cc26

File tree

3 files changed

+7
-19
lines changed

3 files changed

+7
-19
lines changed

React/Views/RCTView.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ extern const UIAccessibilityTraits SwitchAccessibilityTrait;
2323
/**
2424
* Accessibility event handlers
2525
*/
26-
@property (nonatomic, copy) NSArray <NSDictionary *> *accessibilityActions;
2726
@property (nonatomic, copy) RCTDirectEventBlock onAccessibilityAction;
2827
@property (nonatomic, copy) RCTDirectEventBlock onAccessibilityTap;
2928
@property (nonatomic, copy) RCTDirectEventBlock onMagicTap;

React/Views/RCTView.m

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -158,33 +158,21 @@ - (NSString *)accessibilityLabel
158158
return RCTRecursiveAccessibilityLabel(self);
159159
}
160160

161-
-(void)setAccessibilityActions:(NSArray *)actions
162-
{
163-
if (!actions) {
164-
return;
165-
}
166-
accessibilityActionsNameMap = [[NSMutableDictionary alloc] init];
167-
accessibilityActionsLabelMap = [[NSMutableDictionary alloc] init];
168-
for (NSDictionary *action in actions) {
169-
if (action[@"name"]) {
170-
accessibilityActionsNameMap[action[@"name"]] = action;
171-
}
172-
if (action[@"label"]) {
173-
accessibilityActionsLabelMap[action[@"label"]] = action;
174-
}
175-
}
176-
_accessibilityActions = [actions copy];
177-
}
178-
179161
- (NSArray <UIAccessibilityCustomAction *> *)accessibilityCustomActions
180162
{
181163
if (!self.accessibilityActions.count) {
182164
return nil;
183165
}
184166

167+
accessibilityActionsNameMap = [[NSMutableDictionary alloc] init];
168+
accessibilityActionsLabelMap = [[NSMutableDictionary alloc] init];
185169
NSMutableArray *actions = [NSMutableArray array];
186170
for (NSDictionary *action in self.accessibilityActions) {
171+
if (action[@"name"]) {
172+
accessibilityActionsNameMap[action[@"name"]] = action;
173+
}
187174
if (action[@"label"]) {
175+
accessibilityActionsLabelMap[action[@"label"]] = action;
188176
[actions addObject:[[UIAccessibilityCustomAction alloc] initWithName:action[@"label"]
189177
target:self
190178
selector:@selector(didActivateAccessibilityCustomAction:)]];

React/Views/UIView+React.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
@property (nonatomic, copy) NSString *accessibilityRole;
120120
@property (nonatomic, copy) NSArray <NSString *> *accessibilityStates;
121121
@property (nonatomic, copy) NSDictionary<NSString *, id> *accessibilityState;
122+
@property (nonatomic, copy) NSArray <NSDictionary *> *accessibilityActions;
122123

123124
/**
124125
* Used in debugging to get a description of the view hierarchy rooted at

0 commit comments

Comments
 (0)