Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Raised Panel FAQ Block for Solid

A card-in-card FAQ for a sleep-tracking wearable: a start-aligned header over one raised panel, that follows the page theme, holding seven accordion rows and a contact foot.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A raised-panel FAQ for Solid with Ark UI. A start-aligned title and sentence sit above a tinted shell with + marks on its corners, which holds a raised panel with a soft shadow and a ring. The panel holds seven accordion rows divided by hairlines, and a foot band, a step darker, with a contact line and a ghost link. The emphasis comes from the lift, not from a colour: the panel is never forced dark, so it's light on a light page and dark on a dark one. Each row's small square plus fills in and turns into a minus as it opens. The page's rails and top rule come from the Guides spine, so the block lines up with its neighbours in a stack. It's built from Accordion, Guides and Button, with CSS transitions for the entrance and your theme's tokens for every colour. For product pages that want one framed, finished answer panel.

FAQ

How do I change the questions?

Edit QUESTIONS at the top of the file: each entry is an id, the question and its answer, one to three sentences. OPEN_QUESTION names the one that's open on load; set it to an id that doesn't exist to start with all of them closed. Keep it to about eight. One answer is open at a time. Add multiple to the Accordion to let several stay open.

Is the panel dark?

No. It follows your theme: the shell is a tinted step off the page, and the panel is your card colour with a shadow and a ring, so it reads as lifted in a light theme, where card and page are nearly the same, and in a dark one. No dark scope is set anywhere, so nothing is a fixed colour.

Are the closed answers in the page's markup?

Yes. Each Accordion takes lazyMount={false} and unmountOnExit={false}, so every answer renders from the start, hidden until its question opens. Search engines and server rendering see all 7, and closing an answer doesn't remove it.

How does it work with a keyboard and a screen reader?

Each question is a button inside its own h3 under the section's h2, so a screen reader's headings list shows every question. Tab moves from question to question, Enter or Space opens and closes one, and the button says whether it's expanded. The open answer is labelled by its question. Tab then continues to the contact link in the foot. The Up and Down arrows also move between questions, and Home and End jump to the first and last.

What moves, and what happens with reduced motion?

The header and the panel fade up once when the page loads, with a CSS transition, and each row's square fills in as it opens. With reduced motion the entrance is off. The answers also open and close at once, with no height animation.

How does it fit on a phone?

The header and the shell sit between the rails, the rows fill the panel, and the contact line stacks above its link. A question that doesn't fit wraps to a second line beside its square, and nothing scrolls sideways at 320 pixels.