diff --git a/BlueprintUIAccessibilityCore/Sources/AccessibilityDeferral.swift b/BlueprintUIAccessibilityCore/Sources/AccessibilityDeferral.swift index 0935b9a4d..faa52870c 100644 --- a/BlueprintUIAccessibilityCore/Sources/AccessibilityDeferral.swift +++ b/BlueprintUIAccessibilityCore/Sources/AccessibilityDeferral.swift @@ -227,7 +227,7 @@ extension AccessibilityDeferral { guard receivers.count <= 1 else { - // We cannot reasonably determine which receiver to apply the content to. + assertionFailure("AccessibilityDeferral.ParentContainer must contain at most one Receiver; found \(receivers.count).") receivers.forEach { $0.apply(content: nil, frameProvider: nil) } return } @@ -239,8 +239,10 @@ extension AccessibilityDeferral { let deferredContent = contents?.map { content in var updated = content let matches = sources.filter { $0.contentIdentifier == content.sourceIdentifier } - guard matches.count <= 1 else { fatalError("Found multiple deferral sources with the same identifier. \(matches)") } - let match = matches.first + if matches.count > 1 { + assertionFailure("Found multiple deferral sources with the same identifier \(content.sourceIdentifier); ignoring.") + } + let match = matches.count == 1 ? matches.first : nil match?.accessibilityElementsHidden = true updated.inheritedAccessibility = match?.accessibility updated.updateIdentifier = updateID @@ -481,7 +483,8 @@ extension AccessibilityDeferral.Receiver { ) { guard let content, !content.isEmpty else { replaceContent([]); return } guard let updateID = content.first?.updateIdentifier, content.allSatisfy({ $0.updateIdentifier == updateID }) else { - fatalError("Cannot merge deferral content as update identifiers do not match.") + assertionFailure("Deferral content batch has mismatched updateIdentifiers; ignoring.") + return } let lastUpdateID = deferredAccessibilityContent?.first?.updateIdentifier diff --git a/BlueprintUICommonControls/Sources/Accessibility/AccessibilityContainer.swift b/BlueprintUICommonControls/Sources/Accessibility/AccessibilityContainer.swift index 13e68865d..de855fb09 100644 --- a/BlueprintUICommonControls/Sources/Accessibility/AccessibilityContainer.swift +++ b/BlueprintUICommonControls/Sources/Accessibility/AccessibilityContainer.swift @@ -115,7 +115,7 @@ extension AccessibilityContainer { layoutDirection: layoutDirection ) } - set { fatalError("This property is not settable") } + set { assertionFailure("accessibilityElements is not settable on AccessibilityContainerView") } } } } diff --git a/BlueprintUICommonControls/Sources/Accessibility/AccessibilityElement.swift b/BlueprintUICommonControls/Sources/Accessibility/AccessibilityElement.swift index d2128d71e..5565dd700 100644 --- a/BlueprintUICommonControls/Sources/Accessibility/AccessibilityElement.swift +++ b/BlueprintUICommonControls/Sources/Accessibility/AccessibilityElement.swift @@ -127,7 +127,7 @@ public struct AccessibilityElement: Element { } set { - fatalError("accessibilityFrame is not settable on AccessibilityView") + assertionFailure("accessibilityFrame is not settable on AccessibilityView") } } @@ -144,7 +144,7 @@ public struct AccessibilityElement: Element { } set { - fatalError("accessibilityPath is not settable on AccessibilityView") + assertionFailure("accessibilityPath is not settable on AccessibilityView") } }