Qeetrix

Dialog

Examples

Default

A trigger, a titled panel, and a footer whose actions close it. Escape closes it too.

Usage

Import

import { Dialog } from "@qeetrix/ui";

It can also be imported on its own from @qeetrix/ui/components/dialog.

Variant props

PropValues
sizesm · default · lg · xl · full

Controlled and uncontrolled

Pass the value prop to control it, or the default prop to let the component own it.

ValueDefaultChange
opendefaultOpenonOpenChange

States

open

Support

FeatureStatus
Right-to-leftSupported
Dark modeSupported
DensityNot supported
Server renderingClient component
Reduced motionSupported

Accessibility

Follows the WAI-ARIA dialog pattern. Partly audited.

CheckResult
SemanticsPass
Accessible namePass
KeyboardPass
FocusPartial
Screen readerPass
Right-to-leftNot applicable
Reduced motionPass
Forced coloursPass
ContrastPass

Keyboard

Tab Shift+tab Escape

Focus

Each control is a Tab stop, in order. While open, focus is contained and focus returns on close.

Known limitations

  • Focus: Focus containment is enforced with inert, which jsdom does not implement, so the tests assert the mechanism is installed rather than observing containment. Browser-level verification is on the manual checklist.

Tests

Covered by unit, accessibility (axe), interaction and visual tests.