Skip to content

Commit

Permalink
feat: pass accessibility props to MotiPressable
Browse files Browse the repository at this point in the history
  • Loading branch information
hugo-chq committed Nov 19, 2021
1 parent b422314 commit 38e7ca8
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 2 deletions.
48 changes: 48 additions & 0 deletions packages/interactions/src/pressable/pressable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,22 @@ export const MotiPressable = forwardRef<View, MotiPressableProps>(
id,
hoveredValue,
pressedValue,
// Accessibility props
accessibilityActions,
accessibilityElementsHidden,
accessibilityHint,
accessibilityIgnoresInvertColors,
accessibilityLabel,
accessibilityLiveRegion,
accessibilityRole,
accessibilityState,
accessibilityValue,
accessibilityViewIsModal,
accessible,
onAccessibilityTap,
onAccessibilityAction,
onAccessibilityEscape,
importantForAccessibility,
} = props

const _hovered = useSharedValue(false)
Expand Down Expand Up @@ -112,6 +128,22 @@ export const MotiPressable = forwardRef<View, MotiPressableProps>(
style={containerStyle}
onPress={onPress}
ref={ref}
// Accessibility props
accessibilityActions={accessibilityActions}
accessibilityElementsHidden={accessibilityElementsHidden}
accessibilityHint={accessibilityHint}
accessibilityIgnoresInvertColors={accessibilityIgnoresInvertColors}
accessibilityLabel={accessibilityLabel}
accessibilityLiveRegion={accessibilityLiveRegion}
accessibilityRole={accessibilityRole}
accessibilityState={accessibilityState}
accessibilityValue={accessibilityValue}
accessibilityViewIsModal={accessibilityViewIsModal}
accessible={accessible}
onAccessibilityTap={onAccessibilityTap}
onAccessibilityAction={onAccessibilityAction}
onAccessibilityEscape={onAccessibilityEscape}
importantForAccessibility={importantForAccessibility}
>
{child}
</Pressable>
Expand All @@ -131,6 +163,22 @@ export const MotiPressable = forwardRef<View, MotiPressableProps>(
// TODO there is an added View child here, which Pressable doesn't have.
// should we wrap the pressable children too?
containerStyle={containerStyle}
// Accessibility props
accessibilityActions={accessibilityActions}
accessibilityElementsHidden={accessibilityElementsHidden}
accessibilityHint={accessibilityHint}
accessibilityIgnoresInvertColors={accessibilityIgnoresInvertColors}
accessibilityLabel={accessibilityLabel}
accessibilityLiveRegion={accessibilityLiveRegion}
accessibilityRole={accessibilityRole}
accessibilityState={accessibilityState}
accessibilityValue={accessibilityValue}
accessibilityViewIsModal={accessibilityViewIsModal}
accessible={accessible}
onAccessibilityTap={onAccessibilityTap}
onAccessibilityAction={onAccessibilityAction}
onAccessibilityEscape={onAccessibilityEscape}
importantForAccessibility={importantForAccessibility}
>
{child}
</AnimatedTouchable>
Expand Down
22 changes: 20 additions & 2 deletions packages/interactions/src/pressable/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { ComponentProps } from 'react'
import type { MotiView } from '@motify/components'
import type { ViewStyle, Insets } from 'react-native'
import type { ViewStyle, Insets, PressableProps } from 'react-native'
import type { MotiAnimationProp } from '@motify/core'
import type Animated from 'react-native-reanimated'

Expand Down Expand Up @@ -69,4 +69,22 @@ export type MotiPressableProps = {
} & Pick<
ComponentProps<typeof MotiView>,
'children' | 'exit' | 'from' | 'transition' | 'exitTransition' | 'style'
>
> &
Pick<
PressableProps,
| 'accessibilityActions'
| 'accessibilityElementsHidden'
| 'accessibilityHint'
| 'accessibilityIgnoresInvertColors'
| 'accessibilityLabel'
| 'accessibilityLiveRegion'
| 'accessibilityRole'
| 'accessibilityState'
| 'accessibilityValue'
| 'accessibilityViewIsModal'
| 'accessible'
| 'onAccessibilityTap'
| 'onAccessibilityAction'
| 'onAccessibilityEscape'
| 'importantForAccessibility'
>;

0 comments on commit 38e7ca8

Please sign in to comment.