Skip to content

Commit

Permalink
feat(a11y): External link as link on screen reader (#6104)
Browse files Browse the repository at this point in the history
  • Loading branch information
OtavioStasiak authored Feb 17, 2025
1 parent 02ffa54 commit 53e4ea3
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 5 deletions.
8 changes: 5 additions & 3 deletions app/containers/List/ListItem.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useMemo } from 'react';
import { I18nManager, StyleProp, StyleSheet, Text, TextStyle, View } from 'react-native';
import { I18nManager, StyleProp, StyleSheet, Text, TextStyle, View, AccessibilityRole } from 'react-native';

import Touch from '../Touch';
import { themes } from '../../lib/constants';
Expand Down Expand Up @@ -69,6 +69,7 @@ interface IListItemContent {
heightContainer?: number;
styleTitle?: StyleProp<TextStyle>;
additionalAcessibilityLabel?: string | boolean;
accessibilityRole?: AccessibilityRole;
additionalAcessibilityLabelCheck?: boolean;
}

Expand All @@ -89,7 +90,8 @@ const Content = React.memo(
heightContainer,
styleTitle,
additionalAcessibilityLabel,
additionalAcessibilityLabelCheck
additionalAcessibilityLabelCheck,
accessibilityRole
}: IListItemContent) => {
const { fontScale } = useDimensions();

Expand Down Expand Up @@ -120,7 +122,7 @@ const Content = React.memo(
testID={testID}
accessible
accessibilityLabel={handleAcessibilityLabel}
accessibilityRole='button'>
accessibilityRole={accessibilityRole ?? 'button'}>
{left ? <View style={styles.leftContainer}>{left()}</View> : null}
<View style={styles.textContainer}>
<View style={styles.textAlertContainer}>
Expand Down
3 changes: 3 additions & 0 deletions app/views/GetHelpView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,23 @@ const GetHelpView = () => {
<List.Separator />
<List.Item
title='Rocket_Chat_Documentation'
accessibilityRole='link'
right={() => <NewWindowIcon />}
onPress={() => openLink(DOCS_LINK, theme)}
testID='settings-view-get-help-documentation'
/>
<List.Separator />
<List.Item
title='Accessibility_statement'
accessibilityRole='link'
right={() => <NewWindowIcon />}
onPress={() => openLink(ACCESSIBILITY_LINK, theme)}
testID='settings-view-get-help-accessibility-statement'
/>
<List.Separator />
<List.Item
title='Glossary_of_simplified_terms'
accessibilityRole='link'
right={() => <NewWindowIcon />}
onPress={() => openLink(GLOSSARY_LINK, theme)}
testID='settings-view-get-help-glossary'
Expand Down
7 changes: 5 additions & 2 deletions app/views/LegalView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import openLink from '../lib/methods/helpers/openLink';
import { useTheme } from '../theme';
import SafeAreaView from '../containers/SafeAreaView';
import * as List from '../containers/List';
import NewWindowIcon from '../containers/NewWindowIcon';
import { OutsideParamList } from '../stacks/types';
import { IBaseScreen, IApplicationState } from '../definitions';

Expand Down Expand Up @@ -41,14 +42,16 @@ const LegalView = ({ navigation }: ILegalViewProps): React.ReactElement => {
title='Terms_of_Service'
onPress={() => onPressItem({ route: 'terms-of-service' })}
testID='legal-terms-button'
showActionIndicator
right={() => <NewWindowIcon />}
accessibilityRole='link'
/>
<List.Separator />
<List.Item
title='Privacy_Policy'
onPress={() => onPressItem({ route: 'privacy-policy' })}
testID='legal-privacy-button'
showActionIndicator
right={() => <NewWindowIcon />}
accessibilityRole='link'
/>
<List.Separator />
</List.Section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export default function NotificationDelay(): React.ReactElement {
<List.Item
title='Documentation'
onPress={openNotificationDocumentation}
accessibilityRole='link'
right={() => <NewWindowIcon size={32} color={colors.fontAnnotation} />}
testID='push-troubleshoot-view-notification-delay'
/>
Expand Down
3 changes: 3 additions & 0 deletions app/views/SettingsView/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ const SettingsView = (): React.ReactElement => {
<List.Separator />
<List.Item
title='Contact_us'
accessibilityRole='link'
onPress={sendEmail}
testID='settings-view-contact'
left={() => <List.Icon name='mail' />}
Expand All @@ -279,6 +280,7 @@ const SettingsView = (): React.ReactElement => {
<>
<List.Item
title='Review_this_app'
accessibilityRole='link'
onPress={onReviewPress}
testID='settings-view-review-app'
left={() => <List.Icon name='star' />}
Expand All @@ -289,6 +291,7 @@ const SettingsView = (): React.ReactElement => {
<List.Separator />
<List.Item
title='License'
accessibilityRole='link'
onPress={onPressLicense}
testID='settings-view-license'
left={() => <List.Icon name='file-document' />}
Expand Down

0 comments on commit 53e4ea3

Please sign in to comment.