From 17da5ff3b7262ae5374278897053535189d82173 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Fri, 19 Jun 2026 12:32:28 +0200 Subject: [PATCH] Keep hidden QuickLook chrome out of VoiceOver focus order The media upload preview hides the QLPreviewController's navigation bar and toolbar share button visually, but their buttons stayed in VoiceOver's focus order. Mark the chrome as accessibility-hidden so it is no longer focusable. Addresses #5266, #5267. --- .../View/MediaUploadPreviewScreen.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift b/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift index d9a70ed1f..9f74f6208 100644 --- a/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift +++ b/ElementX/Sources/Screens/MediaUploadPreviewScreen/View/MediaUploadPreviewScreen.swift @@ -316,6 +316,11 @@ private class PreviewViewController: QLPreviewController { // Hide toolbar share button toolbarItems?.first?.isHidden = true + + // The chrome is hidden visually but its buttons remain in VoiceOver's focus order, + // so keep the navigation bar and toolbar out of the accessibility tree too. + navigationController?.navigationBar.accessibilityElementsHidden = true + navigationController?.toolbar?.accessibilityElementsHidden = true } }