Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4072)

Unified Diff: chrome/browser/ui/views/website_settings/permission_selector_row.cc

Issue 2491773002: Page Info (Views): remove images from accessibility order (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/website_settings_popup_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/website_settings/permission_selector_row.cc
diff --git a/chrome/browser/ui/views/website_settings/permission_selector_row.cc b/chrome/browser/ui/views/website_settings/permission_selector_row.cc
index a5792608069330abb39ce653fde76cf59828a7d1..5f36c7366287cf9106392e574ed6ddc08649cd21 100644
--- a/chrome/browser/ui/views/website_settings/permission_selector_row.cc
+++ b/chrome/browser/ui/views/website_settings/permission_selector_row.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/ui/website_settings/permission_menu_model.h"
#include "chrome/browser/ui/website_settings/website_settings_ui.h"
#include "chrome/grit/generated_resources.h"
+#include "ui/accessibility/ax_enums.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/base/material_design/material_design_controller.h"
#include "ui/base/models/combobox_model.h"
@@ -28,8 +29,18 @@
namespace {
// Minimum distance between the label and its corresponding menu.
const int kMinSeparationBetweenLabelAndMenu = 16;
+
+class NonAccessibleImageView : public views::ImageView {
msw 2016/11/10 03:04:15 Yeah, even though it's a fairly simple subclass, i
+ // Overridden from views::View.
msw 2016/11/10 03:04:14 nit: s/View/ImageView/, views::ImageView itself ha
+ void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
+};
msw 2016/11/10 03:04:14 DISALLOW_COPY_AND_ASSIGN (please add an explicit p
+
+void NonAccessibleImageView::GetAccessibleNodeData(ui::AXNodeData* node_data) {
+ node_data->role = ui::AX_ROLE_IGNORED;
msw 2016/11/10 03:04:14 I wonder if SetFocusBehavior(NEVER) would suffice,
dmazzoni 2016/11/10 18:13:59 How about node_data->AddStateFlag(ui::AX_STATE_INV
lgarron 2016/11/10 22:59:54 The following does not work: icon->SetFocusBe
}
+} // namespace
+
namespace internal {
// The |PermissionMenuButton| provides a menu for selecting a setting a
@@ -251,7 +262,7 @@ PermissionSelectorRow::PermissionSelectorRow(
layout->StartRow(1, column_set_id);
// Create the permission icon.
- icon_ = new views::ImageView();
+ icon_ = new NonAccessibleImageView();
const gfx::Image& image = WebsiteSettingsUI::GetPermissionIcon(permission);
icon_->SetImage(image.ToImageSkia());
layout->AddView(icon_,
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/website_settings_popup_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698