Use Accordion quando a interface precisar de conteúdo expansível para faqs, configurações e grupos densos.
Accordion
Conteúdo expansível para FAQs, configurações e grupos densos. A documentação abaixo separa composição, comportamento e adaptação visual de cada variante.
Evite a família quando uma composição semântica mais simples comunicar a mesma ação com menos carga visual.
A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Single (FAQ clássico)
Single (FAQ clássico), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-title"><strong>O que é o Smart UI?</strong><span class="sc-accordion-kicker">Framework CSS + JS leve</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div>
<div class="sc-accordion-content">Um UI kit component-first para temas e componentes (zero dependências).</div>
</div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-title"><strong>Precisa de JS?</strong><span class="sc-accordion-kicker">Somente para interações</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div>
<div class="sc-accordion-content">Accordion, select custom, carousel controls, lightbox, tabs, modal, etc.</div>
</div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-title"><strong>Como ativar modo escuro?</strong><span class="sc-accordion-kicker">Independente do tema</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div>
<div class="sc-accordion-content">Use <code>data-mode="dark"</code> no <code><html></code> (com persistência).</div>
</div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Multi (várias abertas)
Multi (várias abertas), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion" data-accordion="multi">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading">
<i class="sc-icon" data-smart-icon="grid"></i>
<span class="sc-accordion-title"><strong>Seção A</strong><span class="sc-accordion-kicker">Pode ficar aberta junto</span></span>
</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Conteúdo A.</div></div></div>
</div>
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading">
<i class="sc-icon" data-smart-icon="layout"></i>
<span class="sc-accordion-title"><strong>Seção B</strong><span class="sc-accordion-kicker">Boa para “settings”</span></span>
</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Conteúdo B.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading">
<i class="sc-icon" data-smart-icon="info"></i>
<span class="sc-accordion-title"><strong>Seção C</strong><span class="sc-accordion-kicker">Fechada por padrão</span></span>
</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Conteúdo C.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Compact (clássico)
Compact (clássico), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--compact" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span>Detalhes</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Modelo compacto para listas e mobile.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span>Mais</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Conteúdo adicional.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Minimal (clássico)
Minimal (clássico), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--minimal" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span>Introdução</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Sem “caixa”, só divisórias e tipografia.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span>Notas</span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Bom para docs longas.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Plus/Minus (animação + ícone diferente)
Plus/Minus (animação + ícone diferente), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--plus" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="sparkles"></i><span>O que muda aqui?</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Ícone de plus vira “minus” + fade/slide no conteúdo.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="zap"></i><span>Mais “motion”</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Transições mais vivas sem quebrar acessibilidade.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Cards (itens separados, visual premium)
Cards (itens separados, visual premium), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--cards" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="shield-check"></i><span class="sc-accordion-title"><strong>Segurança</strong><span class="sc-accordion-kicker">Boas práticas</span></span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Cada item vira um card com radius e shadow.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="settings"></i><span class="sc-accordion-title"><strong>Configurações</strong><span class="sc-accordion-kicker">Component-first</span></span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">timo para páginas com blocos independentes.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Glass (para temas glass/aurora/noir)
Glass (para temas glass/aurora/noir), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--glass sc-accordion--plus" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="sparkles"></i><span class="sc-accordion-title"><strong>Glass UI</strong><span class="sc-accordion-kicker">blur + saturate</span></span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Visual mais “premium”, sem perder legibilidade.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button">
<span class="sc-accordion-leading"><i class="sc-icon" data-smart-icon="palette"></i><span class="sc-accordion-title"><strong>Theme-aware</strong><span class="sc-accordion-kicker">tokens do tema</span></span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Cores vêm de variáveis do tema, não hardcode.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.
Steps/Timeline (layout diferente)
Steps/Timeline (layout diferente), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-accordion sc-accordion--steps" data-accordion="single">
<div class="sc-accordion-item is-open">
<button class="sc-accordion-trigger" type="button" data-step="1">
<span class="sc-accordion-title"><strong>Planejar</strong><span class="sc-accordion-kicker">o que será exibido</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Defina a estrutura: título, descrição e ações.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button" data-step="2">
<span class="sc-accordion-title"><strong>Construir</strong><span class="sc-accordion-kicker">component-first</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Use tokens e modifiers para variar o design.</div></div></div>
</div>
<div class="sc-accordion-item">
<button class="sc-accordion-trigger" type="button" data-step="3">
<span class="sc-accordion-title"><strong>Testar</strong><span class="sc-accordion-kicker">tema + modo claro/escuro</span></span>
<span class="sc-accordion-icon" aria-hidden="true"></span>
</button>
<div class="sc-accordion-panel"><div><div class="sc-accordion-content">Garanta responsividade e acessibilidade.</div></div></div>
</div>
</div>Classes, JavaScript e API
Inicialize accordions após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- accordions
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.