From 24c684d64ff99ee327f027c4cd398433b08134ae Mon Sep 17 00:00:00 2001 From: Keerthy Date: Wed, 1 Nov 2023 00:06:41 +0530 Subject: [PATCH 1/3] Updated accessibilityBehavior --- .../FormFields/TextFields/TextEntryField.swift | 2 +- .../Atomic/Atoms/Views/CheckboxLabel.swift | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift index 18749c8a..ad2187a1 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift @@ -379,7 +379,7 @@ import UIKit if let text = model.text, !text.isEmpty { regexTextFieldOutputIfAvailable() } - + setAccessibilityString(model.title ?? "") } } diff --git a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift index 88ee69be..2bfd7e28 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift @@ -14,6 +14,7 @@ public let checkbox = Checkbox() public let label = Label(fontStyle: .RegularBodySmall) + private var observation: NSKeyValueObservation? = nil //-------------------------------------------------- // MARK: - Properties @@ -63,6 +64,12 @@ bottomLabelConstraint.isActive = true alignCheckbox(.center) + isAccessibilityElement = true + accessibilityHint = checkbox.accessibilityHint + accessibilityTraits = checkbox.accessibilityTraits + observation = observe(\.checkbox.isSelected, options: [.new]) { [weak self] _, _ in + self?.updateAccessibilityLabel() + } } @objc override open func updateView(_ size: CGFloat) { @@ -111,6 +118,7 @@ checkbox.set(with: checkBoxWithLabelModel.checkbox, delegateObject, additionalData) label.set(with: checkBoxWithLabelModel.label, delegateObject, additionalData) + updateAccessibilityLabel() } open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { @@ -124,4 +132,13 @@ checkbox.reset() alignCheckbox(.center) } + + override open func accessibilityActivate() -> Bool { + checkbox.accessibilityActivate() + } + + open func updateAccessibilityLabel() { + checkbox.updateAccessibilityLabel() + accessibilityLabel = [label.text, checkbox.accessibilityLabel].compactMap { $0 }.joined(separator: ",") + } } From 9fe6a4dfc1b904d64f67408e6991e51fb6502181 Mon Sep 17 00:00:00 2001 From: Keerthy Date: Wed, 1 Nov 2023 23:59:34 +0530 Subject: [PATCH 2/3] Updated accessibility behavior for TextEntryField, BaseItemPickerEntryField, CheckboxLabel --- .../Item Dropdown/BaseItemPickerEntryField.swift | 7 ++----- .../Atoms/FormFields/TextFields/TextEntryField.swift | 4 ---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift index fa880a50..65c4448b 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/BaseItemPickerEntryField.swift @@ -75,11 +75,8 @@ extension BaseItemPickerEntryField { @objc open override func setAccessibilityString(_ accessibilityString: String?) { var accessibilityString = accessibilityString ?? "" - - if let textPickerItem = MVMCoreUIUtility.hardcodedString(withKey: "textfield_picker_item") { - accessibilityString += textPickerItem - } - + textField.accessibilityTraits = .staticText + textField.accessibilityHint = MVMCoreUIUtility.hardcodedString(withKey: "textfield_picker_item") textField.accessibilityLabel = "\(accessibilityString) \(textField.isEnabled ? "" : MVMCoreUIUtility.hardcodedString(withKey: "textfield_disabled_state") ?? "")" } } diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift index ad2187a1..a40aa56f 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift @@ -399,10 +399,6 @@ extension TextEntryField { var accessibilityString = accessibilityString ?? "" - if let txtRegular = MVMCoreUIUtility.hardcodedString(withKey: "textfield_regular") { - accessibilityString += txtRegular - } - textField.accessibilityLabel = "\(accessibilityString) \(textField.isEnabled ? "" : MVMCoreUIUtility.hardcodedString(withKey: "textfield_disabled_state") ?? "")" } } From 5920bf3e50b4f52538982e085d9d1d4f6acdc6ba Mon Sep 17 00:00:00 2001 From: Keerthy Date: Thu, 2 Nov 2023 00:52:13 +0530 Subject: [PATCH 3/3] Order change --- MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift index 2bfd7e28..965656a6 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift @@ -139,6 +139,6 @@ open func updateAccessibilityLabel() { checkbox.updateAccessibilityLabel() - accessibilityLabel = [label.text, checkbox.accessibilityLabel].compactMap { $0 }.joined(separator: ",") + accessibilityLabel = [checkbox.accessibilityLabel, label.text].compactMap { $0 }.joined(separator: ",") } }