diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 048eeca5f76f..41f6eadb9bd3 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1024,7 +1024,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Airship: c70eed50e429f97f5adb285423c7291fb7a032ae
AirshipFrameworkProxy: 7bc4130c668c6c98e2d4c60fe4c9eb61a999be99
- boost: a7c83b31436843459a1961bfd74b96033dc77234
+ boost: 57d2868c099736d80fcd648bf211b4431e51a558
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: ff54429f0110d3c722630a98096ba689c39f6d5f
@@ -1067,7 +1067,7 @@ SPEC CHECKSUMS:
Permission-LocationWhenInUse: 3ba99e45c852763f730eabecec2870c2382b7bd4
Plaid: 7d340abeadb46c7aa1a91f896c5b22395a31fcf2
PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
- RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
+ RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: e9e7b8b45aa9bedb2fdad71740adf07a7265b9be
RCTTypeSafety: 9ae0e9206625e995f0df4d5b9ddc94411929fb30
React: a71c8e1380f07e01de721ccd52bcf9c03e81867d
@@ -1141,4 +1141,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 4ed1c7b099741c82e2b0411b95f6468e72be6c76
-COCOAPODS: 1.12.0
+COCOAPODS: 1.12.1
diff --git a/src/components/Checkbox.js b/src/components/Checkbox.js
index 0a023b7b4fb4..d321b0abee77 100644
--- a/src/components/Checkbox.js
+++ b/src/components/Checkbox.js
@@ -1,11 +1,12 @@
import React from 'react';
-import {View, Pressable} from 'react-native';
+import {View} from 'react-native';
import PropTypes from 'prop-types';
import styles from '../styles/styles';
import themeColors from '../styles/themes/default';
import stylePropTypes from '../styles/stylePropTypes';
import Icon from './Icon';
import * as Expensicons from './Icon/Expensicons';
+import PressableWithFeedback from './Pressable/PressableWithFeedback';
const propTypes = {
/** Whether checkbox is checked */
@@ -34,6 +35,9 @@ const propTypes = {
/** A ref to forward to the Pressable */
forwardedRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({current: PropTypes.instanceOf(React.Component)})]),
+
+ /** An accessibility label for the checkbox */
+ accessibilityLabel: PropTypes.string.isRequired,
};
const defaultProps = {
@@ -67,7 +71,7 @@ function Checkbox(props) {
};
return (
-
{props.children ? (
props.children
@@ -100,7 +106,7 @@ function Checkbox(props) {
)}
)}
-
+
);
}
diff --git a/src/components/CheckboxWithLabel.js b/src/components/CheckboxWithLabel.js
index 37cfcc895bff..18ad0880b92c 100644
--- a/src/components/CheckboxWithLabel.js
+++ b/src/components/CheckboxWithLabel.js
@@ -63,6 +63,9 @@ const propTypes = {
/** Saves a draft of the input value when used in a form */
/* eslint-disable-next-line react/no-unused-prop-types */
shouldSaveDraft: PropTypes.bool,
+
+ /** An accessibility label for the checkbox */
+ accessibilityLabel: PropTypes.string,
};
const defaultProps = {
@@ -76,6 +79,7 @@ const defaultProps = {
value: false,
defaultValue: false,
forwardedRef: () => {},
+ accessibilityLabel: undefined,
};
function CheckboxWithLabel(props) {
@@ -100,6 +104,7 @@ function CheckboxWithLabel(props) {
label={props.label}
hasError={Boolean(props.errorText)}
forwardedRef={props.forwardedRef}
+ accessibilityLabel={props.accessibilityLabel || props.label}
/>
);
diff --git a/src/components/CheckboxWithTooltip/checkboxWithTooltipPropTypes.js b/src/components/CheckboxWithTooltip/checkboxWithTooltipPropTypes.js
index 2d438413a197..1656fa7a82cc 100644
--- a/src/components/CheckboxWithTooltip/checkboxWithTooltipPropTypes.js
+++ b/src/components/CheckboxWithTooltip/checkboxWithTooltipPropTypes.js
@@ -25,6 +25,9 @@ const propTypes = {
/** Wheter the checkbox is disabled */
disabled: PropTypes.bool,
+ /** An accessibility label for the checkbox */
+ accessibilityLabel: PropTypes.string,
+
/** Props inherited from withWindowDimensions */
...windowDimensionsPropTypes,
};
@@ -34,6 +37,7 @@ const defaultProps = {
disabled: false,
toggleTooltip: true,
growlType: CONST.GROWL.WARNING,
+ accessibilityLabel: undefined,
};
export {propTypes, defaultProps};
diff --git a/src/components/CheckboxWithTooltip/index.js b/src/components/CheckboxWithTooltip/index.js
index 12f67fcd8c8a..70b1f345fb61 100644
--- a/src/components/CheckboxWithTooltip/index.js
+++ b/src/components/CheckboxWithTooltip/index.js
@@ -16,6 +16,7 @@ function CheckboxWithTooltip(props) {
text={props.text}
toggleTooltip={props.toggleTooltip}
disabled={props.disabled}
+ accessibilityLabel={props.accessibilityLabel || props.text}
/>
);
}
@@ -24,6 +25,7 @@ function CheckboxWithTooltip(props) {
isChecked={props.isChecked}
onPress={props.onPress}
disabled={props.disabled}
+ accessibilityLabel={props.accessibilityLabel || props.text}
/>
);
return (
diff --git a/src/components/CheckboxWithTooltip/index.native.js b/src/components/CheckboxWithTooltip/index.native.js
index 56605f95ac2e..61d171d1717a 100644
--- a/src/components/CheckboxWithTooltip/index.native.js
+++ b/src/components/CheckboxWithTooltip/index.native.js
@@ -11,6 +11,7 @@ function CheckboxWithTooltip(props) {
onPress={props.onPress}
text={props.text}
toggleTooltip={props.toggleTooltip}
+ accessibilityLabel={props.accessibilityLabel || props.text}
/>
);
}
diff --git a/src/components/ReportActionItem/TaskPreview.js b/src/components/ReportActionItem/TaskPreview.js
index 576de1991b9c..4f29f6d39984 100644
--- a/src/components/ReportActionItem/TaskPreview.js
+++ b/src/components/ReportActionItem/TaskPreview.js
@@ -81,6 +81,7 @@ function TaskPreview(props) {
TaskUtils.completeTask(props.taskReportID, taskTitle);
}
}}
+ accessibilityLabel={props.translate('newTaskPage.task')}
/>
diff --git a/src/components/TextInput/BaseTextInput.js b/src/components/TextInput/BaseTextInput.js
index f952e78d3459..ad273dab2f4b 100644
--- a/src/components/TextInput/BaseTextInput.js
+++ b/src/components/TextInput/BaseTextInput.js
@@ -19,6 +19,7 @@ import CONST from '../../CONST';
import FormHelpMessage from '../FormHelpMessage';
import isInputAutoFilled from '../../libs/isInputAutoFilled';
import * as Pressables from '../Pressable';
+import withLocalize from '../withLocalize';
const PressableWithoutFeedback = Pressables.PressableWithoutFeedback;
class BaseTextInput extends Component {
@@ -343,9 +344,10 @@ class BaseTextInput extends Component {
/>
{Boolean(this.props.secureTextEntry) && (
e.preventDefault()}
+ accessibilityLabel={this.props.translate('common.visible')}
>
(
@@ -72,6 +73,7 @@ function TermsStep(props) {
)}
/>
(
diff --git a/src/pages/ReimbursementAccount/ACHContractStep.js b/src/pages/ReimbursementAccount/ACHContractStep.js
index 2e0979b00253..6083661b0d0d 100644
--- a/src/pages/ReimbursementAccount/ACHContractStep.js
+++ b/src/pages/ReimbursementAccount/ACHContractStep.js
@@ -166,6 +166,7 @@ function ACHContractStep(props) {
{props.translate('beneficialOwnersStep.checkAllThatApply')}
(
@@ -186,6 +187,7 @@ function ACHContractStep(props) {
shouldSaveDraft
/>
(
@@ -251,6 +253,7 @@ function ACHContractStep(props) {
)}
{props.translate('beneficialOwnersStep.agreement')}
(
@@ -263,6 +266,7 @@ function ACHContractStep(props) {
shouldSaveDraft
/>
{props.translate('beneficialOwnersStep.certifyTrueAndAccurate')}}
diff --git a/src/pages/ReimbursementAccount/BankAccountManualStep.js b/src/pages/ReimbursementAccount/BankAccountManualStep.js
index 40b256ff12f2..ad62c7622b45 100644
--- a/src/pages/ReimbursementAccount/BankAccountManualStep.js
+++ b/src/pages/ReimbursementAccount/BankAccountManualStep.js
@@ -111,6 +111,7 @@ class BankAccountManualStep extends React.Component {
shouldUseDefaultValue={shouldDisableInputs}
/>
(
diff --git a/src/pages/ReimbursementAccount/BankAccountPlaidStep.js b/src/pages/ReimbursementAccount/BankAccountPlaidStep.js
index 8e46b1757e1c..9f0325128efa 100644
--- a/src/pages/ReimbursementAccount/BankAccountPlaidStep.js
+++ b/src/pages/ReimbursementAccount/BankAccountPlaidStep.js
@@ -116,6 +116,7 @@ class BankAccountPlaidStep extends React.Component {
/>
{Boolean(selectedPlaidAccountID) && !_.isEmpty(lodashGet(this.props.plaidData, 'bankAccounts')) && (
(
diff --git a/src/pages/ReimbursementAccount/CompanyStep.js b/src/pages/ReimbursementAccount/CompanyStep.js
index e44d0562b58e..21648144579c 100644
--- a/src/pages/ReimbursementAccount/CompanyStep.js
+++ b/src/pages/ReimbursementAccount/CompanyStep.js
@@ -257,6 +257,7 @@ class CompanyStep extends React.Component {
/>
(
diff --git a/src/pages/ReimbursementAccount/RequestorStep.js b/src/pages/ReimbursementAccount/RequestorStep.js
index c6496db73adc..0fa71833b34c 100644
--- a/src/pages/ReimbursementAccount/RequestorStep.js
+++ b/src/pages/ReimbursementAccount/RequestorStep.js
@@ -172,6 +172,7 @@ class RequestorStep extends React.Component {
shouldSaveDraft
/>
(
diff --git a/src/pages/settings/Payments/AddDebitCardPage.js b/src/pages/settings/Payments/AddDebitCardPage.js
index 77b7089fd2ef..65be895baee3 100644
--- a/src/pages/settings/Payments/AddDebitCardPage.js
+++ b/src/pages/settings/Payments/AddDebitCardPage.js
@@ -187,6 +187,7 @@ class DebitCardPage extends Component {
)}
(
diff --git a/src/pages/workspace/WorkspaceMembersPage.js b/src/pages/workspace/WorkspaceMembersPage.js
index 64cfafa6cfdb..e4f8559e37b7 100644
--- a/src/pages/workspace/WorkspaceMembersPage.js
+++ b/src/pages/workspace/WorkspaceMembersPage.js
@@ -317,6 +317,7 @@ function WorkspaceMembersPage(props) {
disabled={disabled}
isChecked={isChecked}
onPress={() => toggleUser(item.accountID, item.pendingAction)}
+ accessibilityLabel={item.displayName}
/>
_.contains(selectedEmployees, Number(accountID)))}
onPress={() => toggleAllUsers(removableMembers)}
+ accessibilityLabel={props.translate('workspace.people.selectAll')}
/>