Problem
With @tedi-design-system/core 6.11+, tedi-select shows two focus rings on keyboard focus: its own ring (border plus a 1px inset box-shadow) and core's global 2px outline 1px outside it.
The trigger styles :focus / :active in select.component.scss, but it never resets outline, so core 6.11's global rule applies on top:
*:where(:focus-visible) {
outline: var(--tedi-borders-02) solid var(--global-outline-color);
outline-offset: var(--global-outline-offset);
}
The lockfile pins core 6.9.0, which doesn't have this rule, so rc / main are not affected yet. It will ship with the core 6.11 bump.
Also visible wherever Select is reused: InputGroup, Pagination's page-size selector and Table's page-size selector.
Steps to reproduce
- Install core 6.11.1 or later.
- Open Storybook → Select → Default.
- Click the page background, then press Tab.
- The trigger shows its inset ring plus a second outline around it.
Solution
Reset the outline on the trigger, since it already draws its own focus ring:
.tedi-select__trigger {
outline: none;
}
Check the searchable variant (.tedi-select__trigger--searchable, where focus sits on the inner search input) the same way.
TimeField and DatePicker had the same problem and are fixed in #573 by resetting the outline on their inner input.
Examples and information
- Core 6.9.0
index.css: no *:where(:focus-visible) rule. Core 6.11.1: has it.
- Should be fixed before, or together with, the core 6.11 bump.
Problem
With
@tedi-design-system/core6.11+,tedi-selectshows two focus rings on keyboard focus: its own ring (border plus a 1px inset box-shadow) and core's global 2px outline 1px outside it.The trigger styles
:focus/:activeinselect.component.scss, but it never resetsoutline, so core 6.11's global rule applies on top:The lockfile pins core 6.9.0, which doesn't have this rule, so
rc/mainare not affected yet. It will ship with the core 6.11 bump.Also visible wherever Select is reused: InputGroup, Pagination's page-size selector and Table's page-size selector.
Steps to reproduce
Solution
Reset the outline on the trigger, since it already draws its own focus ring:
Check the searchable variant (
.tedi-select__trigger--searchable, where focus sits on the inner search input) the same way.TimeField and DatePicker had the same problem and are fixed in #573 by resetting the outline on their inner input.
Examples and information
index.css: no*:where(:focus-visible)rule. Core 6.11.1: has it.