From cfe832ab66b531b52ca9da0afe34904056e1b3a1 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 26 Sep 2025 21:01:15 +0000 Subject: [PATCH 1/2] Ignore backdrop images and don't read poster button images --- Swiftfin/Components/PosterButton.swift | 1 + Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift | 3 +++ .../Views/ItemView/ScrollViews/CompactLogoScrollView.swift | 3 +++ .../Views/ItemView/ScrollViews/CompactPortraitScrollView.swift | 1 + .../Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift | 3 +++ 5 files changed, 11 insertions(+) diff --git a/Swiftfin/Components/PosterButton.swift b/Swiftfin/Components/PosterButton.swift index 98a3e5da26..13b93f5979 100644 --- a/Swiftfin/Components/PosterButton.swift +++ b/Swiftfin/Components/PosterButton.swift @@ -63,6 +63,7 @@ struct PosterButton: View { .backport .matchedTransitionSource(id: "item", in: namespace) .posterShadow() + .accessibilityElement(children: .ignore) label .eraseToAnyView() diff --git a/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift index 6b7908a054..ae2c3e9326 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift @@ -53,6 +53,7 @@ extension ItemView { .aspectRatio(usePrimaryImage ? (2 / 3) : 1.77, contentMode: .fill) .frame(width: proxy.size.width, height: proxy.size.height * 0.6) .bottomEdgeGradient(bottomColor: bottomColor) + .accessibilityHidden(true) } } } @@ -114,6 +115,8 @@ extension ItemView.CinematicScrollView { } .aspectRatio(contentMode: .fit) .frame(height: 100, alignment: .bottom) + .accessibilityElement(children: .ignore) + .accessibilityLabel(viewModel.item.displayTitle) } DotHStack { diff --git a/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift index aa1bcaf7b0..db8ba1a30c 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift @@ -38,6 +38,7 @@ extension ItemView { .aspectRatio(1.77, contentMode: .fill) .frame(width: proxy.size.width, height: proxy.size.height * 0.70, alignment: .top) .bottomEdgeGradient(bottomColor: bottomColor) + .accessibilityHidden(true) } } @@ -103,6 +104,8 @@ extension ItemView.CompactLogoScrollView { } .aspectRatio(contentMode: .fit) .frame(height: 70, alignment: .bottom) + .accessibilityElement(children: .ignore) + .accessibilityLabel(viewModel.item.displayTitle) DotHStack { if let firstGenre = viewModel.item.genres?.first { diff --git a/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift index fbca2ce0ec..b19dcbe836 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift @@ -61,6 +61,7 @@ extension ItemView { .aspectRatio(1.77, contentMode: .fill) .frame(width: proxy.size.width, height: proxy.size.height * 0.78, alignment: .top) .bottomEdgeGradient(bottomColor: bottomColor) + .accessibilityHidden(true) } } } diff --git a/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift index beaed7615d..9b998a21c1 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift @@ -59,6 +59,7 @@ extension ItemView { ImageView(imageSource) .aspectRatio(1.77, contentMode: .fill) .bottomEdgeGradient(bottomColor: bottomColor) + .accessibilityHidden(true) } } @@ -121,6 +122,8 @@ extension ItemView.iPadOSCinematicScrollView { } .aspectRatio(contentMode: .fit) .frame(maxWidth: geometry.size.width * 0.4, maxHeight: 130, alignment: .bottomLeading) + .accessibilityElement(children: .ignore) + .accessibilityLabel(viewModel.item.displayTitle) ItemView.OverviewView(item: viewModel.item) .overviewLineLimit(3) From 8329647c23fd6e341e8fe28d2a7538950ffdaecc Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 26 Sep 2025 22:30:21 +0000 Subject: [PATCH 2/2] hide logos --- Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift | 3 +-- .../Views/ItemView/ScrollViews/CompactLogoScrollView.swift | 3 +-- .../Views/ItemView/ScrollViews/CompactPortraitScrollView.swift | 1 + .../Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift index ae2c3e9326..145f4f4027 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CinematicScrollView.swift @@ -115,8 +115,7 @@ extension ItemView.CinematicScrollView { } .aspectRatio(contentMode: .fit) .frame(height: 100, alignment: .bottom) - .accessibilityElement(children: .ignore) - .accessibilityLabel(viewModel.item.displayTitle) + .accessibilityHidden(true) } DotHStack { diff --git a/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift index db8ba1a30c..d825cac280 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CompactLogoScrollView.swift @@ -104,8 +104,7 @@ extension ItemView.CompactLogoScrollView { } .aspectRatio(contentMode: .fit) .frame(height: 70, alignment: .bottom) - .accessibilityElement(children: .ignore) - .accessibilityLabel(viewModel.item.displayTitle) + .accessibilityHidden(true) DotHStack { if let firstGenre = viewModel.item.genres?.first { diff --git a/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift index b19dcbe836..48b3b5cdbd 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/CompactPortraitScrollView.swift @@ -126,6 +126,7 @@ extension ItemView.CompactPosterScrollView { .lineLimit(2) .fontWeight(.semibold) .foregroundColor(.white) + .accessibilityHidden(true) DotHStack { if viewModel.item.type == .person { diff --git a/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift b/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift index 9b998a21c1..9278ec0075 100644 --- a/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift +++ b/Swiftfin/Views/ItemView/ScrollViews/iPadOSCinematicScrollView.swift @@ -122,8 +122,7 @@ extension ItemView.iPadOSCinematicScrollView { } .aspectRatio(contentMode: .fit) .frame(maxWidth: geometry.size.width * 0.4, maxHeight: 130, alignment: .bottomLeading) - .accessibilityElement(children: .ignore) - .accessibilityLabel(viewModel.item.displayTitle) + .accessibilityHidden(true) ItemView.OverviewView(item: viewModel.item) .overviewLineLimit(3)