Commit bae41164 authored by Gauthier Ambard's avatar Gauthier Ambard Committed by Commit Bot

Add the accessibility IDs to tools menu items

This CL adds accessibility identifiers to all the items in the tools
menu.

Bug: 804773
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ifaa40d7174dadf16e71a49949d5f674f873ff8b3
Reviewed-on: https://chromium-review.googlesource.com/980552Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546051}
parent 99300b9a
...@@ -18,6 +18,7 @@ source_set("popup_menu") { ...@@ -18,6 +18,7 @@ source_set("popup_menu") {
"//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/commands",
"//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
"//ios/chrome/browser/ui/popup_menu/cells", "//ios/chrome/browser/ui/popup_menu/cells",
"//ios/chrome/browser/ui/tools_menu/public",
"//ios/chrome/browser/ui/util", "//ios/chrome/browser/ui/util",
"//ios/chrome/browser/web_state_list", "//ios/chrome/browser/web_state_list",
"//ios/public/provider/chrome/browser", "//ios/public/provider/chrome/browser",
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_item.h" #import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_item.h"
#import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h" #import "ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.h"
#import "ios/chrome/browser/ui/popup_menu/popup_menu_table_view_controller.h" #import "ios/chrome/browser/ui/popup_menu/popup_menu_table_view_controller.h"
#include "ios/chrome/browser/ui/tools_menu/public/tools_menu_constants.h"
#import "ios/chrome/browser/web_state_list/web_state_list.h" #import "ios/chrome/browser/web_state_list/web_state_list.h"
#import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h" #import "ios/chrome/browser/web_state_list/web_state_list_observer_bridge.h"
#include "ios/chrome/grit/ios_strings.h" #include "ios/chrome/grit/ios_strings.h"
...@@ -26,11 +27,14 @@ ...@@ -26,11 +27,14 @@
#endif #endif
namespace { namespace {
PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { PopupMenuToolsItem* CreateTableViewItem(int titleID,
PopupMenuAction action,
NSString* accessibilityID) {
PopupMenuToolsItem* item = PopupMenuToolsItem* item =
[[PopupMenuToolsItem alloc] initWithType:kItemTypeEnumZero]; [[PopupMenuToolsItem alloc] initWithType:kItemTypeEnumZero];
item.title = l10n_util::GetNSString(titleID); item.title = l10n_util::GetNSString(titleID);
item.actionIdentifier = action; item.actionIdentifier = action;
item.accessibilityIdentifier = accessibilityID;
return item; return item;
} }
} }
...@@ -242,9 +246,11 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -242,9 +246,11 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
if ([self isPageLoading]) { if ([self isPageLoading]) {
self.reloadStop.title = l10n_util::GetNSString(IDS_IOS_TOOLS_MENU_STOP); self.reloadStop.title = l10n_util::GetNSString(IDS_IOS_TOOLS_MENU_STOP);
self.reloadStop.actionIdentifier = PopupMenuActionStop; self.reloadStop.actionIdentifier = PopupMenuActionStop;
self.reloadStop.accessibilityIdentifier = kToolsMenuStop;
} else { } else {
self.reloadStop.title = l10n_util::GetNSString(IDS_IOS_TOOLS_MENU_RELOAD); self.reloadStop.title = l10n_util::GetNSString(IDS_IOS_TOOLS_MENU_RELOAD);
self.reloadStop.actionIdentifier = PopupMenuActionReload; self.reloadStop.actionIdentifier = PopupMenuActionReload;
self.reloadStop.accessibilityIdentifier = kToolsMenuReload;
} }
// Reload the items. // Reload the items.
...@@ -280,8 +286,8 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -280,8 +286,8 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
// Creates the menu items for the tools menu. // Creates the menu items for the tools menu.
- (void)createToolsMenuItem { - (void)createToolsMenuItem {
// Reload or stop page action, created as reload. // Reload or stop page action, created as reload.
self.reloadStop = self.reloadStop = CreateTableViewItem(
CreateTableViewItem(IDS_IOS_TOOLS_MENU_RELOAD, PopupMenuActionReload); IDS_IOS_TOOLS_MENU_RELOAD, PopupMenuActionReload, kToolsMenuReload);
NSArray* tabActions = [@[ self.reloadStop ] NSArray* tabActions = [@[ self.reloadStop ]
arrayByAddingObjectsFromArray:[self itemsForNewTab]]; arrayByAddingObjectsFromArray:[self itemsForNewTab]];
...@@ -295,12 +301,14 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -295,12 +301,14 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
- (NSArray<TableViewItem*>*)itemsForNewTab { - (NSArray<TableViewItem*>*)itemsForNewTab {
// Open New Tab. // Open New Tab.
TableViewItem* openNewTabItem = CreateTableViewItem( TableViewItem* openNewTabItem =
IDS_IOS_TOOLS_MENU_NEW_TAB, PopupMenuActionOpenNewTab); CreateTableViewItem(IDS_IOS_TOOLS_MENU_NEW_TAB, PopupMenuActionOpenNewTab,
kToolsMenuNewTabId);
// Open New Incogntio Tab. // Open New Incogntio Tab.
TableViewItem* openNewIncognitoTabItem = CreateTableViewItem( TableViewItem* openNewIncognitoTabItem = CreateTableViewItem(
IDS_IOS_TOOLS_MENU_NEW_INCOGNITO_TAB, PopupMenuActionOpenNewIncognitoTab); IDS_IOS_TOOLS_MENU_NEW_INCOGNITO_TAB, PopupMenuActionOpenNewIncognitoTab,
kToolsMenuNewIncognitoTabId);
return @[ openNewTabItem, openNewIncognitoTabItem ]; return @[ openNewTabItem, openNewIncognitoTabItem ];
} }
...@@ -308,19 +316,22 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -308,19 +316,22 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
- (NSArray<TableViewItem*>*)actionItems { - (NSArray<TableViewItem*>*)actionItems {
NSMutableArray* actionsArray = [NSMutableArray array]; NSMutableArray* actionsArray = [NSMutableArray array];
// Read Later. // Read Later.
self.readLater = CreateTableViewItem(IDS_IOS_CONTENT_CONTEXT_ADDTOREADINGLIST, self.readLater =
PopupMenuActionReadLater); CreateTableViewItem(IDS_IOS_CONTENT_CONTEXT_ADDTOREADINGLIST,
PopupMenuActionReadLater, kToolsMenuReadLater);
[actionsArray addObject:self.readLater]; [actionsArray addObject:self.readLater];
// Find in Pad. // Find in Pad.
self.findInPage = CreateTableViewItem(IDS_IOS_TOOLS_MENU_FIND_IN_PAGE, self.findInPage =
PopupMenuActionFindInPage); CreateTableViewItem(IDS_IOS_TOOLS_MENU_FIND_IN_PAGE,
PopupMenuActionFindInPage, kToolsMenuFindInPageId);
[actionsArray addObject:self.findInPage]; [actionsArray addObject:self.findInPage];
if ([self userAgentType] != web::UserAgentType::DESKTOP) { if ([self userAgentType] != web::UserAgentType::DESKTOP) {
// Request Desktop Site. // Request Desktop Site.
PopupMenuToolsItem* requestDesktopSite = CreateTableViewItem( PopupMenuToolsItem* requestDesktopSite = CreateTableViewItem(
IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, PopupMenuActionRequestDesktop); IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, PopupMenuActionRequestDesktop,
kToolsMenuRequestDesktopId);
// Disable the action if the user agent is not mobile. // Disable the action if the user agent is not mobile.
requestDesktopSite.enabled = requestDesktopSite.enabled =
[self userAgentType] == web::UserAgentType::MOBILE; [self userAgentType] == web::UserAgentType::MOBILE;
...@@ -328,13 +339,15 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -328,13 +339,15 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
} else { } else {
// Request Mobile Site. // Request Mobile Site.
TableViewItem* requestMobileSite = CreateTableViewItem( TableViewItem* requestMobileSite = CreateTableViewItem(
IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE, PopupMenuActionRequestMobile); IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE, PopupMenuActionRequestMobile,
kToolsMenuRequestMobileId);
[actionsArray addObject:requestMobileSite]; [actionsArray addObject:requestMobileSite];
} }
// Site Information. // Site Information.
self.siteInformation = CreateTableViewItem( self.siteInformation = CreateTableViewItem(
IDS_IOS_TOOLS_MENU_SITE_INFORMATION, PopupMenuActionSiteInformation); IDS_IOS_TOOLS_MENU_SITE_INFORMATION, PopupMenuActionSiteInformation,
kToolsMenuSiteInformation);
[actionsArray addObject:self.siteInformation]; [actionsArray addObject:self.siteInformation];
// Report an Issue. // Report an Issue.
...@@ -342,13 +355,14 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -342,13 +355,14 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
->GetUserFeedbackProvider() ->GetUserFeedbackProvider()
->IsUserFeedbackEnabled()) { ->IsUserFeedbackEnabled()) {
TableViewItem* reportIssue = CreateTableViewItem( TableViewItem* reportIssue = CreateTableViewItem(
IDS_IOS_OPTIONS_REPORT_AN_ISSUE, PopupMenuActionReportIssue); IDS_IOS_OPTIONS_REPORT_AN_ISSUE, PopupMenuActionReportIssue,
kToolsMenuReportAnIssueId);
[actionsArray addObject:reportIssue]; [actionsArray addObject:reportIssue];
} }
// Help. // Help.
TableViewItem* help = TableViewItem* help = CreateTableViewItem(
CreateTableViewItem(IDS_IOS_TOOLS_MENU_HELP_MOBILE, PopupMenuActionHelp); IDS_IOS_TOOLS_MENU_HELP_MOBILE, PopupMenuActionHelp, kToolsMenuHelpId);
[actionsArray addObject:help]; [actionsArray addObject:help];
return actionsArray; return actionsArray;
...@@ -356,24 +370,28 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) { ...@@ -356,24 +370,28 @@ PopupMenuToolsItem* CreateTableViewItem(int titleID, PopupMenuAction action) {
- (NSArray<TableViewItem*>*)collectionItems { - (NSArray<TableViewItem*>*)collectionItems {
// Bookmarks. // Bookmarks.
TableViewItem* bookmarks = CreateTableViewItem(IDS_IOS_TOOLS_MENU_BOOKMARKS, TableViewItem* bookmarks =
PopupMenuActionBookmarks); CreateTableViewItem(IDS_IOS_TOOLS_MENU_BOOKMARKS,
PopupMenuActionBookmarks, kToolsMenuBookmarksId);
// Reading List. // Reading List.
TableViewItem* readingList = CreateTableViewItem( TableViewItem* readingList =
IDS_IOS_TOOLS_MENU_READING_LIST, PopupMenuActionReadingList); CreateTableViewItem(IDS_IOS_TOOLS_MENU_READING_LIST,
PopupMenuActionReadingList, kToolsMenuReadingListId);
// Recent Tabs. // Recent Tabs.
TableViewItem* recentTabs = CreateTableViewItem( TableViewItem* recentTabs =
IDS_IOS_TOOLS_MENU_RECENT_TABS, PopupMenuActionRecentTabs); CreateTableViewItem(IDS_IOS_TOOLS_MENU_RECENT_TABS,
PopupMenuActionRecentTabs, kToolsMenuOtherDevicesId);
// History. // History.
TableViewItem* history = TableViewItem* history = CreateTableViewItem(
CreateTableViewItem(IDS_IOS_TOOLS_MENU_HISTORY, PopupMenuActionHistory); IDS_IOS_TOOLS_MENU_HISTORY, PopupMenuActionHistory, kToolsMenuHistoryId);
// Settings. // Settings.
TableViewItem* settings = TableViewItem* settings =
CreateTableViewItem(IDS_IOS_TOOLS_MENU_SETTINGS, PopupMenuActionSettings); CreateTableViewItem(IDS_IOS_TOOLS_MENU_SETTINGS, PopupMenuActionSettings,
kToolsMenuSettingsId);
return @[ bookmarks, readingList, recentTabs, history, settings ]; return @[ bookmarks, readingList, recentTabs, history, settings ];
} }
......
...@@ -18,6 +18,10 @@ extern NSString* const kToolsMenuDidShowNotification; ...@@ -18,6 +18,10 @@ extern NSString* const kToolsMenuDidShowNotification;
extern NSString* const kToolsMenuDidHideNotification; extern NSString* const kToolsMenuDidHideNotification;
// Tools Menu item IDs. // Tools Menu item IDs.
// Reload item accessibility Identifier.
extern NSString* const kToolsMenuReload;
// Stop item accessibility Identifier.
extern NSString* const kToolsMenuStop;
// New Tab item accessibility Identifier. // New Tab item accessibility Identifier.
extern NSString* const kToolsMenuNewTabId; extern NSString* const kToolsMenuNewTabId;
// New incognito Tab item accessibility Identifier. // New incognito Tab item accessibility Identifier.
...@@ -46,6 +50,10 @@ extern NSString* const kToolsMenuSettingsId; ...@@ -46,6 +50,10 @@ extern NSString* const kToolsMenuSettingsId;
extern NSString* const kToolsMenuHelpId; extern NSString* const kToolsMenuHelpId;
// Request mobile item accessibility Identifier. // Request mobile item accessibility Identifier.
extern NSString* const kToolsMenuRequestMobileId; extern NSString* const kToolsMenuRequestMobileId;
// ReadLater item accessibility Identifier.
extern NSString* const kToolsMenuReadLater;
// SiteInformation item accessibility Identifier.
extern NSString* const kToolsMenuSiteInformation;
// Identifiers for tools menu items (for metrics purposes). // Identifiers for tools menu items (for metrics purposes).
typedef NS_ENUM(int, ToolsMenuItemID) { typedef NS_ENUM(int, ToolsMenuItemID) {
......
...@@ -19,6 +19,8 @@ NSString* const kToolsMenuDidHideNotification = ...@@ -19,6 +19,8 @@ NSString* const kToolsMenuDidHideNotification =
@"kToolsMenuDidHideNotification"; @"kToolsMenuDidHideNotification";
// Tools menu item IDs. // Tools menu item IDs.
NSString* const kToolsMenuReload = @"kToolsMenuReload";
NSString* const kToolsMenuStop = @"kToolsMenuStop";
NSString* const kToolsMenuNewTabId = @"kToolsMenuNewTabId"; NSString* const kToolsMenuNewTabId = @"kToolsMenuNewTabId";
NSString* const kToolsMenuNewIncognitoTabId = @"kToolsMenuNewIncognitoTabId"; NSString* const kToolsMenuNewIncognitoTabId = @"kToolsMenuNewIncognitoTabId";
NSString* const kToolsMenuCloseAllTabsId = @"kToolsMenuCloseAllTabsId"; NSString* const kToolsMenuCloseAllTabsId = @"kToolsMenuCloseAllTabsId";
...@@ -34,3 +36,5 @@ NSString* const kToolsMenuRequestDesktopId = @"kToolsMenuRequestDesktopId"; ...@@ -34,3 +36,5 @@ NSString* const kToolsMenuRequestDesktopId = @"kToolsMenuRequestDesktopId";
NSString* const kToolsMenuSettingsId = @"kToolsMenuSettingsId"; NSString* const kToolsMenuSettingsId = @"kToolsMenuSettingsId";
NSString* const kToolsMenuHelpId = @"kToolsMenuHelpId"; NSString* const kToolsMenuHelpId = @"kToolsMenuHelpId";
NSString* const kToolsMenuRequestMobileId = @"kToolsMenuRequestMobileId"; NSString* const kToolsMenuRequestMobileId = @"kToolsMenuRequestMobileId";
NSString* const kToolsMenuReadLater = @"kToolsMenuReadLater";
NSString* const kToolsMenuSiteInformation = @"kToolsMenuSiteInformation";
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment