Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsMay 30, 2026·3 min de lecture

Ark UI — Unstyled Accessible Components for Any Design System

A headless, accessible UI component library built by the Chakra UI team, supporting React, Vue, Solid, and Svelte with zero styling opinions.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Ark UI
Commande d'installation directe
npx -y tokrepo@latest install 6846b4cf-5c65-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Ark UI is a headless component library from the Chakra UI team that provides accessible, unstyled primitives for building design systems. It handles complex interaction patterns — dialogs, menus, date pickers, sliders — so you only need to add your own styles.

What Ark UI Does

  • Provides 45+ accessible component primitives including Dialog, Menu, Tabs, Select, and DatePicker
  • Ships unstyled so you apply your own CSS, Tailwind, Panda CSS, or any styling solution
  • Implements WAI-ARIA patterns with keyboard navigation and screen reader support
  • Supports React, Vue, Solid, and Svelte through dedicated framework packages
  • Uses state machines internally for predictable, bug-free interaction behavior

Architecture Overview

Ark UI is built on Zag.js, a framework-agnostic state machine library. Each component (e.g., Dialog, Accordion, Menu) is modeled as a finite state machine that manages open/close states, focus traps, keyboard interactions, and ARIA attributes. Framework adapters translate these state machines into hooks or composables. The component API uses a compound component pattern with dot notation (Dialog.Root, Dialog.Trigger, Dialog.Content).

Self-Hosting & Configuration

  • Install the adapter for your framework: @ark-ui/react, @ark-ui/vue, @ark-ui/solid, or @ark-ui/svelte
  • Import individual components and compose them using the dot notation API
  • Style with any CSS approach — Tailwind, CSS Modules, Panda CSS, vanilla CSS
  • Use the asChild prop to render your own element while preserving behavior
  • Pair with Park UI for a pre-styled theme built on Ark UI and Panda CSS

Key Features

  • 45+ production-ready accessible component primitives
  • Compound component API with clear, composable structure
  • State machine internals for predictable interaction behavior
  • Framework-agnostic core supports React, Vue, Solid, and Svelte
  • Full control over rendering via the asChild composition pattern

Comparison with Similar Tools

  • Radix UI — React-only unstyled primitives; Ark UI supports four frameworks
  • Headless UI — limited component set by Tailwind Labs; Ark UI offers 45+ primitives
  • React Aria — Adobe's React hooks for accessibility; Ark UI provides ready-made components
  • Melt UI — Svelte-only headless components; Ark UI supports Svelte plus three other frameworks
  • Kobalte — SolidJS-only primitives; Ark UI covers Solid as well as React, Vue, and Svelte

FAQ

Q: How is Ark UI related to Chakra UI? A: Ark UI is the headless primitive layer created by the same team. Chakra UI v3 is built on top of Ark UI.

Q: Can I use it with Tailwind CSS? A: Yes. Ark UI ships unstyled, so you apply Tailwind classes directly to component parts.

Q: What is the asChild prop? A: It lets you replace the default rendered element with your own component while keeping all behavior and accessibility attributes.

Q: Is it production-ready? A: Yes. It powers Chakra UI v3 and is used in production design systems.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires