FAQ sections with accordion and schema
Frequent questions as native accordions, grids, tabs and a search, with optional FAQPage data.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
Accordion, grid or search
An FAQ section takes the last doubts off the table, right before the call to action. Every variant here builds on the native details element, so the answers are in the HTML, open with the keyboard and read without JavaScript. Search engines see every answer, and the optional FAQPage data marks them up as questions.
Accordion is the default for five to twelve questions. Two columns and Open grid show short answers at once and suit pages with few, important questions. With topics groups a long FAQ by subject, With search helps when there are more than twenty. Side heading puts the title next to the list on desktop, With contact card ends with a person for the questions that are still open.
Write the questions the way customers ask them, in their words. Keep answers to two or three sentences and link to the page with the details. Use FAQPage data only for questions that stand visibly on the page, the components only emit it for the questions they render.
FAQ
Details
What FAQ brings along, read from the registry and the source.
- Area
- Marketing
- Variants
- 7
- Version
- 1.0.0 · since 1.0.0
- File
- components/ui/faq.tsx
- npm packages
- None
- Languages
- English and German, 8 texts of its own
- Studio
- All 7 variants editable
- In collections
- SaaS landing pageMedical practiceEvent
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The FaqProps interface from components/ui/faq.tsx, with the comments from the code.
variantoptionalFaqVariantaccordiontwo-columngridwith-categorieswith-searchside-headingwith-contact-card
eyebrowoptionalReact.ReactNodetitleoptionalReact.ReactNodedescriptionoptionalReact.ReactNodeitemsrequiredFaqItem[]categoriesoptional{ name: string; icon?: IconName }[]with-categories: order and icons of the tabs. Without it the order of appearance is used.
contactoptionalFaqContactContact card (with-contact-card) or the line under search results (with-search)
defaultOpenoptionalnumberIndex of the item that starts open, e.g. 0 for the first. Without it every item starts closed.
schemaoptionalbooleanAdds FAQPage structured data for search engines
Built-in texts
FAQ writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 8 texts
| Key | English | German |
|---|---|---|
| search | English Search questions | German Fragen durchsuchen |
| placeholder | English Search, e.g. “export” | German Suchen, etwa „Export“ |
| results | English {n} answers | German {n} Antworten |
| result | English 1 answer | German 1 Antwort |
| none | English No answer for “{q}” yet. | German Zu „{q}“ gibt es noch keine Antwort. |
| noneHint | English Write to us, we usually reply within a few hours. | German Schreib uns, wir antworten meist innerhalb weniger Stunden. |
| clear | English Clear search | German Suche leeren |
| categories | English Topics | German Themen |
Accessibility
Read from the source of the component.
- FAQ handles the keys Arrow up, Arrow down, Arrow left, Arrow right, Home, End and Space itself.
- Sets aria-controls, aria-describedby, aria-label, aria-labelledby, aria-live and aria-selected, so screen readers announce purpose and state.
- Uses the roles search, tab, tablist and tabpanel.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- Shows a visible focus ring when used with the keyboard.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 10 places in the code switch motion off then.
Frequent questions
How do I install FAQ?
With aiw add @ai-website/faq. The command puts components/ui/faq.tsx into your project, the code is yours from then on. It brings along button, icon, reveal, section and motion. It needs no further npm packages.
Which variants does FAQ have?
7 variants, Accordion, Two columns, Open grid, With topics, With search, Side heading and With contact card. You pick one with the variant prop, for example variant="two-column".
Can I translate the texts of FAQ?
Yes. FAQ carries 8 texts of its own in English and German, such as “Search questions”, “Search, e.g. “export”” and “1 answer”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with FAQ?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find FAQ with aiw_components and install it with aiw_add @ai-website/faq. Name the variant in your prompt, for example variant="accordion", and the assistant writes your content straight into the props.
Can I adjust FAQ without code?
Yes, in the Studio. All 7 variants are editable there, texts, lists and switches. The Studio writes the matching Faq code to copy.
Similar components, Often combined with
Similar components
More from Marketing, the same area of the kit.
Often combined with
Sections that usually sit next to FAQ on a page.
Loading the source