Skip to content

Commit dd0fc3c

Browse files
angelikatyborskajosevalim
authored andcommitted
Add universal focus styles for all focusable elements
1 parent 2b7304a commit dd0fc3c

File tree

7 files changed

+40
-27
lines changed

7 files changed

+40
-27
lines changed

assets/css/_html.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
@import 'icons.css';
1616
@import 'layout.css';
1717
@import 'sidebar.css';
18+
@import 'focus.css';
1819
@import 'content/general.css';
1920
@import 'content/admonition.css';
2021
@import 'content/summary.css';

assets/css/content/footer.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
border: 0;
2020
cursor: pointer;
2121
font-style: italic;
22-
outline: none;
2322
padding: 0 4px;
2423
}
2524

assets/css/copy-button.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pre:hover .copy-button {
2222
color: currentColor;
2323
}
2424

25-
pre .copy-button:hover, .copy-button:focus-visible {
25+
pre .copy-button:hover, pre .copy-button:focus-visible {
2626
opacity: 1;
2727
}
2828

assets/css/focus.css

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/* extra button selectors necessary to overwrite normalize.css */
2+
*:focus,
3+
button:focus,
4+
[type="button"]:focus,
5+
[type="reset"]:focus,
6+
[type="submit"]:focus {
7+
outline: 2px solid var(--main);
8+
/* negative offset to make outline visible when overflow hidden */
9+
outline-offset: -2px;
10+
}
11+
12+
*:focus:not(:focus-visible),
13+
button:focus:not(:focus-visible),
14+
[type="button"]:focus:not(:focus-visible),
15+
[type="reset"]:focus:not(:focus-visible),
16+
[type="submit"]:focus:not(:focus-visible) {
17+
outline: 0;
18+
}
19+
20+
/* inputs you can type into don't need an extra focus style
21+
because they have a visible cursor */
22+
input[type="text"],
23+
input[type="number"],
24+
input[type="date"],
25+
input[type="datetime"],
26+
input[type="datetime-local"],
27+
input[type="email"],
28+
input[type="month"],
29+
input[type="number"],
30+
input[type="password"],
31+
input[type="search"],
32+
input[type="tel"],
33+
input[type="time"],
34+
input[type="url"],
35+
input[type="week"],
36+
textarea {
37+
outline: 0;
38+
}

assets/css/quick-switch.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@
2323
transition: all .12s ease-out;
2424
}
2525

26-
#quick-switch-modal-body #quick-switch-input:focus {
27-
outline: none;
28-
}
29-
3026
#quick-switch-modal-body #quick-switch-results {
3127
margin: 0;
3228
}

assets/css/settings.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
transition: border-color 150ms;
1919
}
2020
#settings-modal-content .input:focus {
21-
outline: none;
2221
border-color: var(--main);
2322
}
2423
#settings-modal-content .input::placeholder {
@@ -104,7 +103,3 @@
104103
#settings-modal-content .settings-select option {
105104
color: initial;
106105
}
107-
108-
#settings-modal-content .settings-select:focus {
109-
outline: none;
110-
}

assets/css/sidebar.css

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@
9292
color: initial;
9393
}
9494

95-
.sidebar .sidebar-projectVersionsDropdown:focus {
96-
outline: none;
97-
}
98-
9995
.sidebar .sidebar-projectVersion form::after {
10096
position: absolute;
10197
left: 0;
@@ -193,10 +189,6 @@
193189
opacity: .7;
194190
}
195191

196-
.sidebar .sidebar-search .search-close-button:is(:focus, :hover) {
197-
outline: none;
198-
}
199-
200192
.sidebar .sidebar-search .search-input {
201193
background-color: var(--sidebarSearch);
202194
border: none;
@@ -212,10 +204,6 @@
212204
opacity: 0.3;
213205
}
214206

215-
.sidebar .sidebar-search .search-input:is(:focus, :hover) {
216-
outline: none;
217-
}
218-
219207
.sidebar .sidebar-search .ri-search-2-line {
220208
font-weight: bold;
221209
}
@@ -444,10 +432,6 @@
444432
color: var(--sidebarHover);
445433
}
446434

447-
.sidebar-button:is(:active, :hover, :focus) {
448-
outline: none;
449-
}
450-
451435
.sidebar-button {
452436
color: var(--sidebarAccentMain);
453437
}

0 commit comments

Comments
 (0)