Skip to content

Commit 7af9bd3

Browse files
committed
Remove logic for announcing nested text
announcement of TtsSpan works with Text and nested text, but they are not focusable. The functionality will be added as second PR
1 parent 81fe302 commit 7af9bd3

File tree

7 files changed

+2
-80
lines changed

7 files changed

+2
-80
lines changed

Libraries/Text/Text.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,6 @@ const Text: React.AbstractComponent<
226226
accessibilityState={_accessibilityState}
227227
{...eventHandlersForText}
228228
accessibilityLabel={ariaLabel ?? accessibilityLabel}
229-
accessibilityUnit="none"
230229
accessibilityRole={
231230
role ? getAccessibilityRoleFromRole(role) : accessibilityRole
232231
}
@@ -252,7 +251,6 @@ const Text: React.AbstractComponent<
252251
: _accessible
253252
}
254253
accessibilityLabel={ariaLabel ?? accessibilityLabel}
255-
accessibilityUnit="none"
256254
accessibilityState={nativeTextAccessibilityState}
257255
accessibilityRole={
258256
role ? getAccessibilityRoleFromRole(role) : accessibilityRole

Libraries/Text/TextProps.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import type {
1515
AccessibilityActionInfo,
1616
AccessibilityRole,
1717
AccessibilityState,
18-
AccessibilityUnit,
1918
Role,
2019
} from '../Components/View/ViewAccessibility';
2120
import type {TextStyleProp} from '../StyleSheet/StyleSheet';
@@ -58,7 +57,6 @@ export type TextProps = $ReadOnly<{|
5857
accessibilityLanguage?: ?Stringish,
5958
accessibilityLabel?: ?Stringish,
6059
accessibilityRole?: ?AccessibilityRole,
61-
accessibilityUnit?: ?AccessibilityUnit,
6260
accessibilityState?: ?AccessibilityState,
6361
'aria-label'?: ?string,
6462

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

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.facebook.react.common.MapBuilder;
2727
import com.facebook.react.common.ReactConstants;
2828
import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
29-
import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityUnit;
3029
import com.facebook.react.uimanager.annotations.ReactProp;
3130
import com.facebook.react.uimanager.events.PointerEventHelper;
3231
import com.facebook.react.uimanager.util.ReactFindViewUtil;
@@ -251,14 +250,6 @@ public void setAccessibilityRole(@NonNull T view, @Nullable String accessibility
251250
view.setTag(R.id.accessibility_role, AccessibilityRole.fromValue(accessibilityRole));
252251
}
253252

254-
@ReactProp(name = ViewProps.ACCESSIBILITY_UNIT)
255-
public void setAccessibilityUnit(@NonNull T view, @Nullable String accessibilityUnit) {
256-
if (accessibilityUnit == null) {
257-
return;
258-
}
259-
view.setTag(R.id.accessibility_unit, AccessibilityUnit.fromValue(accessibilityUnit));
260-
}
261-
262253
@Override
263254
@ReactProp(name = ViewProps.ACCESSIBILITY_COLLECTION)
264255
public void setAccessibilityCollection(

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

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
7474

7575
private final View mView;
7676
private final AccessibilityLinks mAccessibilityLinks;
77-
private final AccessibilityLinks mAccessibilitySpans;
7877

7978
private Handler mHandler;
8079

@@ -90,36 +89,6 @@ private void scheduleAccessibilityEventSender(View host) {
9089
Message msg = mHandler.obtainMessage(SEND_EVENT, host);
9190
mHandler.sendMessageDelayed(msg, TIMEOUT_SEND_ACCESSIBILITY_EVENT);
9291
}
93-
/**
94-
* These roles are defined by Google's TalkBack screen reader, and this list should be kept up to
95-
* date with their implementation. Details can be seen in their source code here:
96-
*
97-
* <p>https://github.com/google/talkback/blob/master/utils/src/main/java/Unit.java
98-
*/
99-
public enum AccessibilityUnit {
100-
NONE,
101-
VERBATIM;
102-
103-
public static String getValue(AccessibilityUnit role) {
104-
switch (role) {
105-
case VERBATIM:
106-
return "android.type.verbatim";
107-
case NONE:
108-
return "android.type.text";
109-
default:
110-
throw new IllegalArgumentException("Invalid accessibility role value: " + role);
111-
}
112-
}
113-
114-
public static AccessibilityUnit fromValue(@Nullable String value) {
115-
for (AccessibilityUnit unit : AccessibilityUnit.values()) {
116-
if (unit.name().equalsIgnoreCase(value)) {
117-
return unit;
118-
}
119-
}
120-
throw new IllegalArgumentException("Invalid accessibility unit value: " + value);
121-
}
122-
}
12392

12493
/**
12594
* These roles are defined by Google's TalkBack screen reader, and this list should be kept up to
@@ -253,7 +222,6 @@ public void handleMessage(Message msg) {
253222
mView.setFocusable(originalFocus);
254223
ViewCompat.setImportantForAccessibility(mView, originalImportantForAccessibility);
255224
mAccessibilityLinks = (AccessibilityLinks) mView.getTag(R.id.accessibility_links);
256-
mAccessibilitySpans = (AccessibilityLinks) mView.getTag(R.id.accessibility_spans);
257225
}
258226

259227
@Nullable View mAccessibilityLabelledBy;
@@ -617,21 +585,6 @@ protected void onPopulateNodeForVirtualView(
617585
node.setBoundsInParent(getBoundsInParent(accessibleTextSpan));
618586
node.setRoleDescription(mView.getResources().getString(R.string.link_description));
619587
node.setClassName(AccessibilityRole.getValue(AccessibilityRole.BUTTON));
620-
if (mAccessibilitySpans == null) {
621-
return;
622-
}
623-
final AccessibilityLinks.AccessibleLink ttsSpan =
624-
mAccessibilitySpans.getLinkById(virtualViewId);
625-
if (ttsSpan == null) {
626-
return;
627-
}
628-
SpannableString spannableString = new SpannableString(ttsSpan.description);
629-
spannableString.setSpan(
630-
ttsSpan.span,
631-
java.lang.Math.min(spannableString.length(), ttsSpan.start),
632-
java.lang.Math.max(ttsSpan.start, ttsSpan.end - 1),
633-
0);
634-
node.setContentDescription(spannableString);
635588
}
636589

637590
private Rect getBoundsInParent(AccessibilityLinks.AccessibleLink accessibleLink) {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ public class ViewProps {
154154
public static final String ACCESSIBILITY_HINT = "accessibilityHint";
155155
public static final String ACCESSIBILITY_LIVE_REGION = "accessibilityLiveRegion";
156156
public static final String ACCESSIBILITY_ROLE = "accessibilityRole";
157-
public static final String ACCESSIBILITY_UNIT = "accessibilityUnit";
158157
public static final String ACCESSIBILITY_STATE = "accessibilityState";
159158
public static final String ACCESSIBILITY_ACTIONS = "accessibilityActions";
160159
public static final String ACCESSIBILITY_VALUE = "accessibilityValue";

ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public class TextAttributeProps {
5353
public static final short TA_KEY_IS_HIGHLIGHTED = 20;
5454
public static final short TA_KEY_LAYOUT_DIRECTION = 21;
5555
public static final short TA_KEY_ACCESSIBILITY_ROLE = 22;
56-
public static final short TA_KEY_ACCESSIBILITY_UNIT = 89;
5756

5857
public static final int UNSET = -1;
5958

@@ -104,8 +103,8 @@ public class TextAttributeProps {
104103
protected @Nullable ReactAccessibilityDelegate.AccessibilityRole mAccessibilityRole = null;
105104
protected boolean mIsAccessibilityRoleSet = false;
106105
protected boolean mIsAccessibilityUnitSet = false;
107-
protected @Nullable ReactAccessibilityDelegate.AccessibilityUnit mAccessibilityUnit =
108-
ReactAccessibilityDelegate.AccessibilityUnit.NONE;
106+
protected @Nullable ReactAccessibilityDelegate.AccessibilityRole mAccessibilityUnit =
107+
ReactAccessibilityDelegate.AccessibilityRole.NONE;
109108
protected boolean mIsAccessibilityLink = false;
110109
protected boolean mIsAccessibilityUnit = false;
111110

@@ -210,9 +209,6 @@ public static TextAttributeProps fromMapBuffer(MapBuffer props) {
210209
case TA_KEY_ACCESSIBILITY_ROLE:
211210
result.setAccessibilityRole(entry.getStringValue());
212211
break;
213-
case TA_KEY_ACCESSIBILITY_UNIT:
214-
result.setAccessibilityUnit(entry.getStringValue());
215-
break;
216212
}
217213
}
218214

@@ -254,7 +250,6 @@ public static TextAttributeProps fromReadableMap(ReactStylesDiffMap props) {
254250
result.setTextTransform(getStringProp(props, PROP_TEXT_TRANSFORM));
255251
result.setLayoutDirection(getStringProp(props, ViewProps.LAYOUT_DIRECTION));
256252
result.setAccessibilityRole(getStringProp(props, ViewProps.ACCESSIBILITY_ROLE));
257-
result.setAccessibilityUnit(getStringProp(props, ViewProps.ACCESSIBILITY_UNIT));
258253
return result;
259254
}
260255

@@ -608,14 +603,6 @@ private void setTextTransform(@Nullable String textTransform) {
608603
}
609604
}
610605

611-
private void setAccessibilityUnit(@Nullable String accessibilityUnit) {
612-
if (accessibilityUnit != null) {
613-
mIsAccessibilityUnitSet = true;
614-
mAccessibilityUnit =
615-
ReactAccessibilityDelegate.AccessibilityUnit.fromValue(accessibilityUnit);
616-
}
617-
}
618-
619606
private void setAccessibilityRole(@Nullable String accessibilityRole) {
620607
if (accessibilityRole != null) {
621608
mIsAccessibilityRoleSet = true;

ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ object ReactMapBufferPropSetter {
6464
private const val VP_POINTER_OVER_CAPTURE = 44
6565
private const val VP_BORDER_CURVES = 45 // iOS only
6666
private const val VP_FG_COLOR = 46 // iOS only?
67-
private const val VP_ACCESSIBILITY_UNIT = 89
6867

6968
// Yoga values
7069
private const val YG_BORDER_WIDTH = 100
@@ -241,9 +240,6 @@ object ReactMapBufferPropSetter {
241240
VP_ZINDEX -> {
242241
viewManager.setZIndex(view, entry.intValue.toFloat())
243242
}
244-
VP_ACCESSIBILITY_UNIT -> {
245-
viewManager.setAccessibilityUnit(view, entry.stringValue.takeIf { it.isNotEmpty() })
246-
}
247243
YG_BORDER_WIDTH -> {
248244
viewManager.borderWidth(view, entry.mapBufferValue)
249245
}

0 commit comments

Comments
 (0)