Skip to content

Commit 6a0eab3

Browse files
author
Marc Mulcahy
committed
Rename accessibilityValueDescription to accessibilityValue.
1 parent d386d7a commit 6a0eab3

File tree

14 files changed

+76
-77
lines changed

14 files changed

+76
-77
lines changed

Libraries/Components/View/ReactNativeViewAttributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const UIView = {
2121
accessibilityRole: true,
2222
accessibilityStates: true,
2323
accessibilityState: true,
24-
accessibilityValueDescription: true,
24+
accessibilityValue: true,
2525
accessibilityHint: true,
2626
importantForAccessibility: true,
2727
nativeID: true,

Libraries/Components/View/ReactNativeViewViewConfig.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ const ReactNativeViewConfig = {
123123
accessibilityRole: true,
124124
accessibilityStates: true,
125125
accessibilityState: true,
126-
accessibilityValueDescription: true,
126+
accessibilityValue: true,
127127
accessibilityViewIsModal: true,
128128
accessible: true,
129129
alignContent: true,

Libraries/Components/View/ViewAccessibility.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,24 +75,24 @@ export type AccessibilityState = {
7575
expanded?: boolean,
7676
};
7777

78-
export type AccessibilityValueDescription = {
78+
export type AccessibilityValue = $ReadOnly<{|
7979
/**
8080
* The minimum value of this component's range. (should be an integer)
8181
*/
82-
minimum?: number,
82+
min?: number,
8383

8484
/**
85-
* The current value of this component's range. (should be an integer)
85+
* The maximum value of this component's range. (should be an integer)
8686
*/
87-
current?: number,
87+
max?: number,
8888

8989
/**
90-
* The maximum value of this component's range. (should be an integer)
90+
* The current value of this component's range. (should be an integer)
9191
*/
92-
maximum?: number,
92+
now?: number,
9393

9494
/**
9595
* A textual description of this component's value. (will override minimum, current, and maximum if set)
9696
*/
9797
text?: string,
98-
};
98+
|}>;

Libraries/Components/View/ViewPropTypes.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import type {
1919
AccessibilityRole,
2020
AccessibilityStates,
2121
AccessibilityState,
22-
AccessibilityValueDescription,
22+
AccessibilityValue,
2323
AccessibilityActionEvent,
2424
AccessibilityActionInfo,
2525
} from './ViewAccessibility';
@@ -416,7 +416,7 @@ export type ViewProps = $ReadOnly<{|
416416
*/
417417
accessibilityStates?: ?AccessibilityStates,
418418
accessibilityState?: ?AccessibilityState,
419-
accessibilityValueDescription?: ?AccessibilityValueDescription,
419+
accessibilityValue?: ?AccessibilityValue,
420420

421421
/**
422422
* Provides an array of custom actions available for accessibility.

Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ module.exports = {
122122
>,
123123
>),
124124
accessibilityState: PropTypes.object,
125-
accessibilityValueDescription: PropTypes.object,
125+
accessibilityValue: PropTypes.object,
126126
/**
127127
* Indicates to accessibility services whether the user should be notified
128128
* when this view changes. Works for Android API >= 19 only.

RNTester/js/examples/Accessibility/AccessibilityExample.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -557,10 +557,10 @@ class FakeSliderExample extends React.Component {
557557
break;
558558
}
559559
}}
560-
accessibilityValueDescription={{
561-
minimum: 0,
562-
current: this.state.current,
563-
maximum: 100,
560+
accessibilityValue={{
561+
min: 0,
562+
now: this.state.current,
563+
max: 100,
564564
}}>
565565
<Text>Fake Slider</Text>
566566
</View>
@@ -587,7 +587,7 @@ class FakeSliderExample extends React.Component {
587587
break;
588588
}
589589
}}
590-
accessibilityValueDescription={{text: this.state.textualValue}}>
590+
accessibilityValue={{text: this.state.textualValue}}>
591591
<Text>Equalizer</Text>
592592
</View>
593593
</View>

React/Views/RCTView.m

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -285,21 +285,21 @@ - (NSString *)accessibilityValue
285285
}
286286
}
287287

288-
// handle accessibilityValueDescription
288+
// handle accessibilityValue
289289

290-
if (self.accessibilityValueDescription) {
291-
id minimum = self.accessibilityValueDescription[@"minimum"];
292-
id current = self.accessibilityValueDescription[@"current"];
293-
id maximum = self.accessibilityValueDescription[@"maximum"];
294-
id text = self.accessibilityValueDescription[@"text"];
290+
if (self.accessibilityValueInternal) {
291+
id min = self.accessibilityValueInternal[@"min"];
292+
id now = self.accessibilityValueInternal[@"now"];
293+
id max = self.accessibilityValueInternal[@"max"];
294+
id text = self.accessibilityValueInternal[@"text"];
295295
if (text && [text isKindOfClass:[NSString class]]) {
296296
[valueComponents addObject:text];
297-
} else if ([minimum isKindOfClass:[NSNumber class]] &&
298-
[current isKindOfClass:[NSNumber class]] &&
299-
[maximum isKindOfClass:[NSNumber class]] &&
300-
([minimum intValue] < [maximum intValue]) &&
301-
([minimum intValue] <= [current intValue] && [current intValue] <= [maximum intValue])) {
302-
int val = ([current intValue]*100)/([maximum intValue]-[minimum intValue]);
297+
} else if ([min isKindOfClass:[NSNumber class]] &&
298+
[now isKindOfClass:[NSNumber class]] &&
299+
[max isKindOfClass:[NSNumber class]] &&
300+
([min intValue] < [max intValue]) &&
301+
([min intValue] <= [now intValue] && [now intValue] <= [max intValue])) {
302+
int val = ([now intValue]*100)/([max intValue]-[min intValue]);
303303
[valueComponents addObject:[NSString stringWithFormat:@"%d percent", val]];
304304
}
305305
}

React/Views/RCTViewManager.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ - (RCTShadowView *)shadowView
126126
RCT_REMAP_VIEW_PROPERTY(accessibilityActions, reactAccessibilityElement.accessibilityActions, NSDictionaryArray)
127127
RCT_REMAP_VIEW_PROPERTY(accessibilityLabel, reactAccessibilityElement.accessibilityLabel, NSString)
128128
RCT_REMAP_VIEW_PROPERTY(accessibilityHint, reactAccessibilityElement.accessibilityHint, NSString)
129-
RCT_REMAP_VIEW_PROPERTY(accessibilityValueDescription, reactAccessibilityElement.accessibilityValueDescription, NSDictionary)
129+
RCT_REMAP_VIEW_PROPERTY(accessibilityValue, reactAccessibilityElement.accessibilityValueInternal, NSDictionary)
130130
RCT_REMAP_VIEW_PROPERTY(accessibilityViewIsModal, reactAccessibilityElement.accessibilityViewIsModal, BOOL)
131131
RCT_REMAP_VIEW_PROPERTY(accessibilityElementsHidden, reactAccessibilityElement.accessibilityElementsHidden, BOOL)
132132
RCT_REMAP_VIEW_PROPERTY(accessibilityIgnoresInvertColors, reactAccessibilityElement.shouldAccessibilityIgnoresInvertColors, BOOL)

React/Views/UIView+React.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
@property (nonatomic, copy) NSArray <NSString *> *accessibilityStates;
121121
@property (nonatomic, copy) NSDictionary<NSString *, id> *accessibilityState;
122122
@property (nonatomic, copy) NSArray <NSDictionary *> *accessibilityActions;
123-
@property (nonatomic, copy) NSDictionary *accessibilityValueDescription;
123+
@property (nonatomic, copy) NSDictionary *accessibilityValueInternal;
124124

125125
/**
126126
* Used in debugging to get a description of the view hierarchy rooted at

React/Views/UIView+React.m

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -337,14 +337,13 @@ - (void)setAccessibilityState:(NSDictionary<NSString *, id> *)accessibilityState
337337
objc_setAssociatedObject(self, @selector(accessibilityState), accessibilityState, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
338338
}
339339

340-
- (NSDictionary<NSString *, id> *)accessibilityValueDescription
340+
- (NSDictionary<NSString *, id> *)accessibilityValueInternal
341341
{
342342
return objc_getAssociatedObject(self, _cmd);
343343
}
344-
345-
- (void)setAccessibilityValueDescription:(NSDictionary<NSString *, id> *)accessibilityValueDescription
344+
- (void)setAccessibilityValueInternal:(NSDictionary<NSString *, id> *)accessibilityValue
346345
{
347-
objc_setAssociatedObject(self, @selector(accessibilityValueDescription), accessibilityValueDescription, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
346+
objc_setAssociatedObject(self, @selector(accessibilityValueInternal), accessibilityValue, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
348347
}
349348

350349
#pragma mark - Debug

ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void updateViewContentDescription(@NonNull T view) {
194194
final ReadableMap accessibilityState = (ReadableMap) view.getTag(R.id.accessibility_state);
195195
final String accessibilityHint = (String) view.getTag(R.id.accessibility_hint);
196196
final List<String> contentDescription = new ArrayList<>();
197-
final ReadableMap accessibilityValueDescription = (ReadableMap) view.getTag(R.id.accessibility_value_description);
197+
final ReadableMap accessibilityValue = (ReadableMap) view.getTag(R.id.accessibility_value);
198198
if (accessibilityLabel != null) {
199199
contentDescription.add(accessibilityLabel);
200200
}
@@ -229,8 +229,8 @@ private void updateViewContentDescription(@NonNull T view) {
229229
}
230230
}
231231
}
232-
if (accessibilityValueDescription != null && accessibilityValueDescription.hasKey("text")) {
233-
final Dynamic text = accessibilityValueDescription.getDynamic("text");
232+
if (accessibilityValue != null && accessibilityValue.hasKey("text")) {
233+
final Dynamic text = accessibilityValue.getDynamic("text");
234234
if (text != null && text.getType() == ReadableType.String) {
235235
contentDescription.add(text.asString());
236236
}
@@ -252,14 +252,14 @@ public void setAccessibilityActions(T view, ReadableArray accessibilityActions)
252252
view.setTag(R.id.accessibility_actions, accessibilityActions);
253253
}
254254

255-
@ReactProp(name = ViewProps.ACCESSIBILITY_VALUE_DESCRIPTION)
256-
public void setAccessibilityValueDescription(T view, ReadableMap accessibilityValueDescription) {
257-
if (accessibilityValueDescription == null) {
255+
@ReactProp(name = ViewProps.ACCESSIBILITY_VALUE)
256+
public void setAccessibilityValue(T view, ReadableMap accessibilityValue) {
257+
if (accessibilityValue == null) {
258258
return;
259259
}
260260

261-
view.setTag(R.id.accessibility_value_description, accessibilityValueDescription);
262-
if (accessibilityValueDescription.hasKey("text")) {
261+
view.setTag(R.id.accessibility_value, accessibilityValue);
262+
if (accessibilityValue.hasKey("text")) {
263263
updateViewContentDescription(view);
264264
}
265265
}

ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -221,23 +221,23 @@ public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCo
221221
}
222222
}
223223

224-
// Process accessibilityValueDescription
224+
// Process accessibilityValue
225225

226-
final ReadableMap accessibilityValueDescription = (ReadableMap) host.getTag(R.id.accessibility_value_description);
227-
if (accessibilityValueDescription != null && accessibilityValueDescription.hasKey("minimum")
228-
&& accessibilityValueDescription.hasKey("current") && accessibilityValueDescription.hasKey("maximum")) {
229-
final Dynamic minimum = accessibilityValueDescription.getDynamic("minimum");
230-
final Dynamic current = accessibilityValueDescription.getDynamic("current");
231-
final Dynamic maximum = accessibilityValueDescription.getDynamic("maximum");
232-
if (minimum != null && minimum.getType() == ReadableType.Number &&
233-
current != null && current.getType() == ReadableType.Number &&
234-
maximum != null && maximum.getType() == ReadableType.Number) {
235-
final int min = minimum.asInt();
236-
final int cur = current.asInt();
237-
final int max = maximum.asInt();
226+
final ReadableMap accessibilityValue = (ReadableMap) host.getTag(R.id.accessibility_value);
227+
if (accessibilityValue != null && accessibilityValue.hasKey("min")
228+
&& accessibilityValue.hasKey("now") && accessibilityValue.hasKey("max")) {
229+
final Dynamic minDynamic = accessibilityValue.getDynamic("min");
230+
final Dynamic nowDynamic = accessibilityValue.getDynamic("now");
231+
final Dynamic maxDynamic = accessibilityValue.getDynamic("max");
232+
if (minDynamic != null && minDynamic.getType() == ReadableType.Number &&
233+
nowDynamic != null && nowDynamic.getType() == ReadableType.Number &&
234+
maxDynamic != null && maxDynamic.getType() == ReadableType.Number) {
235+
final int min = minDynamic.asInt();
236+
final int now = nowDynamic.asInt();
237+
final int max = maxDynamic.asInt();
238238
if (max > min &&
239-
cur >= min && max >= cur) {
240-
info.setRangeInfo(RangeInfoCompat.obtain(RangeInfoCompat.RANGE_TYPE_INT, min, max, cur));
239+
now >= min && max >= now) {
240+
info.setRangeInfo(RangeInfoCompat.obtain(RangeInfoCompat.RANGE_TYPE_INT, min, max, now));
241241
}
242242
}
243243
}
@@ -248,22 +248,22 @@ public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event)
248248
super.onInitializeAccessibilityEvent(host, event);
249249
// Set item count and current item index on accessibility events for adjustable
250250
// in order to make Talkback announce the value of the adjustable
251-
final ReadableMap accessibilityValueDescription = (ReadableMap) host.getTag(R.id.accessibility_value_description);
252-
if (accessibilityValueDescription != null && accessibilityValueDescription.hasKey("minimum")
253-
&& accessibilityValueDescription.hasKey("current") && accessibilityValueDescription.hasKey("maximum")) {
254-
final Dynamic minimum = accessibilityValueDescription.getDynamic("minimum");
255-
final Dynamic current = accessibilityValueDescription.getDynamic("current");
256-
final Dynamic maximum = accessibilityValueDescription.getDynamic("maximum");
257-
if (minimum != null && minimum.getType() == ReadableType.Number &&
258-
current != null && current.getType() == ReadableType.Number &&
259-
maximum != null && maximum.getType() == ReadableType.Number) {
260-
final int min = minimum.asInt();
261-
final int cur = current.asInt();
262-
final int max = maximum.asInt();
251+
final ReadableMap accessibilityValue = (ReadableMap) host.getTag(R.id.accessibility_value);
252+
if (accessibilityValue != null && accessibilityValue.hasKey("min")
253+
&& accessibilityValue.hasKey("now") && accessibilityValue.hasKey("max")) {
254+
final Dynamic minDynamic = accessibilityValue.getDynamic("min");
255+
final Dynamic nowDynamic = accessibilityValue.getDynamic("now");
256+
final Dynamic maxDynamic = accessibilityValue.getDynamic("max");
257+
if (minDynamic != null && minDynamic.getType() == ReadableType.Number &&
258+
nowDynamic != null && nowDynamic.getType() == ReadableType.Number &&
259+
maxDynamic != null && maxDynamic.getType() == ReadableType.Number) {
260+
final int min = minDynamic.asInt();
261+
final int now = nowDynamic.asInt();
262+
final int max = maxDynamic.asInt();
263263
if (max > min &&
264-
cur >= min && max >= cur) {
264+
now >= min && max >= now) {
265265
event.setItemCount(max - min);
266-
event.setCurrentItemIndex(cur);
266+
event.setCurrentItemIndex(now);
267267
}
268268
}
269269
}
@@ -282,11 +282,11 @@ public boolean performAccessibilityAction(View host, int action, Bundle args) {
282282
// In order to make Talkback announce the change of the adjustable's value,
283283
// schedule to send a TYPE_VIEW_SELECTED event after performing the scroll actions.
284284
final AccessibilityRole accessibilityRole = (AccessibilityRole) host.getTag(R.id.accessibility_role);
285-
final ReadableMap accessibilityValueDescription = (ReadableMap) host.getTag(R.id.accessibility_value_description);
285+
final ReadableMap accessibilityValue = (ReadableMap) host.getTag(R.id.accessibility_value);
286286
if (accessibilityRole == AccessibilityRole.ADJUSTABLE
287287
&& (action == AccessibilityActionCompat.ACTION_SCROLL_FORWARD.getId()
288288
|| action == AccessibilityActionCompat.ACTION_SCROLL_BACKWARD.getId())) {
289-
if (accessibilityValueDescription != null && !accessibilityValueDescription.hasKey("text")) {
289+
if (accessibilityValue != null && !accessibilityValue.hasKey("text")) {
290290
scheduleAccessibilityEventSender(host);
291291
}
292292
return super.performAccessibilityAction(host, action, args);

ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public class ViewProps {
142142
public static final String ACCESSIBILITY_STATES = "accessibilityStates";
143143
public static final String ACCESSIBILITY_STATE = "accessibilityState";
144144
public static final String ACCESSIBILITY_ACTIONS = "accessibilityActions";
145-
public static final String ACCESSIBILITY_VALUE_DESCRIPTION = "accessibilityValueDescription";
145+
public static final String ACCESSIBILITY_VALUE = "accessibilityValue";
146146
public static final String IMPORTANT_FOR_ACCESSIBILITY = "importantForAccessibility";
147147

148148
// DEPRECATED

ReactAndroid/src/main/res/views/uimanager/values/ids.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<!--tag is used to store accessibilityActions tag-->
2828
<item type="id" name="accessibility_actions"/>
2929

30-
<!--tag is used to store accessibilityValueDescription tag -->
31-
<item type="id" name="accessibility_value_description"/>
30+
<!--tag is used to store accessibilityValue tag -->
31+
<item type="id" name="accessibility_value"/>
3232

3333
</resources>

0 commit comments

Comments
 (0)