Skip to content
This repository was archived by the owner on Jan 16, 2021. It is now read-only.

Commit fd9f852

Browse files
committed
Merge pull request #214 from huguesbr/accessibility
Adding accessibility identifiers to PFLogInView and PFSignUpView
2 parents cc318dd + e387bae commit fd9f852

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

ParseUI/Classes/LogInViewController/PFLogInView.h

+14
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,20 @@ typedef NS_OPTIONS(NSInteger, PFLogInFields) {
5757
PFLogInFieldsDismissButton)
5858
};
5959

60+
/**
61+
`PFLoginFields`'s accessibility label identifiers
62+
63+
@see PFLogInView
64+
*/
65+
extern NSString *const PFLogInViewUsernameFieldAccessibilityIdentifier;
66+
extern NSString *const PFLogInViewPasswordFieldAccessibilityIdentifier;
67+
extern NSString *const PFLogInViewLogInButtonAccessibilityIdentifier;
68+
extern NSString *const PFLogInViewSignUpButtonAccessibilityIdentifier;
69+
extern NSString *const PFLogInViewPasswordForgottenButtonAccessibilityIdentifier;
70+
extern NSString *const PFLogInViewTwitterButtonAccessibilityIdentifier;
71+
extern NSString *const PFLogInViewFacebookButtonAccessibilityIdentifier;
72+
extern NSString *const PFLogInViewDismissButtonAccessibilityIdentifier;
73+
6074
@class PFTextField;
6175

6276
/**

ParseUI/Classes/LogInViewController/PFLogInView.m

+21
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,19 @@
3535
static NSString *const PFLogInViewDefaultFacebookButtonImageName = @"facebook_icon.png";
3636
static NSString *const PFLogInViewDefaultTwitterButtonImageName = @"twitter_icon.png";
3737

38+
///--------------------------------------
39+
#pragma mark - Accessibility Identifiers
40+
///--------------------------------------
41+
42+
NSString *const PFLogInViewUsernameFieldAccessibilityIdentifier = @"PFLogInViewUsernameFieldAccessibilityIdentifier";
43+
NSString *const PFLogInViewPasswordFieldAccessibilityIdentifier = @"PFLogInViewPasswordFieldAccessibilityIdentifier";
44+
NSString *const PFLogInViewLogInButtonAccessibilityIdentifier = @"PFLogInViewLogInButtonAccessibilityIdentifier";
45+
NSString *const PFLogInViewSignUpButtonAccessibilityIdentifier = @"PFLogInViewSignUpButtonAccessibilityIdentifier";
46+
NSString *const PFLogInViewPasswordForgottenButtonAccessibilityIdentifier = @"PFLogInViewPasswordForgottenButtonAccessibilityIdentifier";
47+
NSString *const PFLogInViewTwitterButtonAccessibilityIdentifier = @"PFLogInViewTwitterButtonAccessibilityIdentifier";
48+
NSString *const PFLogInViewFacebookButtonAccessibilityIdentifier = @"PFLogInViewFacebookButtonAccessibilityIdentifier";
49+
NSString *const PFLogInViewDismissButtonAccessibilityIdentifier = @"PFLogInViewDismissButtonAccessibilityIdentifier";
50+
3851
@implementation PFLogInView
3952

4053
///--------------------------------------
@@ -109,6 +122,7 @@ - (void)_updateAllFields {
109122
if (_fields & PFLogInFieldsDismissButton) {
110123
if (!_dismissButton) {
111124
_dismissButton = [[PFDismissButton alloc] initWithFrame:CGRectZero];
125+
_dismissButton.accessibilityIdentifier = PFLogInViewDismissButtonAccessibilityIdentifier;
112126
[self addSubview:_dismissButton];
113127
}
114128
} else {
@@ -121,6 +135,7 @@ - (void)_updateAllFields {
121135
_usernameField = [[PFTextField alloc] initWithFrame:CGRectZero
122136
separatorStyle:(PFTextFieldSeparatorStyleTop |
123137
PFTextFieldSeparatorStyleBottom)];
138+
_usernameField.accessibilityIdentifier = PFLogInViewUsernameFieldAccessibilityIdentifier;
124139
_usernameField.autocorrectionType = UITextAutocorrectionTypeNo;
125140
_usernameField.autocapitalizationType = UITextAutocapitalizationTypeNone;
126141
_usernameField.returnKeyType = UIReturnKeyNext;
@@ -131,6 +146,7 @@ - (void)_updateAllFields {
131146
if (!_passwordField) {
132147
_passwordField = [[PFTextField alloc] initWithFrame:CGRectZero
133148
separatorStyle:PFTextFieldSeparatorStyleBottom];
149+
_passwordField.accessibilityIdentifier = PFLogInViewPasswordFieldAccessibilityIdentifier;
134150
_passwordField.placeholder = PFLocalizedString(@"Password", @"Password");
135151
_passwordField.secureTextEntry = YES;
136152
_passwordField.autocorrectionType = UITextAutocorrectionTypeNo;
@@ -150,6 +166,7 @@ - (void)_updateAllFields {
150166
if (!_signUpButton) {
151167
_signUpButton = [[PFActionButton alloc] initWithConfiguration:[[self class] _defaultSignUpButtonConfiguration]
152168
buttonStyle:PFActionButtonStyleNormal];
169+
_signUpButton.accessibilityIdentifier = PFLogInViewSignUpButtonAccessibilityIdentifier;
153170
[self addSubview:_signUpButton];
154171
}
155172
} else {
@@ -160,6 +177,7 @@ - (void)_updateAllFields {
160177
if (_fields & PFLogInFieldsPasswordForgotten) {
161178
if (!_passwordForgottenButton) {
162179
_passwordForgottenButton = [[PFTextButton alloc] initWithFrame:CGRectZero];
180+
_passwordForgottenButton.accessibilityIdentifier = PFLogInViewPasswordForgottenButtonAccessibilityIdentifier;
163181
[_passwordForgottenButton setTitle:PFLocalizedString(@"Forgot Password?", "Forgot Password?")
164182
forState:UIControlStateNormal];
165183
[self addSubview:_passwordForgottenButton];
@@ -172,6 +190,7 @@ - (void)_updateAllFields {
172190
if (_fields & PFLogInFieldsLogInButton) {
173191
if (!_logInButton) {
174192
_logInButton = [[PFPrimaryButton alloc] initWithBackgroundImageColor:[PFColor loginButtonBackgroundColor]];
193+
_logInButton.accessibilityIdentifier = PFLogInViewLogInButtonAccessibilityIdentifier;
175194
[_logInButton setTitle:PFLocalizedString(@"Log In", @"Log In") forState:UIControlStateNormal];
176195
[self addSubview:_logInButton];
177196
}
@@ -184,6 +203,7 @@ - (void)_updateAllFields {
184203
if (!_facebookButton) {
185204
_facebookButton = [[PFActionButton alloc] initWithConfiguration:[[self class] _defaultFacebookButtonConfiguration]
186205
buttonStyle:PFActionButtonStyleNormal];
206+
_facebookButton.accessibilityIdentifier = PFLogInViewFacebookButtonAccessibilityIdentifier;
187207
[self addSubview:_facebookButton];
188208
}
189209
} else {
@@ -195,6 +215,7 @@ - (void)_updateAllFields {
195215
if (!_twitterButton) {
196216
_twitterButton = [[PFActionButton alloc] initWithConfiguration:[[self class] _defaultTwitterButtonConfiguration]
197217
buttonStyle:PFActionButtonStyleNormal];
218+
_twitterButton.accessibilityIdentifier = PFLogInViewTwitterButtonAccessibilityIdentifier;
198219
[self addSubview:_twitterButton];
199220
}
200221
} else {

ParseUI/Classes/SignUpViewController/PFSignUpView.h

+12
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,18 @@ typedef NS_OPTIONS(NSInteger, PFSignUpFields) {
4949
PFSignUpFieldsDismissButton)
5050
};
5151

52+
/**
53+
`PFSignUpFields`'s accessibity identifiers
54+
55+
@see PFSignUpView
56+
*/
57+
extern NSString *const PFSignUpViewUsernameFieldAccessibilityIdentifier;
58+
extern NSString *const PFSignUpViewEmailFieldAccessibilityIdentifier;
59+
extern NSString *const PFSignUpViewPasswordFieldAccessibilityIdentifier;
60+
extern NSString *const PFSignUpViewAdditionalFieldAccessibilityIdentifier;
61+
extern NSString *const PFSignUpViewSignUpButtonAccessibilityIdentifier;
62+
extern NSString *const PFSignUpViewDismissButtonAccessibilityIdentifier;
63+
5264
@class PFTextField;
5365

5466
/**

ParseUI/Classes/SignUpViewController/PFSignUpView.m

+17
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@
3232

3333
static NSString *const PFSignUpViewDefaultLogoImageName = @"parse_logo.png";
3434

35+
///--------------------------------------
36+
#pragma mark - Accessibility Identifiers
37+
///--------------------------------------
38+
39+
NSString *const PFSignUpViewUsernameFieldAccessibilityIdentifier = @"PFSignUpViewUsernameFieldAccessibilityIdentifier";
40+
NSString *const PFSignUpViewEmailFieldAccessibilityIdentifier = @"PFSignUpViewEmailFieldAccessibilityIdentifier";
41+
NSString *const PFSignUpViewPasswordFieldAccessibilityIdentifier = @"PFSignUpViewPasswordFieldAccessibilityIdentifier";
42+
NSString *const PFSignUpViewAdditionalFieldAccessibilityIdentifier = @"PFSignUpViewAdditionalFieldAccessibilityIdentifier";
43+
NSString *const PFSignUpViewSignUpButtonAccessibilityIdentifier = @"PFSignUpViewSignUpButtonAccessibilityIdentifier";
44+
NSString *const PFSignUpViewDismissButtonAccessibilityIdentifier = @"PFSignUpViewDismissButtonAccessibilityIdentifier";
45+
3546
@implementation PFSignUpView
3647

3748
#pragma mark -
@@ -52,12 +63,14 @@ - (instancetype)initWithFields:(PFSignUpFields)otherFields {
5263

5364
if (_fields & PFSignUpFieldsDismissButton) {
5465
_dismissButton = [[PFDismissButton alloc] initWithFrame:CGRectZero];
66+
_dismissButton.accessibilityIdentifier = PFSignUpViewDismissButtonAccessibilityIdentifier;
5567
[self addSubview:_dismissButton];
5668
}
5769

5870
_usernameField = [[PFTextField alloc] initWithFrame:CGRectZero
5971
separatorStyle:(PFTextFieldSeparatorStyleTop |
6072
PFTextFieldSeparatorStyleBottom)];
73+
_usernameField.accessibilityIdentifier = PFSignUpViewUsernameFieldAccessibilityIdentifier;
6174
_usernameField.autocorrectionType = UITextAutocorrectionTypeNo;
6275
_usernameField.autocapitalizationType = UITextAutocapitalizationTypeNone;
6376
_usernameField.returnKeyType = UIReturnKeyNext;
@@ -66,6 +79,7 @@ - (instancetype)initWithFields:(PFSignUpFields)otherFields {
6679

6780
_passwordField = [[PFTextField alloc] initWithFrame:CGRectZero
6881
separatorStyle:PFTextFieldSeparatorStyleBottom];
82+
_passwordField.accessibilityIdentifier = PFSignUpViewPasswordFieldAccessibilityIdentifier;
6983
_passwordField.placeholder = PFLocalizedString(@"Password", @"Password");
7084
_passwordField.secureTextEntry = YES;
7185
_passwordField.autocorrectionType = UITextAutocorrectionTypeNo;
@@ -80,6 +94,7 @@ - (instancetype)initWithFields:(PFSignUpFields)otherFields {
8094
if (_fields & PFSignUpFieldsEmail) {
8195
_emailField = [[PFTextField alloc] initWithFrame:CGRectZero
8296
separatorStyle:PFTextFieldSeparatorStyleBottom];
97+
_emailField.accessibilityIdentifier = PFSignUpViewEmailFieldAccessibilityIdentifier;
8398
_emailField.autocorrectionType = UITextAutocorrectionTypeNo;
8499
_emailField.autocapitalizationType = UITextAutocapitalizationTypeNone;
85100
_emailField.keyboardType = UIKeyboardTypeEmailAddress;
@@ -95,6 +110,7 @@ - (instancetype)initWithFields:(PFSignUpFields)otherFields {
95110
if (_fields & PFSignUpFieldsAdditional) {
96111
_additionalField = [[PFTextField alloc] initWithFrame:CGRectZero
97112
separatorStyle:PFTextFieldSeparatorStyleBottom];
113+
_additionalField.accessibilityIdentifier = PFSignUpViewAdditionalFieldAccessibilityIdentifier;
98114
_additionalField.autocorrectionType = UITextAutocorrectionTypeNo;
99115
_additionalField.autocapitalizationType = UITextAutocapitalizationTypeNone;
100116
_additionalField.placeholder = PFLocalizedString(@"Additional", @"Additional");
@@ -104,6 +120,7 @@ - (instancetype)initWithFields:(PFSignUpFields)otherFields {
104120

105121
if (_fields & PFSignUpFieldsSignUpButton) {
106122
_signUpButton = [[PFPrimaryButton alloc] initWithBackgroundImageColor:[PFColor signupButtonBackgroundColor]];
123+
_signUpButton.accessibilityIdentifier = PFSignUpViewSignUpButtonAccessibilityIdentifier;
107124
[_signUpButton setTitle:PFLocalizedString(@"Sign Up", @"Sign Up") forState:UIControlStateNormal];
108125
[self addSubview:_signUpButton];
109126
}

0 commit comments

Comments
 (0)