diff --git a/submodules/ContextUI/Sources/ContextController.swift b/submodules/ContextUI/Sources/ContextController.swift index 9d3b6f94b8..fc868f92fe 100644 --- a/submodules/ContextUI/Sources/ContextController.swift +++ b/submodules/ContextUI/Sources/ContextController.swift @@ -1593,6 +1593,7 @@ public final class ContextController: ViewController, StandalonePresentableContr self.statusBar.statusBarStyle = .Hide } self.lockOrientation = true + self.blocksBackgroundWhenInOverlay = true } required init(coder aDecoder: NSCoder) { diff --git a/submodules/Display/Source/Navigation/NavigationController.swift b/submodules/Display/Source/Navigation/NavigationController.swift index 268789ac31..7f53f6d490 100644 --- a/submodules/Display/Source/Navigation/NavigationController.swift +++ b/submodules/Display/Source/Navigation/NavigationController.swift @@ -1022,6 +1022,19 @@ open class NavigationController: UINavigationController, ContainableController, var topHasOpaque = false var foundControllerInFocus = false + + for container in self.globalOverlayContainers.reversed() { + let controller = container.controller + if topHasOpaque { + controller.displayNode.accessibilityElementsHidden = true + } else { + if controller.isOpaqueWhenInOverlay || controller.blocksBackgroundWhenInOverlay { + topHasOpaque = true + } + controller.displayNode.accessibilityElementsHidden = false + } + } + for container in self.overlayContainers.reversed() { if foundControllerInFocus { container.controller.isInFocus = false