mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
5a9b7d7adc
Summary: Changelog: [Internal] In paper implementation: `accessibilityActivate` returns NO in case `onAccessibilityTap` is nil. In Fabric we have no option to detect whether `onAccessibilityTap` is nil or isn't but we don't want to prevent VoiceOver from tapping an element. This could potentially trigger action associated with element twice. Let's say you have `onPress` and `onAccessibilityTap`, it will trigger both if you trigger action through VoiceOver. Reviewed By: shergin Differential Revision: D18572432 fbshipit-source-id: c5ac002317c798a10045b6f05738299d0ae27456
78 lines
2.6 KiB
C++
78 lines
2.6 KiB
C++
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#include "AccessibilityProps.h"
|
|
|
|
#include <react/components/view/accessibilityPropsConversions.h>
|
|
#include <react/components/view/propsConversions.h>
|
|
#include <react/core/propsConversions.h>
|
|
#include <react/debug/debugStringConvertibleUtils.h>
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
AccessibilityProps::AccessibilityProps(
|
|
AccessibilityProps const &sourceProps,
|
|
RawProps const &rawProps)
|
|
: accessible(
|
|
convertRawProp(rawProps, "accessible", sourceProps.accessible)),
|
|
accessibilityLabel(convertRawProp(
|
|
rawProps,
|
|
"accessibilityLabel",
|
|
sourceProps.accessibilityLabel)),
|
|
accessibilityHint(convertRawProp(
|
|
rawProps,
|
|
"accessibilityHint",
|
|
sourceProps.accessibilityHint)),
|
|
accessibilityActions(convertRawProp(
|
|
rawProps,
|
|
"accessibilityActions",
|
|
sourceProps.accessibilityActions)),
|
|
accessibilityViewIsModal(convertRawProp(
|
|
rawProps,
|
|
"accessibilityViewIsModal",
|
|
sourceProps.accessibilityViewIsModal)),
|
|
accessibilityElementsHidden(convertRawProp(
|
|
rawProps,
|
|
"accessibilityElementsHidden",
|
|
sourceProps.accessibilityElementsHidden)),
|
|
accessibilityIgnoresInvertColors(convertRawProp(
|
|
rawProps,
|
|
"accessibilityIgnoresInvertColors",
|
|
sourceProps.accessibilityIgnoresInvertColors)),
|
|
onAccessibilityTap(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityTap",
|
|
sourceProps.onAccessibilityTap)),
|
|
onAccessibilityMagicTap(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityMagicTap",
|
|
sourceProps.onAccessibilityMagicTap)),
|
|
onAccessibilityEscape(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityEscape",
|
|
sourceProps.onAccessibilityEscape)),
|
|
onAccessibilityAction(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityAction",
|
|
sourceProps.onAccessibilityAction)),
|
|
testId(convertRawProp(rawProps, "testId", sourceProps.testId)) {}
|
|
|
|
#pragma mark - DebugStringConvertible
|
|
|
|
#if RN_DEBUG_STRING_CONVERTIBLE
|
|
SharedDebugStringConvertibleList AccessibilityProps::getDebugProps() const {
|
|
auto const &defaultProps = AccessibilityProps();
|
|
return SharedDebugStringConvertibleList{
|
|
debugStringConvertibleItem("testId", testId, defaultProps.testId),
|
|
};
|
|
}
|
|
#endif // RN_DEBUG_STRING_CONVERTIBLE
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|