Skip to content

Commit 71d4139

Browse files
committed
fix(chips): add focus styles, make input focusable & expose label
1 parent 1809e09 commit 71d4139

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

source/_patterns/01-elements/chips/_chip.hbs

+2-8
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,23 @@
1111
<!-- [html-validate-disable-next prefer-native-element -- TODO: Evaluate again on this HTML] -->
1212
<label
1313
for="chip-single-{{ variant }}{{ id-suffix }}"
14-
role="button"
1514
{{#if variant }} data-variant="{{ variant }}"{{/if }}
1615
{{#if icon }} data-icon="{{ icon }}"{{/if }}
1716
{{#if iconAfter }} data-icon-after="{{ iconAfter }}"{{/if }}
18-
tabindex="0"
19-
aria-hidden="true"
2017
>{{ label }}</label>
2118
{{else}}
2219
<!-- [html-validate-disable-next input-missing-label -- label get read out on the input field already and could get aria hidden] -->
2320
<input
2421
class="elm-chip"
2522
type="checkbox"
26-
id="chip-multiple-{{ variant }}{{ id-suffix }}"
23+
id="chip-multiple{{#if disabled }}-disabled{{/if}}-{{ variant }}{{ id-suffix }}"
2724
data-type="filter"
2825
{{#if disabled }} disabled{{/if }}>
2926
<!-- [html-validate-disable-next prefer-native-element -- TODO: Evaluate again on this HTML] -->
3027
<label
31-
for="chip-multiple-{{ variant }}{{ id-suffix }}"
32-
role="button"
28+
for="chip-multiple{{#if disabled }}-disabled{{/if}}-{{ variant }}{{ id-suffix }}"
3329
{{#if variant }} data-variant="{{ variant }}"{{/if }}
3430
{{#if icon }} data-icon="{{ icon }}"{{/if }}
3531
{{#if iconAfter }} data-icon-after="{{ iconAfter }}"{{/if }}
36-
tabindex="0"
37-
aria-hidden="true"
3832
>{{ label }}</label>
3933
{{/if }}

source/_patterns/01-elements/chips/chip.scss

+15-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
.elm-chip {
44
& + label {
5+
--db-focus-outline-size: max(2px, 0.08em);
6+
57
align-items: center;
68
border: solid 1px $db-color-cool-gray-400;
79
border-radius: $chip---radius;
@@ -116,8 +118,20 @@
116118
}
117119
}
118120

121+
&:focus-visible {
122+
& + label {
123+
outline: var(--db-focus-outline-size)
124+
var(--db-focus-outline-style, solid)
125+
var(--db-focus-outline-color, currentColor);
126+
outline-offset: var(
127+
--db-focus-outline-offset,
128+
var(--db-focus-outline-size)
129+
);
130+
}
131+
}
132+
119133
&[type="checkbox"],
120134
&[type="radio"] {
121-
display: none;
135+
@include a11y-visually-hidden($partial: $partial);
122136
}
123137
}

0 commit comments

Comments
 (0)