diff --git a/VDS/Classes/SelectorItemBase.swift b/VDS/Classes/SelectorItemBase.swift index 966b4d9c..5ec0ba11 100644 --- a/VDS/Classes/SelectorItemBase.swift +++ b/VDS/Classes/SelectorItemBase.swift @@ -270,6 +270,11 @@ open class SelectorItemBase: Control, Errorable, } open override func updateAccessibilityLabel() { + if !accessibilityTraits.contains(.notEnabled) && disabled { + accessibilityTraits.insert(.notEnabled) + } else { + accessibilityTraits.remove(.notEnabled) + } setAccessibilityLabel(for: [label, childLabel, errorLabel]) } } diff --git a/VDS/Components/Buttons/Button/ButtonBase.swift b/VDS/Components/Buttons/Button/ButtonBase.swift index d21af3b8..b5fbc3e5 100644 --- a/VDS/Components/Buttons/Button/ButtonBase.swift +++ b/VDS/Components/Buttons/Button/ButtonBase.swift @@ -138,7 +138,6 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab } open func setup() { - translatesAutoresizingMaskIntoConstraints = false titleLabel?.adjustsFontSizeToFitWidth = false @@ -172,7 +171,11 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab } open func updateAccessibilityLabel() { - + if !accessibilityTraits.contains(.notEnabled) && disabled { + accessibilityTraits.insert(.notEnabled) + } else { + accessibilityTraits.remove(.notEnabled) + } } //-------------------------------------------------- diff --git a/VDS/Components/Buttons/TextLinkCaret/TextLinkCaret.swift b/VDS/Components/Buttons/TextLinkCaret/TextLinkCaret.swift index d1b8559c..ad95a4af 100644 --- a/VDS/Components/Buttons/TextLinkCaret/TextLinkCaret.swift +++ b/VDS/Components/Buttons/TextLinkCaret/TextLinkCaret.swift @@ -76,6 +76,7 @@ open class TextLinkCaret: ButtonBase { //-------------------------------------------------- open override func setup() { super.setup() + accessibilityTraits = .link } open override func reset() { diff --git a/VDS/Components/RadioBox/RadioBoxItem.swift b/VDS/Components/RadioBox/RadioBoxItem.swift index 66d40542..09dfc3e2 100644 --- a/VDS/Components/RadioBox/RadioBoxItem.swift +++ b/VDS/Components/RadioBox/RadioBoxItem.swift @@ -248,6 +248,11 @@ open class RadioBoxItem: Control, Changeable { } open override func updateAccessibilityLabel() { + if !accessibilityTraits.contains(.notEnabled) && disabled { + accessibilityTraits.insert(.notEnabled) + } else { + accessibilityTraits.remove(.notEnabled) + } setAccessibilityLabel(for: [textLabel, subTextLabel, subTextRightLabel]) } diff --git a/VDS/Components/TextFields/EntryField/EntryField.swift b/VDS/Components/TextFields/EntryField/EntryField.swift index 6a32bae1..0a280ffb 100644 --- a/VDS/Components/TextFields/EntryField/EntryField.swift +++ b/VDS/Components/TextFields/EntryField/EntryField.swift @@ -182,7 +182,6 @@ open class EntryField: Control, Changeable { super.setup() isAccessibilityElement = true - accessibilityTraits = .button addSubview(stackView) //create the wrapping view diff --git a/VDS/Components/Toggle/Toggle.swift b/VDS/Components/Toggle/Toggle.swift index ac20ef31..52f559cd 100644 --- a/VDS/Components/Toggle/Toggle.swift +++ b/VDS/Components/Toggle/Toggle.swift @@ -312,6 +312,11 @@ open class Toggle: Control, Changeable { } open override func updateAccessibilityLabel() { + if !accessibilityTraits.contains(.notEnabled) && disabled { + accessibilityTraits.insert(.notEnabled) + } else { + accessibilityTraits.remove(.notEnabled) + } setAccessibilityLabel(for: [label]) } } diff --git a/VDS/Components/Tooltip/Tooltip.swift b/VDS/Components/Tooltip/Tooltip.swift index f51cd36c..cfde49fb 100644 --- a/VDS/Components/Tooltip/Tooltip.swift +++ b/VDS/Components/Tooltip/Tooltip.swift @@ -53,9 +53,9 @@ open class Tooltip: Control, TooltipLaunchable { open var title: String? { didSet { setNeedsUpdate() }} open var content: String? { didSet { setNeedsUpdate() }} - + open var contentView: UIView? { didSet { setNeedsUpdate() }} - + //-------------------------------------------------- // MARK: - Configuration //-------------------------------------------------- @@ -87,7 +87,7 @@ open class Tooltip: Control, TooltipLaunchable { $0.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsBrandhighlight, forState: .normal) $0.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsBrandhighlight, forState: .highlighted) $0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled) - } + } //-------------------------------------------------- // MARK: - Initializers @@ -163,6 +163,14 @@ open class Tooltip: Control, TooltipLaunchable { //get the color for the image let imageColor = iconColorConfiguration.getColor(self) imageView.image = infoImage.withTintColor(imageColor) + } + + open override func updateAccessibilityLabel() { + if !accessibilityTraits.contains(.notEnabled) && disabled { + accessibilityTraits.insert(.notEnabled) + } else { + accessibilityTraits.remove(.notEnabled) + } var label = title if label == nil { label = content @@ -171,9 +179,9 @@ open class Tooltip: Control, TooltipLaunchable { accessibilityLabel = "Tooltip: \(label)" } } - } + // MARK: AppleGuidlinesTouchable extension Tooltip: AppleGuidlinesTouchable {