Enhance accessibility for toggle toolbar buttons. Issue #1581
This commit is contained in:
parent
75938a8153
commit
3115abc72e
@ -38,6 +38,24 @@ class ArticleExtractorButton: UIButton {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override var accessibilityLabel: String? {
|
||||||
|
get {
|
||||||
|
switch buttonState {
|
||||||
|
case .error:
|
||||||
|
return NSLocalizedString("Error - Reader View", comment: "Error - Reader View")
|
||||||
|
case .animated:
|
||||||
|
return NSLocalizedString("Processing - Reader View", comment: "Processing - Reader View")
|
||||||
|
case .on:
|
||||||
|
return NSLocalizedString("Selected - Reader View", comment: "Selected - Reader View")
|
||||||
|
case .off:
|
||||||
|
return NSLocalizedString("Reader View", comment: "Reader View")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
super.accessibilityLabel = newValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override func layoutSubviews() {
|
override func layoutSubviews() {
|
||||||
super.layoutSubviews()
|
super.layoutSubviews()
|
||||||
guard case .animated = buttonState else {
|
guard case .animated = buttonState else {
|
||||||
|
@ -135,11 +135,21 @@ class ArticleViewController: UIViewController {
|
|||||||
starBarButtonItem.isEnabled = true
|
starBarButtonItem.isEnabled = true
|
||||||
actionBarButtonItem.isEnabled = true
|
actionBarButtonItem.isEnabled = true
|
||||||
|
|
||||||
let readImage = article.status.read ? AppAssets.circleOpenImage : AppAssets.circleClosedImage
|
if article.status.read {
|
||||||
readBarButtonItem.image = readImage
|
readBarButtonItem.image = AppAssets.circleOpenImage
|
||||||
|
readBarButtonItem.accLabelText = NSLocalizedString("Mark Article Unread", comment: "Mark Article Unread")
|
||||||
|
} else {
|
||||||
|
readBarButtonItem.image = AppAssets.circleClosedImage
|
||||||
|
readBarButtonItem.accLabelText = NSLocalizedString("Selected - Mark Article Unread", comment: "Selected - Mark Article Unread")
|
||||||
|
}
|
||||||
|
|
||||||
let starImage = article.status.starred ? AppAssets.starClosedImage : AppAssets.starOpenImage
|
if article.status.starred {
|
||||||
starBarButtonItem.image = starImage
|
starBarButtonItem.image = AppAssets.starClosedImage
|
||||||
|
starBarButtonItem.accLabelText = NSLocalizedString("Selected - Star Article", comment: "Selected - Star Article")
|
||||||
|
} else {
|
||||||
|
starBarButtonItem.image = AppAssets.starOpenImage
|
||||||
|
starBarButtonItem.accLabelText = NSLocalizedString("Star Article", comment: "Star Article")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -402,10 +402,10 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner {
|
|||||||
|
|
||||||
@IBAction func toggleFilter(_ sender: Any) {
|
@IBAction func toggleFilter(_ sender: Any) {
|
||||||
if coordinator.isReadFeedsFiltered {
|
if coordinator.isReadFeedsFiltered {
|
||||||
filterButton.image = AppAssets.filterInactiveImage
|
setFilterButtonToInactive()
|
||||||
coordinator.showAllFeeds()
|
coordinator.showAllFeeds()
|
||||||
} else {
|
} else {
|
||||||
filterButton.image = AppAssets.filterActiveImage
|
setFilterButtonToActive()
|
||||||
coordinator.hideReadFeeds()
|
coordinator.hideReadFeeds()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -674,14 +674,24 @@ private extension MasterFeedViewController {
|
|||||||
|
|
||||||
func updateUI() {
|
func updateUI() {
|
||||||
if coordinator.isReadFeedsFiltered {
|
if coordinator.isReadFeedsFiltered {
|
||||||
filterButton?.image = AppAssets.filterActiveImage
|
setFilterButtonToActive()
|
||||||
} else {
|
} else {
|
||||||
filterButton?.image = AppAssets.filterInactiveImage
|
setFilterButtonToInactive()
|
||||||
}
|
}
|
||||||
refreshProgressView?.updateRefreshLabel()
|
refreshProgressView?.updateRefreshLabel()
|
||||||
addNewItemButton?.isEnabled = !AccountManager.shared.activeAccounts.isEmpty
|
addNewItemButton?.isEnabled = !AccountManager.shared.activeAccounts.isEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setFilterButtonToActive() {
|
||||||
|
filterButton?.image = AppAssets.filterActiveImage
|
||||||
|
filterButton?.accLabelText = NSLocalizedString("Selected - Filter Read Feeds", comment: "Selected - Filter Read Feeds")
|
||||||
|
}
|
||||||
|
|
||||||
|
func setFilterButtonToInactive() {
|
||||||
|
filterButton?.image = AppAssets.filterInactiveImage
|
||||||
|
filterButton?.accLabelText = NSLocalizedString("Filter Read Feeds", comment: "Filter Read Feeds")
|
||||||
|
}
|
||||||
|
|
||||||
func reloadNode(_ node: Node) {
|
func reloadNode(_ node: Node) {
|
||||||
var snapshot = dataSource.snapshot()
|
var snapshot = dataSource.snapshot()
|
||||||
snapshot.reloadItems([node])
|
snapshot.reloadItems([node])
|
||||||
|
@ -112,10 +112,10 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner
|
|||||||
// MARK: Actions
|
// MARK: Actions
|
||||||
@IBAction func toggleFilter(_ sender: Any) {
|
@IBAction func toggleFilter(_ sender: Any) {
|
||||||
if coordinator.isReadArticlesFiltered {
|
if coordinator.isReadArticlesFiltered {
|
||||||
filterButton.image = AppAssets.filterInactiveImage
|
setFilterButtonToInactive()
|
||||||
coordinator.showAllArticles()
|
coordinator.showAllArticles()
|
||||||
} else {
|
} else {
|
||||||
filterButton.image = AppAssets.filterActiveImage
|
setFilterButtonToActive()
|
||||||
coordinator.hideReadArticles()
|
coordinator.hideReadArticles()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -579,9 +579,9 @@ private extension MasterTimelineViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if coordinator.isReadArticlesFiltered {
|
if coordinator.isReadArticlesFiltered {
|
||||||
filterButton.image = AppAssets.filterActiveImage
|
setFilterButtonToActive()
|
||||||
} else {
|
} else {
|
||||||
filterButton.image = AppAssets.filterInactiveImage
|
setFilterButtonToInactive()
|
||||||
}
|
}
|
||||||
|
|
||||||
tableView.selectRow(at: nil, animated: false, scrollPosition: .top)
|
tableView.selectRow(at: nil, animated: false, scrollPosition: .top)
|
||||||
@ -599,6 +599,16 @@ private extension MasterTimelineViewController {
|
|||||||
updateToolbar()
|
updateToolbar()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setFilterButtonToActive() {
|
||||||
|
filterButton?.image = AppAssets.filterActiveImage
|
||||||
|
filterButton?.accLabelText = NSLocalizedString("Selected - Filter Read Articles", comment: "Selected - Filter Read Articles")
|
||||||
|
}
|
||||||
|
|
||||||
|
func setFilterButtonToInactive() {
|
||||||
|
filterButton?.image = AppAssets.filterInactiveImage
|
||||||
|
filterButton?.accLabelText = NSLocalizedString("Filter Read Articles", comment: "Filter Read Articles")
|
||||||
|
}
|
||||||
|
|
||||||
func updateToolbar() {
|
func updateToolbar() {
|
||||||
markAllAsReadButton.isEnabled = coordinator.isTimelineUnreadAvailable
|
markAllAsReadButton.isEnabled = coordinator.isTimelineUnreadAvailable
|
||||||
firstUnreadButton.isEnabled = coordinator.isTimelineUnreadAvailable
|
firstUnreadButton.isEnabled = coordinator.isTimelineUnreadAvailable
|
||||||
|
Loading…
x
Reference in New Issue
Block a user