Commit 9935f881 authored by sczs's avatar sczs Committed by Commit Bot

[ios] Adds A11y identifiers to Settings sub menus cells

Fixed: 1040844
Change-Id: I99dea98fa8568b135b74e577004af4ed61fde731
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2031927Reviewed-by: default avatarChris Lu <thegreenfrog@chromium.org>
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737499}
parent 96f9d859
......@@ -13,6 +13,7 @@
#include "ios/chrome/browser/chrome_url_constants.h"
#import "ios/chrome/browser/ui/commands/browser_commands.h"
#import "ios/chrome/browser/ui/settings/cells/version_item.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
#import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_text_item.h"
#import "ios/chrome/browser/ui/table_view/chrome_table_view_styler.h"
......@@ -91,6 +92,7 @@ const CGFloat kDefaultHeight = 70;
credits.text = l10n_util::GetNSString(IDS_IOS_OPEN_SOURCE_LICENSES);
credits.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
credits.accessibilityTraits = UIAccessibilityTraitButton;
credits.accessibilityIdentifier = kSettingsOpenSourceLicencesCellId;
[model addItem:credits toSectionWithIdentifier:SectionIdentifierLinks];
TableViewDetailTextItem* terms =
......@@ -98,6 +100,7 @@ const CGFloat kDefaultHeight = 70;
terms.text = l10n_util::GetNSString(IDS_IOS_TERMS_OF_SERVICE);
terms.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
terms.accessibilityTraits = UIAccessibilityTraitButton;
terms.accessibilityIdentifier = kSettingsTOSCellId;
[model addItem:terms toSectionWithIdentifier:SectionIdentifierLinks];
TableViewDetailTextItem* privacy =
......@@ -105,6 +108,7 @@ const CGFloat kDefaultHeight = 70;
privacy.text = l10n_util::GetNSString(IDS_IOS_PRIVACY_POLICY);
privacy.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
privacy.accessibilityTraits = UIAccessibilityTraitButton;
privacy.accessibilityIdentifier = kSettingsPrivacyNoticeCellId;
[model addItem:privacy toSectionWithIdentifier:SectionIdentifierLinks];
VersionItem* version = [[VersionItem alloc] initWithType:ItemTypeVersion];
......
......@@ -11,6 +11,7 @@
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#include "ios/chrome/browser/pref_names.h"
#import "ios/chrome/browser/ui/settings/dataplan_usage_table_view_controller.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
#import "ios/chrome/browser/ui/settings/utils/settings_utils.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_link_header_footer_item.h"
......@@ -171,6 +172,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
_preloadWebpagesDetailItem.accessoryType =
UITableViewCellAccessoryDisclosureIndicator;
_preloadWebpagesDetailItem.accessibilityTraits |= UIAccessibilityTraitButton;
_preloadWebpagesDetailItem.accessibilityIdentifier = kSettingsPreloadCellId;
return _preloadWebpagesDetailItem;
}
......
......@@ -14,6 +14,7 @@
#include "ios/chrome/browser/content_settings/host_content_settings_map_factory.h"
#import "ios/chrome/browser/ui/settings/block_popups_table_view_controller.h"
#import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
#import "ios/chrome/browser/ui/settings/utils/content_setting_backed_boolean.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
#include "ios/chrome/browser/ui/ui_feature_flags.h"
......@@ -123,6 +124,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
_blockPopupsDetailItem.accessoryType =
UITableViewCellAccessoryDisclosureIndicator;
_blockPopupsDetailItem.accessibilityTraits |= UIAccessibilityTraitButton;
_blockPopupsDetailItem.accessibilityIdentifier = kSettingsBlockPopupsCellId;
return _blockPopupsDetailItem;
}
......@@ -140,6 +142,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
_composeEmailDetailItem.accessoryType =
UITableViewCellAccessoryDisclosureIndicator;
_composeEmailDetailItem.accessibilityTraits |= UIAccessibilityTraitButton;
_composeEmailDetailItem.accessibilityIdentifier = kSettingsDefaultAppsCellId;
return _composeEmailDetailItem;
}
......
......@@ -45,6 +45,7 @@ source_set("language_ui") {
"//ios/chrome/app/strings:ios_strings_grit",
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/list_model",
"//ios/chrome/browser/ui/settings:constants",
"//ios/chrome/browser/ui/settings:settings_root",
"//ios/chrome/browser/ui/settings/cells",
"//ios/chrome/browser/ui/settings/cells:public",
......
......@@ -18,6 +18,7 @@
#import "ios/chrome/browser/ui/settings/language/language_settings_data_source.h"
#import "ios/chrome/browser/ui/settings/language/language_settings_histograms.h"
#import "ios/chrome/browser/ui/settings/language/language_settings_ui_constants.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_cells_constants.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_link_header_footer_item.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_text_item.h"
......@@ -426,6 +427,7 @@ typedef NS_ENUM(NSInteger, ItemType) {
IDS_IOS_LANGUAGE_SETTINGS_ADD_LANGUAGE_BUTTON_TITLE);
addLanguageItem.textColor = [UIColor colorNamed:kBlueColor];
addLanguageItem.accessibilityTraits |= UIAccessibilityTraitButton;
addLanguageItem.accessibilityIdentifier = kSettingsAddLanguageCellId;
[self.tableViewModel addItem:addLanguageItem
toSectionWithIdentifier:SectionIdentifierLanguages];
}
......
......@@ -21,6 +21,7 @@
#import "ios/chrome/browser/ui/settings/clear_browsing_data/clear_browsing_data_table_view_controller.h"
#import "ios/chrome/browser/ui/settings/handoff_table_view_controller.h"
#import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
#import "ios/chrome/browser/ui/table_view/cells/table_view_link_header_footer_item.h"
#include "ios/chrome/browser/ui/ui_feature_flags.h"
......@@ -138,10 +139,11 @@ GURL GoogleServicesSettingsURL() {
_browserState->GetPrefs()->GetBoolean(prefs::kIosHandoffToOtherDevices)
? l10n_util::GetNSString(IDS_IOS_SETTING_ON)
: l10n_util::GetNSString(IDS_IOS_SETTING_OFF);
_handoffDetailItem =
[self detailItemWithType:ItemTypeOtherDevicesHandoff
titleId:IDS_IOS_OPTIONS_ENABLE_HANDOFF_TO_OTHER_DEVICES
detailText:detailText];
_handoffDetailItem = [self
detailItemWithType:ItemTypeOtherDevicesHandoff
titleId:IDS_IOS_OPTIONS_ENABLE_HANDOFF_TO_OTHER_DEVICES
detailText:detailText
accessibilityIdentifier:kSettingsHandoffCellId];
return _handoffDetailItem;
}
......@@ -162,18 +164,22 @@ GURL GoogleServicesSettingsURL() {
- (TableViewItem*)clearBrowsingDetailItem {
return [self detailItemWithType:ItemTypeClearBrowsingDataClear
titleId:IDS_IOS_CLEAR_BROWSING_DATA_TITLE
detailText:nil];
detailText:nil
accessibilityIdentifier:kSettingsClearBrowsingDataCellId];
}
- (TableViewDetailIconItem*)detailItemWithType:(NSInteger)type
titleId:(NSInteger)titleId
detailText:(NSString*)detailText {
detailText:(NSString*)detailText
accessibilityIdentifier:
(NSString*)accessibilityIdentifier {
TableViewDetailIconItem* detailItem =
[[TableViewDetailIconItem alloc] initWithType:type];
detailItem.text = l10n_util::GetNSString(titleId);
detailItem.detailText = detailText;
detailItem.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
detailItem.accessibilityTraits |= UIAccessibilityTraitButton;
detailItem.accessibilityIdentifier = accessibilityIdentifier;
return detailItem;
}
......
......@@ -49,7 +49,34 @@ extern NSString* const kSettingsContentSettingsCellId;
// The accessibility identifier of the Bandwidth cell.
extern NSString* const kSettingsBandwidthCellId;
// The accessibility identifier of the Aboud cell.
// The accessibility identifier of the About cell.
extern NSString* const kSettingsAboutCellId;
// The accessibility identifier of the Open Source Licences cell.
extern NSString* const kSettingsOpenSourceLicencesCellId;
// The accessibility identifier of the TOS cell.
extern NSString* const kSettingsTOSCellId;
// The accessibility identifier of the Privacy Notice cell.
extern NSString* const kSettingsPrivacyNoticeCellId;
// The accessibility identifier of the Preload cell.
extern NSString* const kSettingsPreloadCellId;
// The accessibility identifier of the Block Popups cell.
extern NSString* const kSettingsBlockPopupsCellId;
// The accessibility identifier of the Default Apps cell.
extern NSString* const kSettingsDefaultAppsCellId;
// The accessibility identifier of the Add Language cell.
extern NSString* const kSettingsAddLanguageCellId;
// The accessibility identifier of the Clear Browsing Data cell.
extern NSString* const kSettingsClearBrowsingDataCellId;
// The accessibility identifier of the Handoff cell.
extern NSString* const kSettingsHandoffCellId;
#endif // IOS_CHROME_BROWSER_UI_SETTINGS_SETTINGS_TABLE_VIEW_CONTROLLER_CONSTANTS_H_
......@@ -28,3 +28,14 @@ NSString* const kSettingsContentSettingsCellId =
@"kSettingsContentSettingsCellId";
NSString* const kSettingsBandwidthCellId = @"kSettingsBandwidthCellId";
NSString* const kSettingsAboutCellId = @"kSettingsAboutCellId";
NSString* const kSettingsOpenSourceLicencesCellId =
@"kSettingsOpenSourceLicencesCellId";
NSString* const kSettingsTOSCellId = @"kSettingsTOSCellId";
NSString* const kSettingsPrivacyNoticeCellId = @"kSettingsPrivacyNoticeCellId";
NSString* const kSettingsPreloadCellId = @"kSettingsPreloadCellId";
NSString* const kSettingsBlockPopupsCellId = @"kSettingsBlockPopupsCellId";
NSString* const kSettingsDefaultAppsCellId = @"kSettingsDefaultAppsCellId";
NSString* const kSettingsAddLanguageCellId = @"kSettingsAddLanguageCellId";
NSString* const kSettingsClearBrowsingDataCellId =
@"kSettingsClearBrowsingDataCellId";
NSString* const kSettingsHandoffCellId = @"kSettingsHandoffCellId";
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