Skip to content

Commit 11f8d9c

Browse files
jimmy623facebook-github-bot
authored andcommitted
Add support for the UIAccessibilityTraitsTabBar
Summary: Changelog: Add the capability to set tabbar accessibilityRole which maps to the iOS's UIAccessibilityTraitsTabBar Reviewed By: yungsters Differential Revision: D30490752 fbshipit-source-id: f7561a8932306e133d2f65a5ab40ba0be3899ec3
1 parent ff4b336 commit 11f8d9c

File tree

8 files changed

+18
-0
lines changed

8 files changed

+18
-0
lines changed

Libraries/Components/View/ViewAccessibility.js

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export type AccessibilityRole =
3939
| 'spinbutton'
4040
| 'switch'
4141
| 'tab'
42+
| 'tabbar'
4243
| 'tablist'
4344
| 'timer'
4445
| 'list'

React/Fabric/RCTConversions.h

+3
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ inline UIAccessibilityTraits RCTUIAccessibilityTraitsFromAccessibilityTraits(
141141
if ((accessibilityTraits & AccessibilityTraits::Switch) != AccessibilityTraits::None) {
142142
result |= AccessibilityTraitSwitch;
143143
}
144+
if ((accessibilityTraits & AccessibilityTraits::TabBar) != AccessibilityTraits::None) {
145+
result |= UIAccessibilityTraitTabBar;
146+
}
144147
return result;
145148
};
146149

React/Views/RCTViewManager.m

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ @implementation RCTConvert (UIAccessibilityTraits)
5858
@"spinbutton" : @(UIAccessibilityTraitNone),
5959
@"switch" : @(SwitchAccessibilityTrait),
6060
@"tab" : @(UIAccessibilityTraitNone),
61+
@"tabbar" : @(UIAccessibilityTraitTabBar),
6162
@"tablist" : @(UIAccessibilityTraitNone),
6263
@"timer" : @(UIAccessibilityTraitNone),
6364
@"toolbar" : @(UIAccessibilityTraitNone),

ReactCommon/react/renderer/attributedstring/conversions.h

+4
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,8 @@ inline std::string toString(const AccessibilityRole &accessibilityRole) {
618618
return "switch";
619619
case AccessibilityRole::Tab:
620620
return "tab";
621+
case AccessibilityRole::TabBar:
622+
return "tabbar";
621623
case AccessibilityRole::Tablist:
622624
return "tablist";
623625
case AccessibilityRole::Timer:
@@ -687,6 +689,8 @@ inline void fromRawValue(
687689
result = AccessibilityRole::Switch;
688690
} else if (string == "tab") {
689691
result = AccessibilityRole::Tab;
692+
} else if (string == "tabbar") {
693+
result = AccessibilityRole::TabBar;
690694
} else if (string == "tablist") {
691695
result = AccessibilityRole::Tablist;
692696
} else if (string == "timer") {

ReactCommon/react/renderer/attributedstring/primitives.h

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ enum class AccessibilityRole {
112112
Spinbutton,
113113
Switch,
114114
Tab,
115+
TabBar,
115116
Tablist,
116117
Timer,
117118
Toolbar,

ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ enum class AccessibilityTraits : uint32_t {
3333
CausesPageTurn = (1 << 14),
3434
Header = (1 << 15),
3535
Switch = (1 << 16),
36+
TabBar = (1 << 17),
3637
};
3738

3839
constexpr enum AccessibilityTraits operator|(

ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h

+4
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ inline void fromString(const std::string &string, AccessibilityTraits &result) {
9494
result = AccessibilityTraits::Switch;
9595
return;
9696
}
97+
if (string == "tabbar") {
98+
result = AccessibilityTraits::TabBar;
99+
return;
100+
}
97101
result = AccessibilityTraits::None;
98102
}
99103

ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm

+3
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const Tex
288288
case AccessibilityRole::Tab:
289289
attributes[RCTTextAttributesAccessibilityRoleAttributeName] = @("tab");
290290
break;
291+
case AccessibilityRole::TabBar:
292+
attributes[RCTTextAttributesAccessibilityRoleAttributeName] = @("tabbar");
293+
break;
291294
case AccessibilityRole::Tablist:
292295
attributes[RCTTextAttributesAccessibilityRoleAttributeName] = @("tablist");
293296
break;

0 commit comments

Comments
 (0)