kobalte

Provide accessible, headless UI primitives for SolidJS components.

8|Updated Mar 28, 2024
One-click install
npx skills add https://github.com/joncrangle/.dotfiles --skill kobalte
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kobalte
Source: https://github.com/joncrangle/.dotfiles/tree/main/dot_config/opencode/skills/kobalte
Command: npx skills add https://github.com/joncrangle/.dotfiles --skill kobalte

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Kobalte provides accessible, headless UI primitives for SolidJS, allowing developers to build ARIA-compliant components without enforcing visuals.

Core Features & Use Cases

  • Headless primitives designed for Root, Trigger, Portal, and Content to compose accessible UI patterns like Dialogs, Popovers, Selects, Tabs, and Comboboxes.
  • Built-in accessibility: managed focus, keyboard navigation, and proper ARIA attributes out of the box.
  • Flexible composition and integration with SolidJS apps and styling systems (Tailwind, CSS).

Use cases include building custom, accessible components that can be themed with CSS while keeping logic separate from presentation.

Quick Start

Create a basic accessible Select by wiring Root, Trigger, and Content, then style with your CSS.

Frequently Asked Questions about kobalte

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build accessible UI components in SolidJS without enforcing visual styles?

Headless UI primitives for SolidJS provide managed focus, keyboard navigation, and ARIA attributes out of the box while keeping logic separate from presentation. You compose accessible patterns like dialogs and selects using structured Root, Trigger, Portal, and Content components, then apply your own CSS or Tailwind styling.

What is the best way to add ARIA-compliant keyboard navigation to a SolidJS combobox or select?

The best way to add ARIA-compliant keyboard navigation is using headless primitives that manage focus and ARIA attributes by default. You wire Root, Trigger, and Content components together to structure the pattern, leaving visual styling entirely to your CSS or Tailwind configuration.

Can I use headless UI primitives with Tailwind CSS in a SolidJS application?

Yes, headless UI primitives integrate smoothly with Tailwind CSS in SolidJS applications. Because they enforce accessibility logic without dictating visuals, you can freely apply Tailwind classes or custom CSS to the structured Root, Trigger, Portal, and Content composition layers.

How does structured composition work when building custom dialogs and popovers in SolidJS?

Structured composition for custom dialogs and popovers in SolidJS works by wiring Root, Trigger, Portal, and Content components together. This pattern enforces correct accessibility behaviors, including focus management and ARIA attributes, while allowing you to theme the visual output independently.

Do I need a specific styling library to build accessible tabs and selects with headless primitives?

No specific styling library is required to build accessible tabs and selects with headless primitives. They enforce accessibility behaviors and structured composition without enforcing visuals, allowing straightforward integration with any CSS or styling system you choose.