From 0e2785fd8e5947aa66528095d2bebac2bf3cb00a Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 23 Feb 2026 11:22:00 -0800 Subject: feat: add accessibility metadata to interactive image view --- SoraTests/ViewDerivedDataTests.swift | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'SoraTests') diff --git a/SoraTests/ViewDerivedDataTests.swift b/SoraTests/ViewDerivedDataTests.swift index 7ec8f9f..3a1d8df 100644 --- a/SoraTests/ViewDerivedDataTests.swift +++ b/SoraTests/ViewDerivedDataTests.swift @@ -325,6 +325,42 @@ final class ViewDerivedDataTests: XCTestCase { // swiftlint:disable:this type_b ) } + func testInteractiveImageViewProvidesExplicitAccessibilityMetadata() throws { + let source = try loadSource(at: "Sora/Views/InteractiveImageView.swift") + let normalizedSource = strippingCommentsAndStrings(from: source) + let accessibilityLabelCount = tokenCount( + matching: #"\.accessibilityLabel\s*\("#, + in: normalizedSource + ) + let accessibilityHintCount = tokenCount( + matching: #"\.accessibilityHint\s*\("#, + in: normalizedSource + ) + let accessibilityValueCount = tokenCount( + matching: #"\.accessibilityValue\s*\("#, + in: normalizedSource + ) + + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityLabelCount, + 0, + "Interactive image view should expose an explicit accessibility label." + ) + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityHintCount, + 0, + "Interactive image view should expose an explicit accessibility hint." + ) + // swiftlint:disable:next prefer_nimble + XCTAssertGreaterThan( + accessibilityValueCount, + 0, + "Interactive image view should expose stateful accessibility metadata." + ) + } + func testListViewsAvoidComparatorRandomShuffleSorting() throws { let listViewSource = try loadSource(at: "Sora/Views/Generic/GenericListView.swift") let favoritesViewSource = try loadSource(at: "Sora/Views/FavoritesView.swift") -- cgit v1.2.3