-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
♿️- Settings - Change email / Change password input fields #545
♿️- Settings - Change email / Change password input fields #545
Conversation
Right now the acceptance criteria only accounts for the default state (placeholder).,.can we potentially update it with additional state (after user has entered some text)? |
@@ -13,8 +13,10 @@ final class FindFriendsCell: UITableViewCell, ValueCell, NibLoading { | |||
private let viewModel: FindFriendsCellViewModelType = FindFriendsCellViewModel() | |||
|
|||
func configureWith(value: SettingsCellValue) { | |||
let user = value.user | |||
self.viewModel.inputs.configure(with: user) | |||
_ = self |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are the following changes necessary?
FindFriendsCell
SettingsAccountWarningCell
SettingsTableViewCell
SettingsViewController
- some of the
Settings.storyboard
(mostlyUILabel
/UITextField
prop names) HelpType
SettingsCellType
README.md
(just the installation instrucitons) necessary?
They appear as duplicates from previous PRs so we should only include changes related to change email/password input fields a11y.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't touch those files so not sure why this is happening again.
125ced4
to
eb6f486
Compare
eb6f486
to
0dde3b9
Compare
Could we update the AC when the TextFields contain text? If we tap on a text field with text, the VoiceOver will say in case of Passwors text field: And email textField: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, @cdolm92 ⭐️ . I will re-review once the AC is updated, but it's looking good so far. I left a suggestion related to strings.
|
||
_ = self.newEmailTextField | ||
|> settingsEmailFieldAutoFillStyle | ||
|> \.accessibilityLabel %~ { _ in self.newEmailLabel.text } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the string is not being evaluated for localization, we don't need to use %~
. \.accessibilityLabel .~ self.newEmailLabel.text
should be enough
|
||
_ = self.passwordTextField | ||
|> settingsPasswordFormFieldAutoFillStyle | ||
|> \.accessibilityLabel %~ { _ in self.passwordLabel.text } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same thing here.
@@ -74,6 +77,7 @@ final class ChangePasswordViewController: UIViewController, MessageBannerViewCon | |||
|
|||
_ = confirmNewPasswordTextField | |||
|> settingsNewPasswordFormFieldAutoFillStyle | |||
|> \.accessibilityLabel %~ { _ in self.confirmNewPasswordLabel.text } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here.
@@ -85,6 +89,7 @@ final class ChangePasswordViewController: UIViewController, MessageBannerViewCon | |||
|
|||
_ = currentPasswordTextField | |||
|> settingsPasswordFormFieldAutoFillStyle | |||
|> \.accessibilityLabel %~ { _ in self.currentPasswordLabel.text } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here
@@ -98,6 +103,7 @@ final class ChangePasswordViewController: UIViewController, MessageBannerViewCon | |||
|
|||
_ = newPasswordTextField | |||
|> settingsNewPasswordFormFieldAutoFillStyle | |||
|> \.accessibilityLabel %~ { _ in self.newPasswordLabel.text } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here
* textfield a11y improvement in change email and password screens * change stackview alignment * new snapshots * fixed strings
* textfield a11y improvement in change email and password screens * change stackview alignment * new snapshots * fixed strings
* Accessibility - Settings - Dismiss button (#532) * Add accessibility label to dismiss button & fix the minimum width * Set navigation item properties using key paths * Accessibility - Settings - Rows (#534) * Add button traits to settings cells * Invert disclosure indicators in Settings > Help * Add accessibility hint in case email is unverified (#535) * Accessibility - Settings - Change email - Current email (#537) * Group current email title and value for a better accessibility * Simplify the way we set accessibility label on current email container * ♿️ - Settings - Message Banner (#539) * Accessibility - Settings - Dismiss button (#532) * Add accessibility label to dismiss button & fix the minimum width * Set navigation item properties using key paths * Accessibility - Settings - Rows (#534) * Add button traits to settings cells * Invert disclosure indicators in Settings > Help * Add accessibility hint in case email is unverified (#535) * Focuses Voice Over on the banner when presented * Delay banner dismissal a bit more when VoiceOver is ON * Localize banner message * Expose delete my kickstarter account button instead of the label (#549) * ♿️- Settings - Notifications - Heading (#550) * Accessibility - Settings - Dismiss button (#532) * Add accessibility label to dismiss button & fix the minimum width * Set navigation item properties using key paths * Accessibility - Settings - Rows (#534) * Add button traits to settings cells * Invert disclosure indicators in Settings > Help * Accessibility - Settings - Dismiss button (#532) * Add accessibility label to dismiss button & fix the minimum width * Set navigation item properties using key paths * Accessibility - Settings - Rows (#534) * Add button traits to settings cells * Invert disclosure indicators in Settings > Help * Add accessibility hint in case email is unverified (#535) * Accessibility - Settings - Change email - Current email (#537) * Group current email title and value for a better accessibility * Simplify the way we set accessibility label on current email container * a11y for notification settings * swiftlint fix * ♿️- Settings - Change email / Change password input fields (#545) * textfield a11y improvement in change email and password screens * change stackview alignment * new snapshots * fixed strings * ♿️ - Settings - Switch Toggle Rows (#544) * Fix newsletter switch cell accessibility * Fix project notifications switch cell accessibility * Fix settings privacy switch cell accessibility * Refocus VoiceOver on the cell when the confirmation dialog disappears * Place UIAccessibility notification behind a VoiceOver running check * Prevent refreshing the following cell when confirming the alert dialogue * Alphabetize properties * Localize properly * ♿️ - Settings - Notifications - Daily Digest picker bug (#547) * corrected picker view hidden in iphone X in VM * Library tests * Update snapshot tests * vm and snapshot tests * snapshot tests * wip - digest picker is selected * properly aligned tableview constraint * removed output to hide picker * emailPickerViewHeight * VoiceOver re-focuses on the Email frequency cell * adjusted animation added guard * changed comment * Update Kickstarter-iOS/Views/Controllers/SettingsNotificationsViewController.swift Co-Authored-By: cdolm92 <cdolm92@gmail.com> * Apply suggestions from code review comments adjustment Co-Authored-By: cdolm92 <cdolm92@gmail.com> * Update Kickstarter-iOS/Views/Controllers/SettingsNotificationsViewController.swift Co-Authored-By: cdolm92 <cdolm92@gmail.com> * ♿️ - Settings > Notifications - Manage project notifications + Email frequency (#552) * Add button traits to project notifications & email frequency rows * Remove unused accessibility hint * Remove accessibility value * Infer UIView.AnimationOptions type * Combine conditions * Use more functional return Co-Authored-By: dusi <pavel.dusatko@gmail.com> * Fix Github's messed up suggestion * Update accessibility label to better match with localized server errors * Add localized string * Use localized string * Align filter * Remove unused call to setNeedsLayout
📲 What
Accessibility improvements to textfields in Change Email and Change Password screens.
🤔 Why
Previously VoiceOver read both the title labels and textfields we found that this was not a good pattern because it adds to the complexity of focusable elements and doesn’t provide non-visual value.
🛠 How
We disabled accessibility on all title labels. We then set the accessibility label of the textfields to the title labels text.
👀 See
✅ Acceptance criteria
on all the following: iOS 10, iOS 11 & iOS 12
with Voice Over turned ON
Test Change Email Screen
Test Tap on row
Settings > Account > Change email
New email
row, should readNew email - Email Address - Text Field - double tap to edit
Current password
row, should readCurrent password - Password - Text Field - double tap to edit
Test Double Tap on TextField
Settings > Account > Change email
New email
row, should readNew email - Email Address - Text Field - double tap to edit
New Email - text field - is editing - "Email Address" - character mode - insertion point at start
Current Password - Secure Text Field - is editing - "Password" - character mode - insertion point at start
Test Tap on row when text is present
Settings > Account > Change email
New email
row, should readNew email - (email address read) - Text Field - double tap to edit
Current password
row, should readCurrent password - (number of characters) - Secure Text Field - double tap to edit
Test Tap on textfield when text is present
Settings > Account > Change email
New Email - text field - is editing - (character) - character mode - insertion point at end
Current Password - Secure Text Field - is editing - (number of characters) - character mode - insertion point at end
Test Change Password Screen
Test Tap on row
Settings > Account > Change password
Current password
row, should readCurrent password - Password - Text Field - double tap to edit
New password
row, should readNew password - Password - Text Field - double tap to edit
Confirm new password
row, should readConfirm new password - Password - Text Field - double tap to edit
Test Tap on row when text is present
Navigate to
Settings > Account > Change password
Tap
Current password
row, should readCurrent password - (number of characters - Secure Text Field - double tap to edit
Tap
New password
row, should readNew password -(number of characters) character(s) - Secure Text Field - double tap to edit
Tap
Confirm new password
row, should readConfirm new password -(number of characters) - Secure Text Field - double tap to edit
The focus area has the same height for all fields
Current password
,New password
&Confirm new password
Test Tap on textfield when text is present
Settings > Account > Change password
Current Password - Secure Text Field - is editing - (number of characters) - character mode - insertion point at end
New Password - Secure Text Field - is editing - (number of characters) - character mode - insertion point at end
Confirm New Password - Secure Text Field - is editing - (number of characters) - character mode - insertion point at end