From 24c684d64ff99ee327f027c4cd398433b08134ae Mon Sep 17 00:00:00 2001 From: Keerthy Date: Wed, 1 Nov 2023 00:06:41 +0530 Subject: [PATCH] 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: ",") + } }