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

Unified Diff: chrome/browser/resources/settings/settings_menu/settings_menu.html

Issue 2651293003: Make MD Settings side bar keyboard accessible. (Closed)
Patch Set: Faster Created 3 years, 11 months 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/settings/settings_menu/settings_menu.html
diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html b/chrome/browser/resources/settings/settings_menu/settings_menu.html
index d9458b9450d2a9ecf30b637b80e9ed532afabe5c..5df39c8ad2b7709e13ccaeb7a0c8a608f3386279 100644
--- a/chrome/browser/resources/settings/settings_menu/settings_menu.html
+++ b/chrome/browser/resources/settings/settings_menu/settings_menu.html
@@ -1,4 +1,5 @@
<link rel="import" href="chrome://resources/cr_elements/icons.html">
+<link rel="import" href="chrome://resources/html/action_link.html">
<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
@@ -19,48 +20,61 @@
iron-icon {
--iron-icon-fill-color: var(--settings-nav-grey);
-webkit-margin-end: 24px;
+ padding-top: 10px; /* Center the 20px tall icon in a 40px space. */
}
- .iron-selected:not(.menu-trigger) > iron-icon {
- fill: var(--google-blue-700);
+ .menu-trigger > iron-icon {
+ -webkit-margin-end: 22px; /* 24px - 2px from margin for outline. */
}
- .menu-trigger span {
+ a[is='action-link'] span {
-webkit-margin-end: 16px;
flex: 1;
}
+ .iron-selected:not(.menu-trigger) > iron-icon {
+ fill: var(--google-blue-700);
+ }
+
paper-menu {
- --paper-menu-selected-item: {
- font-weight: 500;
+ padding: 0;
+ }
+
+ a[is='action-link'].no-outline {
+ --paper-menu-focused-item: {
+ outline: none;
+ };
+ }
+
+ a[is='action-link'] {
+ @apply(--settings-actionable);
+ --paper-menu-focused-item: {
+ outline: auto 5px -webkit-focus-ring-color;
};
--paper-menu-focused-item-after: {
background: none;
};
+ --paper-menu-selected-item: {
+ color: var(--settings-nav-grey);
+ font-weight: 500;
+ };
+ -webkit-margin-end: 2px; /* Margin so selected outline is visible. */
+ -webkit-margin-start: 1px;
color: var(--settings-nav-grey);
- font-size: 100%;
+ display: flex;
padding: 0;
}
- div[data-path] {
- @apply(--settings-actionable);
- }
-
#basicPage {
margin-top: 8px;
}
- .page-menu > div {
+ .page-menu > a[is='action-link'] {
+ -webkit-padding-end: 0;
margin-top: 8px;
}
- .page-menu {
- --paper-menu-selected-item: {
- font-weight: 500;
- };
- }
-
- paper-menu div {
+ .menu-trigger {
position: relative; /* Needed for paper-ripple. */
}
@@ -76,144 +90,137 @@
};
}
- .page-menu div {
- -webkit-padding-start: 24px;
- align-items: center;
- display: flex;
+ .page-menu a[is='action-link'] {
+ -webkit-padding-start: 23px; /* 24px - 1px from margin for outline. */
font-size: 100%;
font-weight: 500;
- min-height: 40px;
+ line-height: 40px;
+ text-transform: none;
word-break: break-word;
}
- .page-menu div iron-icon {
- flex-shrink: 0;
- }
-
.separator {
/* Per Alan@, this line is different from the other separator lines. */
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
margin-top: 8px;
}
</style>
- <paper-menu name="root-menu">
- <div class="page-menu" id="basicPage">
- <paper-menu attr-for-selected="data-path" class="menu-content"
- id="basicMenu" selected="[[currentRoute.path]]">
+ <div class="page-menu" id="basicPage">
+ <paper-menu attr-for-selected="data-path" class="menu-content"
+ id="basicMenu" selected="[[currentRoute.path]]">
<if expr="chromeos">
- <div data-path="/internet" on-tap="openPage_">
- <iron-icon icon="settings:network-wifi"></iron-icon>
- $i18n{internetPageTitle}
- </div>
+ <a is="action-link" data-path="/internet" on-tap="openPage_">
Dan Beam 2017/02/01 00:47:50 if you do something like: <button is="paper-icon-
hcarmona 2017/02/01 18:50:05 IIUC paper-icon-button-light is just for an icon,
+ <iron-icon icon="settings:network-wifi"></iron-icon>
+ <span>$i18n{internetPageTitle}</span>
+ </a>
</if>
- <div id="people" data-path="/people" on-tap="openPage_"
- hidden="[[!pageVisibility.people]]">
- <iron-icon icon="settings:people"></iron-icon>
- $i18n{peoplePageTitle}
- </div>
- <div data-path="/appearance" on-tap="openPage_"
- hidden="[[!pageVisibility.appearance]]">
- <iron-icon icon="settings:palette"></iron-icon>
- $i18n{appearancePageTitle}
- </div>
+ <a is="action-link" id="people" data-path="/people" on-tap="openPage_"
+ hidden="[[!pageVisibility.people]]">
+ <iron-icon icon="settings:people"></iron-icon>
+ <span>$i18n{peoplePageTitle}</span>
+ </a>
+ <a is="action-link" data-path="/appearance" on-tap="openPage_"
+ hidden="[[!pageVisibility.appearance]]">
+ <iron-icon icon="settings:palette"></iron-icon>
+ <span>$i18n{appearancePageTitle}</span>
+ </a>
<if expr="chromeos">
- <div data-path="/device" on-tap="openPage_">
- <iron-icon icon="settings:laptop-chromebook"></iron-icon>
- $i18n{devicePageTitle}
- </div>
+ <a is="action-link" data-path="/device" on-tap="openPage_">
+ <iron-icon icon="settings:laptop-chromebook"></iron-icon>
+ <span>$i18n{devicePageTitle}</span>
+ </a>
</if>
- <div data-path="/search" on-tap="openPage_">
- <iron-icon icon="cr:search"></iron-icon>
- $i18n{searchPageTitle}
- </div>
+ <a is="action-link" data-path="/search" on-tap="openPage_">
+ <iron-icon icon="cr:search"></iron-icon>
+ <span>$i18n{searchPageTitle}</span>
+ </a>
<if expr="chromeos">
- <div data-path="/androidApps" on-tap="openPage_"
- hidden="[[!showAndroidApps]]">
- <iron-icon icon="settings:android"></iron-icon>
- $i18n{androidAppsPageTitle}
- </div>
+ <a is="action-link" data-path="/androidApps" on-tap="openPage_"
+ hidden="[[!showAndroidApps]]">
+ <iron-icon icon="settings:android"></iron-icon>
+ <span>$i18n{androidAppsPageTitle}</span>
+ </a>
</if>
<if expr="not chromeos">
- <div data-path="/defaultBrowser" on-tap="openPage_"
- hidden="[[!pageVisibility.defaultBrowser]]">
- <iron-icon icon="settings:web"></iron-icon>
- $i18n{defaultBrowser}
- </div>
+ <a is="action-link" data-path="/defaultBrowser" on-tap="openPage_"
+ hidden="[[!pageVisibility.defaultBrowser]]">
+ <iron-icon icon="settings:web"></iron-icon>
+ <span>$i18n{defaultBrowser}</span>
+ </a>
</if>
- <div data-path="/onStartup" on-tap="openPage_"
- hidden="[[!pageVisibility.onStartup]]">
- <iron-icon icon="settings:power-settings-new"></iron-icon>
- $i18n{onStartup}
- </div>
- </paper-menu>
- </div>
+ <a is="action-link" data-path="/onStartup" on-tap="openPage_"
+ hidden="[[!pageVisibility.onStartup]]">
+ <iron-icon icon="settings:power-settings-new"></iron-icon>
+ <span>$i18n{onStartup}</span>
+ </a>
+ </paper-menu>
<paper-submenu class="page-menu" id="advancedSubmenu" actionable
opened="{{advancedOpened}}"
hidden="[[!pageVisibility.advancedSettings]]">
- <div class="menu-trigger">
+ <a is="action-link" class="menu-trigger" tabindex="0">
<span>$i18n{advancedPageTitle}</span>
<iron-icon icon="[[arrowState_(advancedOpened)]]"></iron-icon>
<paper-ripple></paper-ripple>
- </div>
+ </a>
<paper-menu attr-for-selected="data-path" class="menu-content"
id="advancedMenu" selected="[[currentRoute.path]]">
<if expr="chromeos">
- <div data-path="/dateTime" on-tap="openPage_">
+ <a is="action-link" data-path="/dateTime" on-tap="openPage_">
<iron-icon icon="settings:access-time"></iron-icon>
- $i18n{dateTimePageTitle}
- </div>
+ <span>$i18n{dateTimePageTitle}</span>
+ </a>
</if>
- <div data-path="/privacy" on-tap="openPage_">
+ <a is="action-link" data-path="/privacy" on-tap="openPage_">
<iron-icon icon="settings:security"></iron-icon>
- $i18n{privacyPageTitle}
- </div>
+ <span>$i18n{privacyPageTitle}</span>
+ </a>
<if expr="chromeos">
- <div data-path="/bluetooth" on-tap="openPage_">
+ <a is="action-link" data-path="/bluetooth" on-tap="openPage_">
<iron-icon icon="settings:bluetooth"></iron-icon>
- $i18n{bluetoothPageTitle}
- </div>
+ <span>$i18n{bluetoothPageTitle}</span>
+ </a>
</if>
- <div data-path="/passwordsAndForms" on-tap="openPage_"
+ <a is="action-link" data-path="/passwordsAndForms" on-tap="openPage_"
hidden="[[!pageVisibility.passwordsAndForms]]">
<iron-icon icon="settings:assignment"></iron-icon>
- $i18n{passwordsAndAutofillPageTitle}
- </div>
- <div data-path="/languages" on-tap="openPage_">
+ <span>$i18n{passwordsAndAutofillPageTitle}</span>
+ </a>
+ <a is="action-link" data-path="/languages" on-tap="openPage_">
<iron-icon icon="settings:language"></iron-icon>
- $i18n{languagesPageTitle}
- </div>
- <div data-path="/downloads" on-tap="openPage_">
+ <span>$i18n{languagesPageTitle}</span>
+ </a>
+ <a is="action-link" data-path="/downloads" on-tap="openPage_">
<iron-icon icon="cr:file-download"></iron-icon>
- $i18n{downloadsPageTitle}
- </div>
- <div data-path="/printing" on-tap="openPage_">
+ <span>$i18n{downloadsPageTitle}</span>
+ </a>
+ <a is="action-link" data-path="/printing" on-tap="openPage_">
<iron-icon icon="cr:print"></iron-icon>
- $i18n{printingPageTitle}
- </div>
- <div data-path="/accessibility" on-tap="openPage_">
+ <span>$i18n{printingPageTitle}</span>
+ </a>
+ <a is="action-link" data-path="/accessibility" on-tap="openPage_">
<iron-icon icon="settings:accessibility"></iron-icon>
- $i18n{a11yPageTitle}
- </div>
+ <span>$i18n{a11yPageTitle}</span>
+ </a>
<if expr="not chromeos">
- <div data-path="/system" on-tap="openPage_">
+ <a is="action-link" data-path="/system" on-tap="openPage_">
<iron-icon icon="settings:build"></iron-icon>
- $i18n{systemPageTitle}
- </div>
+ <span>$i18n{systemPageTitle}</span>
+ </a>
</if>
- <div data-path="/reset" on-tap="openPage_"
+ <a is="action-link" data-path="/reset" on-tap="openPage_"
hidden="[[!pageVisibility.reset]]">
<iron-icon icon="settings:restore"></iron-icon>
- $i18n{resetPageTitle}
- </div>
+ <span>$i18n{resetPageTitle}</span>
+ </a>
</paper-menu>
</paper-submenu>
- <div class="separator"></div>
- <paper-submenu class="page-menu">
- <div about-selected$="[[aboutSelected_]]" class="menu-trigger"
- id="about-menu" on-tap="openPage_" data-path="/help">
- $i18n{aboutPageTitle}
- </div>
- </paper-submenu>
+ </div>
+ <div class="separator"></div>
+ <paper-menu class="page-menu">
+ <a is="action-link" about-selected$="[[aboutSelected_]]"
+ id="about-menu" on-tap="openPage_" data-path="/help">
+ <span>$i18n{aboutPageTitle}</span>
+ </a>
</paper-menu>
</template>
<script src="settings_menu.js"></script>
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698