Skip to content

SettingRow

One line of a settings list: the title and explanation on the left, any control on the right. On a narrow screen the control moves below.

  • SettingRow

PreviewLink to the section Preview

Live in all three themes. Everything here is interactive.

Light theme, SettingRow

Interface language

Applies to menus and messages after a reload.

Defaults

Restores every setting in this section.

Dark theme, SettingRow

Interface language

Applies to menus and messages after a reload.

Defaults

Restores every setting in this section.

High contrast theme, SettingRow

Interface language

Applies to menus and messages after a reload.

Defaults

Restores every setting in this section.

UsageLink to the section Usage

tsx
import { SettingRow } from '@skribly/ui/forms'
tsx
<SettingRow title="Interface language" description="Applies after a reload.">
  {(control) => <select {...control}>…</select>}
</SettingRow>

Every label is a prop, so the app passes its own words in its own language. See no built-in text.

AccessibilityLink to the section Accessibility

  • Pass a function to get aria-labelledby and aria-describedby for the control, so the row title names it.
  • Rows are separated by a border, not only by spacing.

This demo runs through axe in all three themes on every test run. See what the tests check.

Search this site

Arrows move through the results, Enter opens one, Esc closes. Ctrl K /