# Separator A horizontal or vertical rule between content, semantic or decorative. ```ehtml Example import { Separator } from "@elements/ui/separator"; ``` ## Parts | Part | What it is | |---|---| | `.separator` | The rule. --separator-width and --separator-color restyle it. | | `.separator.is-labeled` | A rule with text centered in it. | ## Attributes | Attribute | Type | Default | Description | |---|---|---|---| | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Direction of the rule. | | `decorative` | `boolean` | `false` | Purely visual: role=none, removed from the accessibility tree. | | `label` | `string` | `""` | Text in the middle of the rule, such as "or". Names a semantic separator. | | `class` | `string` | `""` | Extra classes. | | `attrs` | `Record` | `{}` | Any other attributes: id, data-\*. | ## Data attributes | Attribute | Values | On | |---|---|---| | `data-orientation` | `"horizontal" \| "vertical"` | root | ## Accessibility - role="separator" by default; aria-orientation="vertical" only when vertical, since horizontal is implicit. - decorative sets role="none" for rules between things that already read as separate. - A labeled separator is named by its label, because a separator's children are not read. - Not focusable: a draggable divider is Resizable's job. ## See also - [Badge](badge): A small label for a status, a count or a category, built on the pill. - [Card](card): A surface with a header, body and footer, built on the base card styles. - [Alert](alert): A callout that draws attention to a message, with an icon, a title and an action. - [Icon](icon): An inline stroke icon from the set the templates draw their own controls with, sized in pixels and colored by the text around it. - [Kbd](kbd): A keyboard key or shortcut, as text. - [Skeleton](skeleton): A placeholder shape shown while content loads, or wrapped around the content so it never moves.