Skip to content

Commit 0c4f19b

Browse files
authored
refactor: update focus ring styles across multiple components (#2481)
* refactor: update focus ring styles across multiple components * feat: add focus-visible outline for inverted button variant * revert token update * feat: enhance inverted focus ring visibility on dark backgrounds * feat: update focus ring styles across multiple components * added changeset
1 parent 1562592 commit 0c4f19b

File tree

20 files changed

+51
-20
lines changed

20 files changed

+51
-20
lines changed

.changeset/angry-roses-battle.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sl-design-system/button': patch
3+
---
4+
5+
Added style for an inverted focus ring so it's better visible on a dark background

.changeset/eight-memes-stare.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
'@sl-design-system/message-dialog': patch
3+
'@sl-design-system/toggle-button': patch
4+
'@sl-design-system/breadcrumbs': patch
5+
'@sl-design-system/radio-group': patch
6+
'@sl-design-system/date-field': patch
7+
'@sl-design-system/text-field': patch
8+
'@sl-design-system/text-area': patch
9+
'@sl-design-system/calendar': patch
10+
'@sl-design-system/checkbox': patch
11+
'@sl-design-system/button': patch
12+
'@sl-design-system/dialog': patch
13+
'@sl-design-system/editor': patch
14+
'@sl-design-system/select': patch
15+
'@sl-design-system/switch': patch
16+
'@sl-design-system/grid': patch
17+
'@sl-design-system/tabs': patch
18+
'@sl-design-system/tree': patch
19+
'@sl-design-system/tag': patch
20+
---
21+
22+
Changed token used for the width of the focusring

packages/components/breadcrumbs/src/breadcrumbs.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ a {
8282

8383
&:focus-visible {
8484
border-radius: var(--sl-size-borderRadius-default);
85-
outline: var(--sl-size-outlineWidth-default) solid var(--sl-color-border-focused);
85+
outline: var(--sl-size-borderWidth-focusRing) solid var(--sl-color-border-focused);
8686
outline-offset: var(--sl-size-offset-focused);
8787
}
8888

packages/components/button/src/button.scss

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
font-weight: var(--sl-text-new-typeset-fontWeight-semiBold);
1515
gap: var(--sl-size-075);
1616
justify-content: center;
17-
outline: transparent solid var(--sl-size-outlineWidth-default);
17+
outline: transparent solid var(--sl-size-borderWidth-focusRing);
1818
outline-offset: var(--sl-size-outlineOffset-default);
1919
padding: calc(var(--sl-size-100) - var(--sl-size-borderWidth-action))
2020
calc(var(--sl-size-200) - var(--sl-size-borderWidth-action));
@@ -220,6 +220,10 @@
220220
outline-color: var(--sl-color-border-focused);
221221
}
222222

223+
:host([variant='inverted']:focus-visible) {
224+
outline-color: var(--sl-color-border-inverted);
225+
}
226+
223227
@media (prefers-reduced-motion: no-preference) {
224228
:host(:where(:active, :focus-visible, :hover)) {
225229
transition-duration: var(--sl-animation-button-duration);

packages/components/calendar/src/month-view.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ button {
1818
color: var(--sl-color-foreground-plain);
1919
cursor: pointer;
2020
font: inherit;
21-
outline: transparent solid var(--sl-size-outlineWidth-default);
21+
outline: transparent solid var(--sl-size-borderWidth-focusRing);
2222
outline-offset: var(--sl-size-outlineOffset-default);
2323
padding: 0;
2424

packages/components/checkbox/src/checkbox.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152
display: inline-flex;
153153
flex-shrink: 0;
154154
justify-content: center;
155-
outline: transparent solid var(--sl-size-outlineWidth-default);
155+
outline: transparent solid var(--sl-size-borderWidth-focusRing);
156156
outline-offset: var(--sl-size-outlineOffset-default);
157157
}
158158

packages/components/dialog/src/dialog.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ dialog {
2828
}
2929

3030
&:focus-visible {
31-
outline: var(--sl-color-border-focused) solid var(--sl-size-outlineWidth-default);
31+
outline: var(--sl-color-border-focused) solid var(--sl-size-borderWidth-focusRing);
3232
outline-offset: var(--sl-size-outlineOffset-default);
3333
}
3434

packages/components/editor/src/editor.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
color: var(--sl-color-foreground-plain);
1212
cursor: text;
1313
display: block;
14-
outline: transparent solid var(--sl-size-outlineWidth-default);
14+
outline: transparent solid var(--sl-size-borderWidth-focusRing);
1515
outline-offset: var(--sl-size-outlineOffset-default);
1616
}
1717

packages/components/grid/src/grid.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ td {
336336
display: inline-flex;
337337
flex-shrink: 0;
338338
overflow: clip;
339-
overflow-clip-margin: border-box calc(var(--sl-size-outlineOffset-default) + var(--sl-size-outlineWidth-default));
339+
overflow-clip-margin: border-box calc(var(--sl-size-outlineOffset-default) + var(--sl-size-borderWidth-focusRing));
340340
}
341341

342342
th {
@@ -472,7 +472,7 @@ a[class^='skip-link'] {
472472

473473
&:focus {
474474
opacity: 1;
475-
outline: var(--sl-color-border-focused) solid var(--sl-size-outlineWidth-default);
475+
outline: var(--sl-color-border-focused) solid var(--sl-size-borderWidth-focusRing);
476476
outline-offset: var(--sl-size-outlineOffset-default);
477477
pointer-events: auto;
478478
z-index: 2; // the positioning of the skip link is relative to the table, so we need to ensure it is above the table

packages/components/message-dialog/src/message-dialog.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ dialog {
3333
}
3434

3535
&:focus-visible {
36-
outline: var(--sl-color-border-focused) solid var(--sl-size-outlineWidth-default);
36+
outline: var(--sl-color-border-focused) solid var(--sl-size-borderWidth-focusRing);
3737
outline-offset: var(--sl-size-outlineOffset-default);
3838
}
3939

0 commit comments

Comments
 (0)