Skip to content

Commit d1427eb

Browse files
committed
Handle collection metadata in text accessibility delegate
1 parent aef472d commit d1427eb

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ internal class ReactTextViewAccessibilityDelegate(
4444
view.getTag(R.id.accessibility_state) != null ||
4545
view.getTag(R.id.accessibility_actions) != null ||
4646
view.getTag(R.id.react_test_id) != null ||
47+
view.getTag(R.id.accessibility_collection) != null ||
4748
view.getTag(R.id.accessibility_collection_item) != null ||
4849
view.getTag(R.id.accessibility_links) != null ||
4950
view.getTag(R.id.role) != null)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
package com.facebook.react.views.text
9+
10+
import android.view.View
11+
import androidx.core.view.ViewCompat
12+
import com.facebook.react.R
13+
import com.facebook.react.bridge.JavaOnlyMap
14+
import org.assertj.core.api.Assertions.assertThat
15+
import org.junit.Test
16+
import org.junit.runner.RunWith
17+
import org.robolectric.RobolectricTestRunner
18+
import org.robolectric.RuntimeEnvironment
19+
20+
@RunWith(RobolectricTestRunner::class)
21+
class ReactTextViewAccessibilityDelegateTest {
22+
23+
@Test
24+
fun testSetDelegate_accessibilityCollection_installsAccessibilityDelegate() {
25+
val view =
26+
View(RuntimeEnvironment.getApplication()).apply {
27+
setTag(
28+
R.id.accessibility_collection,
29+
JavaOnlyMap().apply {
30+
putInt("rowCount", 4)
31+
putInt("columnCount", 2)
32+
},
33+
)
34+
}
35+
36+
ReactTextViewAccessibilityDelegate.setDelegate(view, false, 0)
37+
38+
assertThat(ViewCompat.hasAccessibilityDelegate(view)).isTrue()
39+
}
40+
}

0 commit comments

Comments
 (0)