Focus Ring
Yamada UI provides features to apply various styles when an element is focused.
Overview
A focus ring is used to identify the element that is currently focused. Yamada UI provides focusRing and focusVisibleRing to easily configure the style of the focus ring.
Usage
focusRing
focusRing is applied to &:is(:focus, [data-focus]).
<Button variant="outline" focusRing="outside" data-focus>
Button
</Button>
focusVisibleRing
focusVisibleRing is applied to &:is(:focus-visible, [data-focus-visible]).
<Button variant="outline" focusVisibleRing="outside" data-focus-visible>
Button
</Button>
By default, Yamada UI sets
focusVisibleRing="outline" for all elements via global styles. Therefore, you do not need to set focusVisibleRing individually for each element.Customize
Change Variant
<Wrap gap="md">
<For each={["outline", "inline", "mixed", "outside", "inside", "none"]}>
{(value, index) => (
<Button key={index} variant="outline" focusRing={value} data-focus>
{toTitleCase(value)}
</Button>
)}
</For>
</Wrap>
Change Color
To change the color, set a value to focusRingColor.
<Button
variant="outline"
focusRing="outline"
focusRingColor="success"
data-focus
>
Button
</Button>
Change Width
To change the width, set a value to focusRingWidth.
<Button variant="outline" focusRing="outline" focusRingWidth="1px" data-focus>
Button
</Button>
Change Style
To change the style, set a value to focusRingStyle.
<Button
variant="outline"
focusRing="outline"
focusRingStyle="dashed"
data-focus
>
Button
</Button>
Change Offset
To change the offset, set a value to focusRingOffset.
<Button variant="outline" focusRing="outline" focusRingOffset="5px" data-focus>
Button
</Button>