From 09b263fa23571ba78803b0db5b387ccc35d01ce9 Mon Sep 17 00:00:00 2001 From: "Khan, Arshad" Date: Mon, 14 Dec 2020 18:16:37 +0530 Subject: [PATCH 1/2] adding aem driven accessibilityText to navigationImageButton --- .../Buttons/NavigationImageButtonModel.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift b/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift index 9313f9a4..8d837a5a 100644 --- a/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift +++ b/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift @@ -13,6 +13,7 @@ public class NavigationImageButtonModel: NavigationButtonModelProtocol, Molecule public var image: String public var action: ActionModelProtocol + public var accessibilityText: String? public init(with image: String, action: ActionModelProtocol) { self.image = image @@ -41,6 +42,11 @@ public class NavigationImageButtonModel: NavigationButtonModelProtocol, Molecule /// Convenience function that creates a BarButtonItem for the model. public func createNavigationItemButton(delegateObject: MVMCoreUIDelegateObject? = nil, additionalData: [AnyHashable: Any]? = nil) -> UIBarButtonItem { let uiImage = MVMCoreCache.shared()?.getImageFromRegisteredBundles(image) - return ImageBarButtonItem.create(with: uiImage, actionModel: action, delegateObject: delegateObject, additionalData: additionalData) + let navigationImageButton = ImageBarButtonItem.create(with: uiImage, actionModel: action, delegateObject: delegateObject, additionalData: additionalData) + if let accessibilityString = accessibilityText { + navigationImageButton.accessibilityLabel = accessibilityString + navigationImageButton.isAccessibilityElement = true + } + return navigationImageButton } } From 77993736beaaffcbfc791e45cb2d79d7a5c8f436 Mon Sep 17 00:00:00 2001 From: "Khan, Arshad" Date: Tue, 15 Dec 2020 22:52:38 +0530 Subject: [PATCH 2/2] fix after tetsing --- .../NavigationBar/Buttons/NavigationImageButtonModel.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift b/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift index 8d837a5a..2cfcfbdc 100644 --- a/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift +++ b/MVMCoreUI/Atomic/Molecules/NavigationBar/Buttons/NavigationImageButtonModel.swift @@ -24,12 +24,14 @@ public class NavigationImageButtonModel: NavigationButtonModelProtocol, Molecule case image case action case moleculeName + case accessibilityText } required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) image = try typeContainer.decode(String.self, forKey: .image) action = try typeContainer.decodeModel(codingKey: .action) + accessibilityText = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityText) } open func encode(to encoder: Encoder) throws { @@ -37,6 +39,7 @@ public class NavigationImageButtonModel: NavigationButtonModelProtocol, Molecule try container.encode(image, forKey: .image) try container.encode(moleculeName, forKey: .moleculeName) try container.encodeModel(action, forKey: .action) + try container.encodeIfPresent(accessibilityText, forKey: .accessibilityText) } /// Convenience function that creates a BarButtonItem for the model.