Skip to content

Commit

Permalink
fix: accessibility issue in android
Browse files Browse the repository at this point in the history
  • Loading branch information
DaminiPandey committed Dec 19, 2023
1 parent e8bb446 commit a4b0e50
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 10 deletions.
8 changes: 6 additions & 2 deletions packages/unstyled/accordion/src/AccordionItem.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import React, { forwardRef, useContext, useMemo } from 'react';
import React, { forwardRef, useContext, useMemo, useState } from 'react';
import { AccordionContext, AccordionItemContext } from './Context';
import { IAccordionItemProps } from './types';
import { useAccordionItem } from '@react-native-aria/accordion';

export const AccordionItem = <T,>(StyledAccordionItem: any) =>
forwardRef(({ children, ...props }: T & IAccordionItemProps, ref?: any) => {
const [titleText, setTitleText] = useState('');
const { state, isDisabledAccordion, selectedValues } =
useContext(AccordionContext);

Expand All @@ -23,14 +24,17 @@ export const AccordionItem = <T,>(StyledAccordionItem: any) =>
value,
buttonProps,
regionProps,
titleText,
setTitleText,
};
}, [
isDisabled,
isDisabledAccordion,
isExpanded,
value,
buttonProps,
regionProps,
isExpanded,
titleText,
]);

return (
Expand Down
34 changes: 26 additions & 8 deletions packages/unstyled/accordion/src/AccordionTitleText.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,28 @@
import React, { forwardRef } from 'react';
import React, { forwardRef, useContext, useEffect } from 'react';
import { AccordionItemContext } from './Context';

export const AccordionTitleText = (StyledAccordionTitleText: any) =>
forwardRef(({ children, ...props }: any, ref?: any) => {
return (
<StyledAccordionTitleText ref={ref} {...props}>
{children}
</StyledAccordionTitleText>
);
});
forwardRef(
(
{
children,
...props
}: {
children: string;
props: any;
},
ref?: any
) => {
const { setTitleText } = useContext(AccordionItemContext);

useEffect(() => {
setTitleText(children);
}, [children, setTitleText]);

return (
<StyledAccordionTitleText ref={ref} {...props}>
{children}
</StyledAccordionTitleText>
);
}
);
3 changes: 3 additions & 0 deletions packages/unstyled/accordion/src/AccordionTrigger.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export const AccordionTrigger = (StyledAccordionTrigger: any) =>
}: any,
ref?: any
) => {
const { titleText } = useContext(AccordionItemContext);
const { isDisabled, buttonProps, isExpanded } =
useContext(AccordionItemContext);

Expand All @@ -33,6 +34,8 @@ export const AccordionTrigger = (StyledAccordionTrigger: any) =>

return (
<StyledAccordionTrigger
accessible={true}
accessibilityLabel={titleText}
ref={ref}
{...props}
{...buttonProps}
Expand Down

0 comments on commit a4b0e50

Please sign in to comment.