add accessibility id for footer button in session table view controller

pull/941/head
Ryan Zhao 2 years ago
parent 269423a9d8
commit 952751603b

@ -104,6 +104,7 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
style: .bordered, style: .bordered,
title: "DISAPPERING_MESSAGES_SAVE_TITLE".localized(), title: "DISAPPERING_MESSAGES_SAVE_TITLE".localized(),
isEnabled: true, isEnabled: true,
accessibilityIdentifier: "Set button",
minWidth: 110, minWidth: 110,
onTap: { onTap: {
self?.saveChanges() self?.saveChanges()
@ -193,6 +194,8 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
} }
), ),
isEnabled: DisappearingMessagesConfiguration.isNewConfigurationEnabled, isEnabled: DisappearingMessagesConfiguration.isNewConfigurationEnabled,
accessibilityIdentifier: "Disappear after read option",
accessibilityLabel: "Disappear after read option",
onTap: { onTap: {
let updatedConfig: DisappearingMessagesConfiguration = currentSelection let updatedConfig: DisappearingMessagesConfiguration = currentSelection
.with( .with(
@ -218,6 +221,8 @@ class ThreadDisappearingMessagesViewModel: SessionTableViewModel<ThreadDisappear
} }
), ),
isEnabled: DisappearingMessagesConfiguration.isNewConfigurationEnabled, isEnabled: DisappearingMessagesConfiguration.isNewConfigurationEnabled,
accessibilityIdentifier: "Disappear after send option",
accessibilityLabel: "Disappear after send option",
onTap: { onTap: {
let updatedConfig: DisappearingMessagesConfiguration = currentSelection let updatedConfig: DisappearingMessagesConfiguration = currentSelection
.with( .with(

@ -28,7 +28,7 @@ final class ConversationTitleView: UIView {
private lazy var titleLabel: UILabel = { private lazy var titleLabel: UILabel = {
let result: UILabel = UILabel() let result: UILabel = UILabel()
result.accessibilityIdentifier = "Username" result.accessibilityIdentifier = "Conversation header name"
result.isAccessibilityElement = true result.isAccessibilityElement = true
result.font = .boldSystemFont(ofSize: Values.mediumFontSize) result.font = .boldSystemFont(ofSize: Values.mediumFontSize)
result.themeTextColor = .textPrimary result.themeTextColor = .textPrimary
@ -158,7 +158,7 @@ final class ConversationTitleView: UIView {
labelInfos.append( labelInfos.append(
SessionLabelCarouselView.LabelInfo( SessionLabelCarouselView.LabelInfo(
attributedText: notificationSettingsLabelString, attributedText: notificationSettingsLabelString,
accessibilityId: nil, accessibilityIdentifier: nil,
type: .notificationSettings type: .notificationSettings
) )
) )
@ -179,7 +179,7 @@ final class ConversationTitleView: UIView {
labelInfos.append( labelInfos.append(
SessionLabelCarouselView.LabelInfo( SessionLabelCarouselView.LabelInfo(
attributedText: notificationSettingsLabelString, attributedText: notificationSettingsLabelString,
accessibilityId: nil, accessibilityIdentifier: nil,
type: .notificationSettings type: .notificationSettings
) )
) )
@ -205,7 +205,7 @@ final class ConversationTitleView: UIView {
labelInfos.append( labelInfos.append(
SessionLabelCarouselView.LabelInfo( SessionLabelCarouselView.LabelInfo(
attributedText: userCountLabelString, attributedText: userCountLabelString,
accessibilityId: nil, accessibilityIdentifier: nil,
type: .userCount type: .userCount
) )
) )
@ -241,7 +241,7 @@ final class ConversationTitleView: UIView {
labelInfos.append( labelInfos.append(
SessionLabelCarouselView.LabelInfo( SessionLabelCarouselView.LabelInfo(
attributedText: disappearingMessageSettingLabelString, attributedText: disappearingMessageSettingLabelString,
accessibilityId: "Disappearing messages type and time", accessibilityIdentifier: "Disappearing messages type and time",
type: .disappearingMessageSetting type: .disappearingMessageSetting
) )
) )

@ -23,7 +23,7 @@ final class SessionLabelCarouselView: UIView, UIScrollViewDelegate {
public struct LabelInfo { public struct LabelInfo {
let attributedText: NSAttributedString let attributedText: NSAttributedString
let accessibilityId: String? let accessibilityIdentifier: String?
let type: LabelType let type: LabelType
} }
@ -139,7 +139,7 @@ final class SessionLabelCarouselView: UIView, UIScrollViewDelegate {
label.themeTextColor = .textPrimary label.themeTextColor = .textPrimary
label.lineBreakMode = .byTruncatingTail label.lineBreakMode = .byTruncatingTail
label.attributedText = $0.attributedText label.attributedText = $0.attributedText
label.accessibilityIdentifier = $0.accessibilityId label.accessibilityIdentifier = $0.accessibilityIdentifier
label.isAccessibilityElement = true label.isAccessibilityElement = true
wrapper.addSubview(label) wrapper.addSubview(label)
label.center(in: wrapper) label.center(in: wrapper)

@ -299,6 +299,8 @@ class SessionTableViewController<NavItemId: Equatable, Section: SessionTableSect
self?.footerButton.setStyle(buttonInfo.style) self?.footerButton.setStyle(buttonInfo.style)
self?.footerButton.isEnabled = buttonInfo.isEnabled self?.footerButton.isEnabled = buttonInfo.isEnabled
self?.footerButton.set(.width, greaterThanOrEqualTo: buttonInfo.minWidth) self?.footerButton.set(.width, greaterThanOrEqualTo: buttonInfo.minWidth)
self?.footerButton.accessibilityIdentifier = buttonInfo.accessibilityIdentifier
self?.footerButton.accessibilityLabel = buttonInfo.accessibilityLabel
} }
self?.onFooterTap = buttonInfo?.onTap self?.onFooterTap = buttonInfo?.onTap

@ -21,6 +21,8 @@ public final class SessionButton: UIButton {
public let style: Style public let style: Style
public let title: String public let title: String
public let isEnabled: Bool public let isEnabled: Bool
public let accessibilityIdentifier: String?
public let accessibilityLabel: String?
public let minWidth: CGFloat public let minWidth: CGFloat
public let onTap: () -> () public let onTap: () -> ()
@ -28,12 +30,16 @@ public final class SessionButton: UIButton {
style: Style, style: Style,
title: String, title: String,
isEnabled: Bool, isEnabled: Bool,
accessibilityIdentifier: String? = nil,
accessibilityLabel: String? = nil,
minWidth: CGFloat = 0, minWidth: CGFloat = 0,
onTap: @escaping () -> () onTap: @escaping () -> ()
) { ) {
self.style = style self.style = style
self.title = title self.title = title
self.isEnabled = isEnabled self.isEnabled = isEnabled
self.accessibilityIdentifier = accessibilityIdentifier
self.accessibilityLabel = accessibilityLabel
self.onTap = onTap self.onTap = onTap
self.minWidth = minWidth self.minWidth = minWidth
} }

Loading…
Cancel
Save