From 5ec6046bed00abe2a2d13ca74abf05614298bbb8 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 6 May 2024 17:06:38 -0500 Subject: [PATCH] added accessiblityText property to badgeindicator Signed-off-by: Matt Bruce --- VDS/Components/BadgeIndicator/BadgeIndicator.swift | 5 ++++- VDS/Components/Icon/ButtonIcon/ButtonIcon.swift | 1 + .../Icon/ButtonIcon/ButtonIconBadgeIndicatorModel.swift | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/VDS/Components/BadgeIndicator/BadgeIndicator.swift b/VDS/Components/BadgeIndicator/BadgeIndicator.swift index a327270d..aae927a8 100644 --- a/VDS/Components/BadgeIndicator/BadgeIndicator.swift +++ b/VDS/Components/BadgeIndicator/BadgeIndicator.swift @@ -210,6 +210,7 @@ open class BadgeIndicator: View { /// The Container's height. open var height: CGFloat? { didSet { setNeedsUpdate() } } + open var accessibilityText: String? { didSet { setNeedsUpdate() } } //-------------------------------------------------- // MARK: - Private Properties //-------------------------------------------------- @@ -348,7 +349,9 @@ open class BadgeIndicator: View { open override func updateAccessibility() { super.updateAccessibility() - if kind == .numbered { + if let accessibilityText { + accessibilityLabel = accessibilityText + } else if kind == .numbered { accessibilityLabel = label.text } else { accessibilityLabel = "Simple" diff --git a/VDS/Components/Icon/ButtonIcon/ButtonIcon.swift b/VDS/Components/Icon/ButtonIcon/ButtonIcon.swift index b97a1fac..5ba6a9fe 100644 --- a/VDS/Components/Icon/ButtonIcon/ButtonIcon.swift +++ b/VDS/Components/Icon/ButtonIcon/ButtonIcon.swift @@ -544,6 +544,7 @@ open class ButtonIcon: Control, Changeable { badgeIndicator.horizontalPadding = badgeIndicatorModel.horizontalPadding badgeIndicator.hideDot = badgeIndicatorModel.hideDot badgeIndicator.hideBorder = badgeIndicatorModel.hideBorder + badgeIndicator.accessibilityText = badgeIndicatorModel.accessibilityText } private func updateExpandDirectionalConstraints() { diff --git a/VDS/Components/Icon/ButtonIcon/ButtonIconBadgeIndicatorModel.swift b/VDS/Components/Icon/ButtonIcon/ButtonIconBadgeIndicatorModel.swift index e1c04b23..28d731b0 100644 --- a/VDS/Components/Icon/ButtonIcon/ButtonIconBadgeIndicatorModel.swift +++ b/VDS/Components/Icon/ButtonIcon/ButtonIconBadgeIndicatorModel.swift @@ -46,6 +46,9 @@ extension ButtonIcon { /// Trailing Text height that will be used for the badge indicator. public var trailingText: String? + /// Accessibliity Text + public var accessibilityText: String? + /// Dot Size that will be used for the badge indicator. public var dotSize: CGFloat? @@ -61,7 +64,7 @@ extension ButtonIcon { /// Hide Border that will be used for the badge indicator. public var hideBorder: Bool = false - public init(kind: BadgeIndicator.Kind = .simple, fillColor: BadgeIndicator.FillColor = .red, expandDirection: ExpandDirection = .right, size: BadgeIndicator.Size = .xxlarge, maximumDigits: BadgeIndicator.MaximumDigits = .two, width: CGFloat? = nil, height: CGFloat? = nil, number: Int? = nil, leadingCharacter: String? = "", trailingText: String? = "", dotSize: CGFloat? = nil, verticalPadding: CGFloat? = nil, horizontalPadding: CGFloat? = nil, hideDot: Bool = false, hideBorder: Bool = false) { + public init(kind: BadgeIndicator.Kind = .simple, fillColor: BadgeIndicator.FillColor = .red, expandDirection: ExpandDirection = .right, size: BadgeIndicator.Size = .xxlarge, maximumDigits: BadgeIndicator.MaximumDigits = .two, width: CGFloat? = nil, height: CGFloat? = nil, number: Int? = nil, leadingCharacter: String? = "", trailingText: String? = "", accessibilityText: String? = nil, dotSize: CGFloat? = nil, verticalPadding: CGFloat? = nil, horizontalPadding: CGFloat? = nil, hideDot: Bool = false, hideBorder: Bool = false) { self.kind = kind self.fillColor = fillColor self.expandDirection = expandDirection @@ -70,6 +73,7 @@ extension ButtonIcon { self.width = width self.height = height self.number = number + self.accessibilityText = accessibilityText self.leadingCharacter = leadingCharacter self.trailingText = trailingText self.dotSize = dotSize