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

Side by Side Diff: chrome/browser/resources/settings/settings_menu/settings_menu.html

Issue 2651293003: Make MD Settings side bar keyboard accessible. (Closed)
Patch Set: fix test + feedback Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 <link rel="import" href="chrome://resources/cr_elements/icons.html"> 1 <link rel="import" href="chrome://resources/cr_elements/icons.html">
2 <link rel="import" href="chrome://resources/html/assert.html"> 2 <link rel="import" href="chrome://resources/html/assert.html">
3 <link rel="import" href="chrome://resources/html/polymer.html"> 3 <link rel="import" href="chrome://resources/html/polymer.html">
4 <link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-coll apse.html">
4 <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.htm l"> 5 <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.htm l">
5 <link rel="import" href="chrome://resources/polymer/v1_0/paper-menu/paper-menu.h tml"> 6 <link rel="import" href="chrome://resources/polymer/v1_0/iron-selector/iron-sele ctor.html">
6 <link rel="import" href="chrome://resources/polymer/v1_0/paper-menu/paper-submen u.html"> 7 <link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-butt on.html">
7 <link rel="import" href="chrome://resources/polymer/v1_0/paper-ripple/paper-ripp le.html">
8 <link rel="import" href="../icons.html"> 8 <link rel="import" href="../icons.html">
9 <link rel="import" href="../route.html"> 9 <link rel="import" href="../route.html">
10 <link rel="import" href="../settings_shared_css.html"> 10 <link rel="import" href="../settings_shared_css.html">
11 11
12 <dom-module id="settings-menu"> 12 <dom-module id="settings-menu">
13 <template> 13 <template>
14 <style include="settings-shared"> 14 <style include="settings-shared">
15 #about-menu[about-selected] { 15 :host {
16 display: block;
17 margin-top: 8px;
18 }
19
20 a[href],
21 #advancedButton {
22 --cr-selectable-focus: {
23 outline: auto 5px -webkit-focus-ring-color;
24 };
25 -webkit-margin-end: 2px; /* Margin so selected outline is visible. */
26 -webkit-margin-start: 1px;
27 -webkit-padding-start: 23px; /* 24px - 1px from margin for outline. */
28 color: var(--settings-nav-grey);
29 display: block;
30 font-size: 100%;
31 font-weight: 500;
32 min-height: 20px;
33 padding-bottom: 10px;
34 padding-top: 10px;
35 word-break: break-word;
36 }
37
38 a[href].iron-selected {
16 color: var(--google-blue-700); 39 color: var(--google-blue-700);
17 } 40 }
18 41
19 iron-icon { 42 iron-icon {
20 --iron-icon-fill-color: var(--settings-nav-grey); 43 --iron-icon-fill-color: var(--settings-nav-grey);
21 -webkit-margin-end: 24px; 44 -webkit-margin-end: 24px;
45 vertical-align: top;
22 } 46 }
23 47
24 .iron-selected:not(.menu-trigger) > iron-icon { 48 .iron-selected > iron-icon {
25 fill: var(--google-blue-700); 49 fill: var(--google-blue-700);
26 } 50 }
27 51
28 .menu-trigger span { 52 #advancedButton {
29 -webkit-margin-end: 16px; 53 -webkit-padding-end: 0;
54 background-color: unset;
55 display: flex;
56 height: unset;
57 margin-top: 8px;
58 text-transform: none;
59 }
60
61 #advancedButton:focus {
62 outline: none;
63 }
64
65 #advancedButton.keyboard-focus:focus {
66 outline: auto 5px -webkit-focus-ring-color;
67 }
68
69 #advancedButton > span {
30 flex: 1; 70 flex: 1;
31 } 71 }
32 72
33 paper-menu { 73 #advancedButton > iron-icon {
34 --paper-menu-selected-item: { 74 -webkit-margin-end: 22px; /* 24px - 2px from margin for outline. */
35 font-weight: 500;
36 };
37 --paper-menu-focused-item-after: {
38 background: none;
39 };
40 color: var(--settings-nav-grey);
41 font-size: 100%;
42 padding: 0;
43 }
44
45 div[data-path] {
46 @apply(--settings-actionable);
47 }
48
49 #basicPage {
50 margin-top: 8px;
51 }
52
53 .page-menu > div {
54 margin-top: 8px;
55 }
56
57 .page-menu {
58 --paper-menu-selected-item: {
59 font-weight: 500;
60 };
61 }
62
63 paper-menu div {
64 position: relative; /* Needed for paper-ripple. */
65 }
66
67 paper-ripple {
68 color: var(--google-blue-700);
69 opacity: .5;
70 }
71
72 .page-menu paper-menu {
73 --paper-menu-selected-item: {
74 color: var(--google-blue-700);
75 font-weight: 500;
76 };
77 }
78
79 .page-menu div {
80 -webkit-padding-start: 24px;
81 align-items: center;
82 display: flex;
83 font-size: 100%;
84 font-weight: 500;
85 min-height: 40px;
86 word-break: break-word;
87 }
88
89 .page-menu div iron-icon {
90 flex-shrink: 0;
91 } 75 }
92 76
93 .separator { 77 .separator {
94 /* Per Alan@, this line is different from the other separator lines. */ 78 /* Per Alan@, this line is different from the other separator lines. */
95 border-bottom: 1px solid rgba(0, 0, 0, 0.08); 79 border-bottom: 1px solid rgba(0, 0, 0, 0.08);
80 margin-bottom: 8px;
96 margin-top: 8px; 81 margin-top: 8px;
97 } 82 }
98 </style> 83 </style>
99 <paper-menu name="root-menu"> 84 <iron-selector id="topMenu" selectable="a" attr-for-selected="href"
100 <div class="page-menu" id="basicPage"> 85 on-iron-activate="onSelectorActivate_">
101 <paper-menu attr-for-selected="data-path" class="menu-content"
102 id="basicMenu" selected="[[currentRoute.path]]">
103 <if expr="chromeos"> 86 <if expr="chromeos">
104 <div data-path="/internet" on-tap="openPage_"> 87 <a href="/internet">
105 <iron-icon icon="settings:network-wifi"></iron-icon> 88 <iron-icon icon="settings:network-wifi">
106 $i18n{internetPageTitle} 89 </iron-icon>$i18n{internetPageTitle}
Dan Beam 2017/02/14 05:44:30 why are you using this indentation? how is it bet
hcarmona 2017/02/15 02:10:49 A space was being added between the icon and the t
107 </div> 90 </a>
108 <div data-path="/bluetooth" on-tap="openPage_"> 91 <a href="/bluetooth">
109 <iron-icon icon="settings:bluetooth"></iron-icon> 92 <iron-icon icon="settings:bluetooth">
110 $i18n{bluetoothPageTitle} 93 </iron-icon>$i18n{bluetoothPageTitle}
111 </div> 94 </a>
112 </if> 95 </if>
113 <div id="people" data-path="/people" on-tap="openPage_" 96 <a id="people" href="/people"
114 hidden="[[!pageVisibility.people]]"> 97 hidden="[[!pageVisibility.people]]">
115 <iron-icon icon="settings:people"></iron-icon> 98 <iron-icon icon="settings:people">
116 $i18n{peoplePageTitle} 99 </iron-icon>$i18n{peoplePageTitle}
117 </div> 100 </a>
118 <div data-path="/appearance" on-tap="openPage_" 101 <a href="/appearance" hidden="[[!pageVisibility.appearance]]">
119 hidden="[[!pageVisibility.appearance]]"> 102 <iron-icon icon="settings:palette">
120 <iron-icon icon="settings:palette"></iron-icon> 103 </iron-icon>$i18n{appearancePageTitle}
121 $i18n{appearancePageTitle} 104 </a>
122 </div>
123 <if expr="chromeos"> 105 <if expr="chromeos">
124 <div data-path="/device" on-tap="openPage_"> 106 <a href="/device">
125 <iron-icon icon="settings:laptop-chromebook"></iron-icon> 107 <iron-icon icon="settings:laptop-chromebook">
126 $i18n{devicePageTitle} 108 </iron-icon>$i18n{devicePageTitle}
127 </div> 109 </a>
128 </if> 110 </if>
129 <div data-path="/search" on-tap="openPage_"> 111 <a href="/search">
130 <iron-icon icon="cr:search"></iron-icon> 112 <iron-icon icon="cr:search">
131 $i18n{searchPageTitle} 113 </iron-icon>$i18n{searchPageTitle}
132 </div> 114 </a>
133 <if expr="chromeos"> 115 <if expr="chromeos">
134 <div data-path="/androidApps" on-tap="openPage_" 116 <a href="/androidApps" hidden="[[!showAndroidApps]]">
135 hidden="[[!showAndroidApps]]"> 117 <iron-icon icon="settings:android">
136 <iron-icon icon="settings:android"></iron-icon> 118 </iron-icon>$i18n{androidAppsPageTitle}
137 $i18n{androidAppsPageTitle} 119 </a>
138 </div>
139 </if> 120 </if>
140 <if expr="not chromeos"> 121 <if expr="not chromeos">
141 <div data-path="/defaultBrowser" on-tap="openPage_" 122 <a href="/defaultBrowser" hidden="[[!pageVisibility.defaultBrowser]]">
142 hidden="[[!pageVisibility.defaultBrowser]]"> 123 <iron-icon icon="settings:web">
143 <iron-icon icon="settings:web"></iron-icon> 124 </iron-icon>$i18n{defaultBrowser}
144 $i18n{defaultBrowser} 125 </a>
145 </div>
146 </if> 126 </if>
147 <div data-path="/onStartup" on-tap="openPage_" 127 <a href="/onStartup" hidden="[[!pageVisibility.onStartup]]">
148 hidden="[[!pageVisibility.onStartup]]"> 128 <iron-icon icon="settings:power-settings-new">
149 <iron-icon icon="settings:power-settings-new"></iron-icon> 129 </iron-icon>$i18n{onStartup}
150 $i18n{onStartup} 130 </a>
151 </div> 131 <paper-button toggles id="advancedButton"
152 </paper-menu> 132 aria-active-attribute="aria-expanded" active="{{advancedOpened}}">
153 </div> 133 <span>$i18n{advancedPageTitle}</span>
154 <paper-submenu class="page-menu" id="advancedSubmenu" actionable 134 <iron-icon icon="[[arrowState_(advancedOpened)]]">
155 opened="{{advancedOpened}}" 135 </iron-icon></paper-button>
156 hidden="[[!pageVisibility.advancedSettings]]"> 136 <iron-collapse id="advancedSubmenu" opened="[[advancedOpened]]">
157 <div class="menu-trigger"> 137 <iron-selector id="subMenu" selectable="a" attr-for-selected="href"
158 <span>$i18n{advancedPageTitle}</span> 138 on-iron-activate="onSelectorActivate_">
159 <iron-icon icon="[[arrowState_(advancedOpened)]]"></iron-icon>
160 <paper-ripple></paper-ripple>
161 </div>
162 <paper-menu attr-for-selected="data-path" class="menu-content"
163 id="advancedMenu" selected="[[currentRoute.path]]">
164 <if expr="chromeos"> 139 <if expr="chromeos">
165 <div data-path="/dateTime" on-tap="openPage_"> 140 <a href="/dateTime">
166 <iron-icon icon="settings:access-time"></iron-icon> 141 <iron-icon icon="settings:access-time">
167 $i18n{dateTimePageTitle} 142 </iron-icon>$i18n{dateTimePageTitle}
168 </div> 143 </a>
169 </if> 144 </if>
170 <div data-path="/privacy" on-tap="openPage_"> 145 <a href="/privacy">
171 <iron-icon icon="settings:security"></iron-icon> 146 <iron-icon icon="settings:security">
172 $i18n{privacyPageTitle} 147 </iron-icon>$i18n{privacyPageTitle}
173 </div> 148 </a>
174 <div data-path="/passwordsAndForms" on-tap="openPage_" 149 <a href="/passwordsAndForms"
175 hidden="[[!pageVisibility.passwordsAndForms]]"> 150 hidden="[[!pageVisibility.passwordsAndForms]]">
176 <iron-icon icon="settings:assignment"></iron-icon> 151 <iron-icon icon="settings:assignment">
177 $i18n{passwordsAndAutofillPageTitle} 152 </iron-icon>$i18n{passwordsAndAutofillPageTitle}
178 </div> 153 </a>
179 <div data-path="/languages" on-tap="openPage_"> 154 <a href="/languages">
180 <iron-icon icon="settings:language"></iron-icon> 155 <iron-icon icon="settings:language">
181 $i18n{languagesPageTitle} 156 </iron-icon>$i18n{languagesPageTitle}
182 </div> 157 </a>
183 <div data-path="/downloads" on-tap="openPage_"> 158 <a href="/downloads">
184 <iron-icon icon="cr:file-download"></iron-icon> 159 <iron-icon icon="cr:file-download">
185 $i18n{downloadsPageTitle} 160 </iron-icon>$i18n{downloadsPageTitle}
186 </div> 161 </a>
187 <div data-path="/printing" on-tap="openPage_"> 162 <a href="/printing">
188 <iron-icon icon="cr:print"></iron-icon> 163 <iron-icon icon="cr:print">
189 $i18n{printingPageTitle} 164 </iron-icon>$i18n{printingPageTitle}
190 </div> 165 </a>
191 <div data-path="/accessibility" on-tap="openPage_"> 166 <a href="/accessibility">
192 <iron-icon icon="settings:accessibility"></iron-icon> 167 <iron-icon icon="settings:accessibility">
193 $i18n{a11yPageTitle} 168 </iron-icon>$i18n{a11yPageTitle}
194 </div> 169 </a>
195 <if expr="not chromeos"> 170 <if expr="not chromeos">
196 <div data-path="/system" on-tap="openPage_"> 171 <a href="/system">
197 <iron-icon icon="settings:build"></iron-icon> 172 <iron-icon icon="settings:build">
198 $i18n{systemPageTitle} 173 </iron-icon>$i18n{systemPageTitle}
199 </div> 174 </a>
200 </if> 175 </if>
201 <div data-path="/reset" on-tap="openPage_" 176 <a href="/reset" hidden="[[!pageVisibility.reset]]">
202 hidden="[[!pageVisibility.reset]]"> 177 <iron-icon icon="settings:restore">
203 <iron-icon icon="settings:restore"></iron-icon> 178 </iron-icon>$i18n{resetPageTitle}
204 $i18n{resetPageTitle} 179 </a>
205 </div> 180 </iron-selector>
206 </paper-menu> 181 </iron-collapse>
207 </paper-submenu>
208 <div class="separator"></div> 182 <div class="separator"></div>
209 <paper-submenu class="page-menu"> 183 <a id="about-menu" href="/help">
210 <div about-selected$="[[aboutSelected_]]" class="menu-trigger" 184 $i18n{aboutPageTitle}
211 id="about-menu" on-tap="openPage_" data-path="/help"> 185 </a>
212 $i18n{aboutPageTitle} 186 </iron-selector>
213 </div>
214 </paper-submenu>
215 </paper-menu>
216 </template> 187 </template>
217 <script src="settings_menu.js"></script> 188 <script src="settings_menu.js"></script>
218 </dom-module> 189 </dom-module>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698