From b93860cc153437b524473c58bf247559f96d62c7 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 1 Jul 2024 14:25:14 -0500 Subject: [PATCH] added accessibility to icons Signed-off-by: Matt Bruce --- .../ViewControllers/TileletViewController.swift | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/VDSSample/ViewControllers/TileletViewController.swift b/VDSSample/ViewControllers/TileletViewController.swift index cbd35e7..756ebfe 100644 --- a/VDSSample/ViewControllers/TileletViewController.swift +++ b/VDSSample/ViewControllers/TileletViewController.swift @@ -311,6 +311,7 @@ class TileletViewController: BaseViewController { var backgroundColor: BackgroundColor = .black var maxWidthTextField = NumericField() var isLinkSwitch = Toggle() + var descriptionIconAccessibilityTextField = TextField() var gradientColorsFormStackView = FormSection().with { $0.isHidden = true } @@ -402,6 +403,7 @@ class TileletViewController: BaseViewController { })) append(section: descriptionIconFormStackView) descriptionIconFormStackView.addFormRow(label: "Icon", view: descriptionNamePickerSelectorView) + descriptionIconFormStackView.addFormRow(label: "Accessibility", view: descriptionIconAccessibilityTextField) descriptionIconFormStackView.addFormRow(label: "Size", view: descriptionIconSizePickerSelectorView) descriptionIconFormStackView.addFormRow(label: "Color", view: descriptionIconColorPickerSelectorView) descriptionIconTokenFormStackView.addFormRow(label: "Token", view: descriptionIconTokenColorView) @@ -516,6 +518,12 @@ class TileletViewController: BaseViewController { self.setDescriptionIconForm() } + descriptionIconAccessibilityTextField + .textPublisher + .sink { [weak self] text in + self?.setDescriptiveIconModel() + }.store(in: &subscribers) + showDirectionalIconSwitch.onChange = { [weak self] sender in guard let self else { return } self.setDirectionalIconForm() @@ -727,6 +735,11 @@ class TileletViewController: BaseViewController { let iconSize = descriptionIconSizePickerSelectorView.selectedItem let iconName = descriptionNamePickerSelectorView.selectedItem var iconColor: Tilelet.IconColor? = nil + var accessibleText: String? + if let at = descriptionIconAccessibilityTextField.text, !at.isEmpty { + accessibleText = at + } + switch descriptionIconColorPickerSelectorView.selectedItem { case .token: iconColor = .token(descriptionIconTokenColorView.selectedItem) @@ -735,7 +748,7 @@ class TileletViewController: BaseViewController { default: break } - component.descriptiveIconModel = .init(name: iconName, iconColor: iconColor, size: iconSize) + component.descriptiveIconModel = .init(name: iconName, iconColor: iconColor, size: iconSize, accessibleText: accessibleText ?? nil ) } func setDirectionalIconModel() {