Updated the accessibility identifiers as per requirements

pull/894/head
Morgan Pretty 2 years ago
parent 2fba138782
commit 65cb1bed40

@ -329,17 +329,33 @@ class EditGroupViewModel: SessionTableViewModel, NavigatableStateHolder, Editabl
profile: memberInfo.profile,
profileIcon: memberInfo.value.profileIcon
),
title: (
memberInfo.profile?.displayName() ??
Profile.truncated(id: memberInfo.profileId, truncating: .middle)
title: SessionCell.TextInfo(
(
memberInfo.profile?.displayName() ??
Profile.truncated(id: memberInfo.profileId, truncating: .middle)
),
font: .title,
accessibility: Accessibility(
identifier: "Contact"
)
),
subtitle: (isUpdatedGroup ? memberInfo.value.statusDescription : nil),
subtitle: (!isUpdatedGroup ? nil : SessionCell.TextInfo(
memberInfo.value.statusDescription,
font: .subtitle,
accessibility: Accessibility(
identifier: "Status"
)
)),
trailingAccessory: {
switch (memberInfo.value.role, memberInfo.value.roleStatus) {
case (.admin, _), (.moderator, _): return nil
case (.standard, .failed), (.standard, .sending):
return .highlightingBackgroundLabel(
title: "context_menu_resend".localized()
title: "context_menu_resend".localized(),
accessibility: Accessibility(
identifier: "Resend invite",
label: "Resend invite"
)
)
// Intentionally including the 'pending' state in here as we want admins to

@ -289,8 +289,7 @@ final class ConversationVC: BaseVC, SessionUtilRespondingViewController, Convers
let text: String = viewModel.threadData.emptyStateText
let result: UILabel = UILabel()
result.isAccessibilityElement = true
result.accessibilityIdentifier = "Empty state label"
result.accessibilityLabel = "Empty state label"
result.accessibilityIdentifier = "Empty conversation"
result.translatesAutoresizingMaskIntoConstraints = false
result.font = .systemFont(ofSize: Values.verySmallFontSize)
result.attributedText = NSAttributedString(string: text)

@ -212,7 +212,7 @@ class MessageRequestsViewModel: SessionTableViewModel, NavigatableStateHolder, O
),
confirmTitle: "MESSAGE_REQUESTS_CLEAR_ALL_CONFIRMATION_ACTON".localized(),
confirmAccessibility: Accessibility(
identifier: "Clear"
identifier: "Clear all"
),
confirmStyle: .danger,
cancelStyle: .alert_text,

@ -526,14 +526,20 @@ class SettingsViewModel: SessionTableViewModel, NavigationItemSource, Navigatabl
icon: .rightPlus,
style: .circular,
accessibility: Accessibility(
identifier: "Image picker",
label: "Image picker"
identifier: "Upload image",
label: "Upload image"
),
onClick: { [weak self] in self?.showPhotoLibraryForAvatar() }
),
confirmTitle: "update_profile_modal_save".localized(),
confirmAccessibility: Accessibility(
identifier: "Save"
),
confirmEnabled: false,
cancelTitle: "update_profile_modal_remove".localized(),
cancelAccessibility: Accessibility(
identifier: "Remove"
),
cancelEnabled: (existingImageData != nil),
hasCloseButton: true,
dismissOnConfirm: false,

@ -18,6 +18,7 @@ public extension SessionCell {
let textAlignment: NSTextAlignment
let editingPlaceholder: String?
let interaction: Interaction
let accessibility: Accessibility?
let extraViewGenerator: (() -> UIView)?
private let fontStyle: FontStyle
@ -29,6 +30,7 @@ public extension SessionCell {
alignment: NSTextAlignment = .left,
editingPlaceholder: String? = nil,
interaction: Interaction = .none,
accessibility: Accessibility? = nil,
extraViewGenerator: (() -> UIView)? = nil
) {
self.text = text
@ -36,6 +38,7 @@ public extension SessionCell {
self.textAlignment = alignment
self.editingPlaceholder = editingPlaceholder
self.interaction = interaction
self.accessibility = accessibility
self.extraViewGenerator = extraViewGenerator
}
@ -47,6 +50,7 @@ public extension SessionCell {
textAlignment.hash(into: &hasher)
interaction.hash(into: &hasher)
editingPlaceholder.hash(into: &hasher)
accessibility.hash(into: &hasher)
}
public static func == (lhs: TextInfo, rhs: TextInfo) -> Bool {
@ -55,7 +59,8 @@ public extension SessionCell {
lhs.fontStyle == rhs.fontStyle &&
lhs.textAlignment == rhs.textAlignment &&
lhs.interaction == rhs.interaction &&
lhs.editingPlaceholder == rhs.editingPlaceholder
lhs.editingPlaceholder == rhs.editingPlaceholder &&
lhs.accessibility == rhs.accessibility
)
}
}

@ -321,7 +321,7 @@ public class SessionCell: UITableViewCell {
subtitleExtraView = info.subtitle?.extraViewGenerator?()
accessibilityIdentifier = info.accessibility?.identifier
accessibilityLabel = info.accessibility?.label
isAccessibilityElement = true
isAccessibilityElement = (info.accessibility != nil)
originalInputValue = info.title?.text
// Convenience Flags
@ -342,13 +342,15 @@ public class SessionCell: UITableViewCell {
titleLabel.text = info.title?.text
titleLabel.themeTextColor = info.styling.tintColor
titleLabel.textAlignment = (info.title?.textAlignment ?? .left)
titleLabel.accessibilityIdentifier = info.title?.accessibility?.identifier
titleLabel.accessibilityLabel = info.title?.accessibility?.label
titleLabel.isHidden = (info.title == nil)
titleTextField.text = info.title?.text
titleTextField.textAlignment = (info.title?.textAlignment ?? .left)
titleTextField.placeholder = info.title?.editingPlaceholder
titleTextField.isHidden = (info.title == nil)
titleTextField.accessibilityIdentifier = info.accessibility?.identifier
titleTextField.accessibilityLabel = info.accessibility?.label
titleTextField.accessibilityIdentifier = info.title?.accessibility?.identifier
titleTextField.accessibilityLabel = info.title?.accessibility?.label
subtitleLabel.isUserInteractionEnabled = (info.subtitle?.interaction == .copy)
subtitleLabel.font = info.subtitle?.font
subtitleLabel.attributedText = info.subtitle.map { subtitle -> NSAttributedString? in
@ -356,6 +358,8 @@ public class SessionCell: UITableViewCell {
}
subtitleLabel.themeTextColor = info.styling.subtitleTintColor
subtitleLabel.textAlignment = (info.subtitle?.textAlignment ?? .left)
subtitleLabel.accessibilityIdentifier = info.subtitle?.accessibility?.identifier
subtitleLabel.accessibilityLabel = info.subtitle?.accessibility?.label
subtitleLabel.isHidden = (info.subtitle == nil)
trailingAccessoryView.update(
with: info.trailingAccessory,

@ -573,7 +573,7 @@ public extension UIContextualAction {
body: .attributedText(confirmationModalExplanation),
confirmTitle: "TXT_DELETE_TITLE".localized(),
confirmAccessibility: Accessibility(
identifier: "Confirm delete"
identifier: "Delete"
),
confirmStyle: .danger,
cancelStyle: .alert_text,

Loading…
Cancel
Save