@@ -130,7 +130,102 @@ inline UIAccessibilityTraits RCTUIAccessibilityTraitsFromAccessibilityTraits(
130
130
}
131
131
return result;
132
132
};
133
- #endif // [macOS]
133
+ #else // [macOS
134
+ inline NSAccessibilityRole RCTUIAccessibilityRoleFromAccessibilityTraits (
135
+ facebook::react::AccessibilityTraits accessibilityTraits)
136
+ {
137
+ using AccessibilityTraits = facebook::react::AccessibilityTraits;
138
+ if ((accessibilityTraits & AccessibilityTraits::Button) != AccessibilityTraits::None) {
139
+ if ((accessibilityTraits & AccessibilityTraits::Bar) != AccessibilityTraits::None) {
140
+ return NSAccessibilityToolbarRole ;
141
+ }
142
+ if ((accessibilityTraits & AccessibilityTraits::PopUp) != AccessibilityTraits::None) {
143
+ return NSAccessibilityPopUpButtonRole ;
144
+ }
145
+ if ((accessibilityTraits & AccessibilityTraits::Menu) != AccessibilityTraits::None) {
146
+ return NSAccessibilityMenuButtonRole ;
147
+ }
148
+ return NSAccessibilityButtonRole ;
149
+ }
150
+ if ((accessibilityTraits & AccessibilityTraits::Link) != AccessibilityTraits::None) {
151
+ return NSAccessibilityLinkRole ;
152
+ }
153
+ if ((accessibilityTraits & AccessibilityTraits::Image) != AccessibilityTraits::None) {
154
+ return NSAccessibilityImageRole ;
155
+ }
156
+ if ((accessibilityTraits & AccessibilityTraits::KeyboardKey) != AccessibilityTraits::None) {
157
+ return NSAccessibilityButtonRole ;
158
+ }
159
+ if ((accessibilityTraits & AccessibilityTraits::StaticText) != AccessibilityTraits::None) {
160
+ return NSAccessibilityStaticTextRole ;
161
+ }
162
+ if ((accessibilityTraits & AccessibilityTraits::SummaryElement) != AccessibilityTraits::None) {
163
+ return NSAccessibilityStaticTextRole ;
164
+ }
165
+ if ((accessibilityTraits & AccessibilityTraits::UpdatesFrequently) != AccessibilityTraits::None) {
166
+ return NSAccessibilityProgressIndicatorRole ;
167
+ }
168
+ if ((accessibilityTraits & AccessibilityTraits::SearchField) != AccessibilityTraits::None) {
169
+ return NSAccessibilityTextFieldRole ;
170
+ }
171
+ if ((accessibilityTraits & AccessibilityTraits::Adjustable) != AccessibilityTraits::None) {
172
+ return NSAccessibilitySliderRole ;
173
+ }
174
+ if ((accessibilityTraits & AccessibilityTraits::Header) != AccessibilityTraits::None) {
175
+ return NSAccessibilityStaticTextRole ;
176
+ }
177
+ if ((accessibilityTraits & AccessibilityTraits::Switch) != AccessibilityTraits::None) {
178
+ return NSAccessibilityCheckBoxRole ;
179
+ }
180
+ if ((accessibilityTraits & AccessibilityTraits::ComboBox) != AccessibilityTraits::None) {
181
+ return NSAccessibilityComboBoxRole ;
182
+ }
183
+ if ((accessibilityTraits & AccessibilityTraits::Menu) != AccessibilityTraits::None) {
184
+ if ((accessibilityTraits & AccessibilityTraits::Bar) != AccessibilityTraits::None) {
185
+ return NSAccessibilityMenuBarRole ;
186
+ }
187
+ if ((accessibilityTraits & AccessibilityTraits::Item) != AccessibilityTraits::None) {
188
+ return NSAccessibilityMenuItemRole ;
189
+ }
190
+ return NSAccessibilityMenuRole ;
191
+ }
192
+ if ((accessibilityTraits & AccessibilityTraits::Radio) != AccessibilityTraits::None) {
193
+ if ((accessibilityTraits & AccessibilityTraits::Group) != AccessibilityTraits::None) {
194
+ return NSAccessibilityRadioGroupRole ;
195
+ }
196
+ return NSAccessibilityRadioButtonRole ;
197
+ }
198
+ if ((accessibilityTraits & AccessibilityTraits::ScrollBar) != AccessibilityTraits::None) {
199
+ return NSAccessibilityScrollBarRole ;
200
+ }
201
+ if ((accessibilityTraits & AccessibilityTraits::SpinButton) != AccessibilityTraits::None) {
202
+ return NSAccessibilityIncrementorRole ;
203
+ }
204
+ if ((accessibilityTraits & AccessibilityTraits::TabBar) != AccessibilityTraits::None) {
205
+ return NSAccessibilityTabGroupRole ;
206
+ }
207
+ if ((accessibilityTraits & AccessibilityTraits::Tab) != AccessibilityTraits::None) {
208
+ if ((accessibilityTraits & AccessibilityTraits::List) != AccessibilityTraits::None) {
209
+ return NSAccessibilityTabGroupRole ;
210
+ }
211
+ return NSAccessibilityRadioButtonRole ;
212
+ }
213
+ if ((accessibilityTraits & AccessibilityTraits::Disclosure) != AccessibilityTraits::None) {
214
+ return NSAccessibilityDisclosureTriangleRole ;
215
+ }
216
+ if ((accessibilityTraits & AccessibilityTraits::Group) != AccessibilityTraits::None) {
217
+ return NSAccessibilityGroupRole ;
218
+ }
219
+ if ((accessibilityTraits & AccessibilityTraits::List) != AccessibilityTraits::None) {
220
+ return NSAccessibilityListRole ;
221
+ }
222
+ if ((accessibilityTraits & AccessibilityTraits::Table) != AccessibilityTraits::None) {
223
+ return NSAccessibilityTableRole ;
224
+ }
225
+
226
+ return NSAccessibilityUnknownRole ;
227
+ };
228
+ #endif // macOS]
134
229
135
230
inline CATransform3D RCTCATransform3DFromTransformMatrix (const facebook::react::Transform &transformMatrix)
136
231
{
0 commit comments