diff --git a/TelegramUI/ChatListController.swift b/TelegramUI/ChatListController.swift index 5d3f14c89a..54452bbf5f 100644 --- a/TelegramUI/ChatListController.swift +++ b/TelegramUI/ChatListController.swift @@ -80,14 +80,23 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie self.tabBarItem.image = icon self.tabBarItem.selectedImage = icon - self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) - self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationComposeIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.composePressed)) + let leftBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) + leftBarButtonItem.accessibilityLabel = self.presentationData.strings.Common_Edit + self.navigationItem.leftBarButtonItem = leftBarButtonItem + + let rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationComposeIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.composePressed)) + rightBarButtonItem.accessibilityLabel = "Compose" + self.navigationItem.rightBarButtonItem = rightBarButtonItem } else { self.navigationItem.title = "Channels" - self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) + let rightBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) + rightBarButtonItem.accessibilityLabel = self.presentationData.strings.Common_Edit + self.navigationItem.rightBarButtonItem = rightBarButtonItem } - self.navigationItem.backBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.DialogList_Title, style: .plain, target: nil, action: nil) + let backBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.DialogList_Title, style: .plain, target: nil, action: nil) + backBarButtonItem.accessibilityLabel = self.presentationData.strings.Common_Back + self.navigationItem.backBarButtonItem = backBarButtonItem self.scrollToTop = { [weak self] in if let strongSelf = self { @@ -271,7 +280,11 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie private func updateThemeAndStrings() { self.tabBarItem.title = self.presentationData.strings.DialogList_Title - self.navigationItem.backBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.DialogList_Title, style: .plain, target: nil, action: nil) + + let backBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.DialogList_Title, style: .plain, target: nil, action: nil) + backBarButtonItem.accessibilityLabel = self.presentationData.strings.Common_Back + self.navigationItem.backBarButtonItem = backBarButtonItem + self.searchContentNode?.updateThemeAndPlaceholder(theme: self.presentationData.theme, placeholder: self.presentationData.strings.DialogList_SearchLabel) var editing = false self.chatListDisplayNode.chatListNode.updateState { state in @@ -281,12 +294,16 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie let editItem: UIBarButtonItem if editing { editItem = UIBarButtonItem(title: self.presentationData.strings.Common_Done, style: .done, target: self, action: #selector(self.donePressed)) + editItem.accessibilityLabel = self.presentationData.strings.Common_Done } else { editItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) + editItem.accessibilityLabel = self.presentationData.strings.Common_Edit } if self.groupId == nil { self.navigationItem.leftBarButtonItem = editItem - self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationComposeIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.composePressed)) + let rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationComposeIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.composePressed)) + rightBarButtonItem.accessibilityLabel = "Compose" + self.navigationItem.rightBarButtonItem = rightBarButtonItem } else { self.navigationItem.rightBarButtonItem = editItem } @@ -764,6 +781,7 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie @objc func editPressed() { let editItem = UIBarButtonItem(title: self.presentationData.strings.Common_Done, style: .done, target: self, action: #selector(self.donePressed)) + editItem.accessibilityLabel = self.presentationData.strings.Common_Done if self.groupId == nil { self.navigationItem.leftBarButtonItem = editItem } else { @@ -780,6 +798,7 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie @objc func donePressed() { let editItem = UIBarButtonItem(title: self.presentationData.strings.Common_Edit, style: .plain, target: self, action: #selector(self.editPressed)) + editItem.accessibilityLabel = self.presentationData.strings.Common_Edit if self.groupId == nil { self.navigationItem.leftBarButtonItem = editItem } else { diff --git a/TelegramUI/NetworkStatusTitleView.swift b/TelegramUI/NetworkStatusTitleView.swift index 5fe6b22e37..72a2bf6638 100644 --- a/TelegramUI/NetworkStatusTitleView.swift +++ b/TelegramUI/NetworkStatusTitleView.swift @@ -25,7 +25,8 @@ final class NetworkStatusTitleView: UIView, NavigationBarTitleView, NavigationBa var title: NetworkStatusTitle = NetworkStatusTitle(text: "", activity: false, hasProxy: false, connectsViaProxy: false, isPasscodeSet: false, isManuallyLocked: false) { didSet { if self.title != oldValue { - self.titleNode.attributedText = NSAttributedString(string: title.text, font: Font.bold(17.0), textColor: self.theme.rootController.navigationBar.primaryTextColor) + self.titleNode.attributedText = NSAttributedString(string: self.title.text, font: Font.bold(17.0), textColor: self.theme.rootController.navigationBar.primaryTextColor) + self.accessibilityLabel = self.title.text self.activityIndicator.isHidden = !self.title.activity if self.title.connectsViaProxy { self.proxyNode.status = self.title.activity ? .connecting : .connected @@ -97,6 +98,9 @@ final class NetworkStatusTitleView: UIView, NavigationBarTitleView, NavigationBa super.init(frame: CGRect()) + self.isAccessibilityElement = true + self.accessibilityTraits = UIAccessibilityTraitHeader + self.addSubnode(self.activityIndicator) self.addSubnode(self.titleNode) self.addSubnode(self.proxyNode)