From c36939468e458fcdaefcf55921cfd273dc48c6c5 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 31 Oct 2022 09:12:23 -0400 Subject: [PATCH 1/2] Fix accessibility for Compose button --- .../Root/MainTab/MainTabBarController.swift | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 8970e2f29..24b6127ab 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -33,6 +33,7 @@ class MainTabBarController: UITabBarController { button.layer.masksToBounds = true button.layer.cornerCurve = .continuous button.layer.cornerRadius = 8 + button.isAccessibilityElement = false return button }() @@ -185,14 +186,6 @@ extension MainTabBarController { viewController.tabBarItem.largeContentSizeImage = tab.largeImage.imageWithoutBaseline() viewController.tabBarItem.accessibilityLabel = tab.title viewController.tabBarItem.imageInsets = UIEdgeInsets(top: 6, left: 0, bottom: -6, right: 0) - - switch tab { - case .compose: - viewController.tabBarItem.isEnabled = false - default: - break - } - return viewController } _viewControllers = viewControllers @@ -363,7 +356,7 @@ extension MainTabBarController { extension MainTabBarController { - @objc private func composeButtonDidPressed(_ sender: UIButton) { + @objc private func composeButtonDidPressed(_ sender: Any) { logger.log(level: .debug, "\((#file as NSString).lastPathComponent, privacy: .public)[\(#line, privacy: .public)], \(#function, privacy: .public)") guard let authenticationBox = context.authenticationService.activeMastodonAuthenticationBox.value else { return } let composeViewModel = ComposeViewModel( @@ -504,6 +497,13 @@ extension MainTabBarController { // MARK: - UITabBarControllerDelegate extension MainTabBarController: UITabBarControllerDelegate { + func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { + if let tab = Tab(rawValue: viewController.tabBarItem.tag), tab == .compose { + composeButtonDidPressed(tabBarController) + return false + } + return true + } func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: select %s", ((#file as NSString).lastPathComponent), #line, #function, viewController.debugDescription) defer { From da3a83d38724a32c1bdbbee50c36a1eb37675811 Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 31 Oct 2022 09:14:45 -0400 Subject: [PATCH 2/2] Adjust whitespace --- Mastodon/Scene/Root/MainTab/MainTabBarController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift index 24b6127ab..192a5a5dc 100644 --- a/Mastodon/Scene/Root/MainTab/MainTabBarController.swift +++ b/Mastodon/Scene/Root/MainTab/MainTabBarController.swift @@ -504,6 +504,7 @@ extension MainTabBarController: UITabBarControllerDelegate { } return true } + func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { os_log(.info, log: .debug, "%{public}s[%{public}ld], %{public}s: select %s", ((#file as NSString).lastPathComponent), #line, #function, viewController.debugDescription) defer {