Skip to content

Commit

Permalink
Add importantForAccessibility to AccessibilityProps and wire with…
Browse files Browse the repository at this point in the history
… `FormsStakingContext`

Summary:
Changelog:
[iOS][Added] - Add `importantForAccessibility` to `AccessibilityProps`

Reviewed By: shergin

Differential Revision: D22490327

fbshipit-source-id: aec7ff64ea6ddfe29bad085b87d09906fa8ee029
  • Loading branch information
ZHUANGPP authored and facebook-github-bot committed Jul 14, 2020
1 parent e5a8f42 commit fd660fd
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 1 deletion.
3 changes: 2 additions & 1 deletion ReactCommon/fabric/components/view/ViewShadowNode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ void ViewShadowNode::initialize() noexcept {
viewProps.yogaStyle.positionType() == YGPositionTypeAbsolute) ||
viewProps.yogaStyle.display() == YGDisplayNone ||
viewProps.getClipsContentToBounds() ||
isColorMeaningful(viewProps.shadowColor);
isColorMeaningful(viewProps.shadowColor) ||
viewProps.importantForAccessibility != ImportantForAccessibility::Auto;

bool formsView = isColorMeaningful(viewProps.backgroundColor) ||
isColorMeaningful(viewProps.foregroundColor) ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,12 @@ constexpr bool operator!=(
return !(rhs == lhs);
}

enum class ImportantForAccessibility {
Auto,
Yes,
No,
NoHideDescendants,
};

} // namespace react
} // namespace facebook
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@ AccessibilityProps::AccessibilityProps(
"onAccessibilityAction",
sourceProps.onAccessibilityAction,
{})),
importantForAccessibility(convertRawProp(
rawProps,
"importantForAccessibility",
sourceProps.importantForAccessibility,
ImportantForAccessibility::Auto)),
testId(convertRawProp(rawProps, "testId", sourceProps.testId, "")) {}

#pragma mark - DebugStringConvertible
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ class AccessibilityProps {
bool onAccessibilityMagicTap{};
bool onAccessibilityEscape{};
bool onAccessibilityAction{};
ImportantForAccessibility importantForAccessibility{
ImportantForAccessibility::Auto};
std::string testId{""};

#pragma mark - DebugStringConvertible
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,42 @@ inline void fromRawValue(const RawValue &value, AccessibilityState &result) {
}
}

inline std::string toString(
const ImportantForAccessibility &importantForAccessibility) {
switch (importantForAccessibility) {
case ImportantForAccessibility::Auto:
return "auto";
case ImportantForAccessibility::Yes:
return "yes";
case ImportantForAccessibility::No:
return "no";
case ImportantForAccessibility::NoHideDescendants:
return "no-hide-descendants";
}
}

inline void fromRawValue(
const RawValue &value,
ImportantForAccessibility &result) {
auto string = (std::string)value;
if (string == "auto") {
result = ImportantForAccessibility::Auto;
return;
}
if (string == "yes") {
result = ImportantForAccessibility::Yes;
return;
}
if (string == "no") {
result = ImportantForAccessibility::No;
return;
}
if (string == "no-hide-descendants") {
result = ImportantForAccessibility::NoHideDescendants;
return;
}
abort();
}

} // namespace react
} // namespace facebook

0 comments on commit fd660fd

Please sign in to comment.