Accessibility fix for PRODDEF-1201

Accessibility fix to provide custom accessibilityText for list1CTxtDiv3
This commit is contained in:
Keerthy 2022-12-20 19:58:30 +05:30
parent 34ef2e5c81
commit 9dd400f894
2 changed files with 10 additions and 21 deletions

View File

@ -17,7 +17,6 @@ import Foundation
public var stack: Stack<StackModel> public var stack: Stack<StackModel>
public let headline = Label(fontStyle: .BoldTitleMedium) public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall) public let body = Label(fontStyle: .RegularBodySmall)
public var accessibilityText: String? = nil
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Initializers // MARK: - Initializers
@ -72,22 +71,17 @@ import Foundation
//---------------------------------------------------- //----------------------------------------------------
func updateAccessibilityLabel(model: ListOneColumnTextWithWhitespaceDividerTallModel) { func updateAccessibilityLabel(model: ListOneColumnTextWithWhitespaceDividerTallModel) {
if let accessibilityText = model.accessibilityText {
accessibilityLabel = accessibilityText var message = ""
}else {
var message = "" if let headlineLabel = model.headline.accessibilityText ?? headline.text, !headlineLabel.isEmpty {
message += headlineLabel + ", "
if let headlineLabel = headline.text, !headlineLabel.isEmpty {
message += headlineLabel + ", "
}
if let bodyLabel = body.text, !bodyLabel.isEmpty {
message += bodyLabel
}
accessibilityLabel = message
} }
} if let bodyLabel = model.body?.accessibilityText ?? body.text, !bodyLabel.isEmpty {
message += bodyLabel
}
accessibilityLabel = message
}
} }

View File

@ -17,7 +17,6 @@ public class ListOneColumnTextWithWhitespaceDividerTallModel: ListItemModel, Mol
public static var identifier: String = "list1CTxtDiv2" public static var identifier: String = "list1CTxtDiv2"
public var headline: LabelModel public var headline: LabelModel
public var body: LabelModel? public var body: LabelModel?
public var accessibilityText: String?
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Initializer // MARK: - Initializer
@ -26,7 +25,6 @@ public class ListOneColumnTextWithWhitespaceDividerTallModel: ListItemModel, Mol
public init(headline: LabelModel, body: LabelModel?, accessibilityText: String?) { public init(headline: LabelModel, body: LabelModel?, accessibilityText: String?) {
self.headline = headline self.headline = headline
self.body = body self.body = body
self.accessibilityText = accessibilityText
super.init() super.init()
} }
@ -47,7 +45,6 @@ public class ListOneColumnTextWithWhitespaceDividerTallModel: ListItemModel, Mol
case moleculeName case moleculeName
case headline case headline
case body case body
case accessibilityText
} }
//-------------------------------------------------- //--------------------------------------------------
@ -58,7 +55,6 @@ public class ListOneColumnTextWithWhitespaceDividerTallModel: ListItemModel, Mol
let typeContainer = try decoder.container(keyedBy: CodingKeys.self) let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
headline = try typeContainer.decode(LabelModel.self, forKey: .headline) headline = try typeContainer.decode(LabelModel.self, forKey: .headline)
body = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .body) body = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .body)
accessibilityText = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityText)
try super.init(from: decoder) try super.init(from: decoder)
} }
@ -68,6 +64,5 @@ public class ListOneColumnTextWithWhitespaceDividerTallModel: ListItemModel, Mol
try container.encode(moleculeName, forKey: .moleculeName) try container.encode(moleculeName, forKey: .moleculeName)
try container.encode(headline, forKey: .headline) try container.encode(headline, forKey: .headline)
try container.encodeIfPresent(body, forKey: .body) try container.encodeIfPresent(body, forKey: .body)
try container.encodeIfPresent(accessibilityText, forKey: .accessibilityText)
} }
} }