Ações

Uma ação principal por contexto. A secundária oferece uma alternativa; a textual apoia a leitura.

Estados de ação

“Simular processamento” percorre os estados pronto, processando e concluído, sem envio. Alt + R aciona “Revisar exemplo” fora dos campos de texto.

“Indisponível” representa uma ação sem permissão neste exemplo. Estado de processamento mantém o nome da ação. Desabilitar só quando a ação estiver indisponível; explique a causa junto ao controle.

<a class="xq-btn" href="mailto:contato@chesslab.com.br">Conversar com a Chesslab</a>
<button class="xq-btn xq-btn--secundario" type="button">Revisar</button>

Uma pergunta por vez.

As dúvidas da aceleração usam abas. Setas navegam entre os temas; Home e End acessam os extremos.

Para quem é?

E-commerces e atacadistas que já vendem e querem escalar com processo, não com achismo.

O que entra no mês?

Anúncios, criativos, CRO, fidelização, feedback semanal, relatório mensal e calendário visível.

Como começa?

Você preenche a aplicação, fazemos o diagnóstico e desenhamos meta e plano do mês 01.

Menu de contexto

O foco entra no menu. Setas, Home e End percorrem as ações. Escape fecha e devolve o foco ao botão; Tab continua a página.

<div data-xq-abas>
  <div role="tablist" aria-label="Dúvidas">
    <button role="tab" id="pergunta" aria-controls="resposta"
      aria-selected="true">Para quem é?</button>
  </div>
  <div role="tabpanel" id="resposta" aria-labelledby="pergunta">…</div>
</div>

Abrir o que interessa.

O acordeão usa details e summary nativos. Funciona por teclado e sem JavaScript.

Termômetro de CAC

Ponto de corte por custo fixo e variável. Teto de CAC por margem, sem queimar lucro.

Otimizações frequentes

Cronograma automatizado mostra todo dia o que otimizar em cada campanha.

Calendário visível

Você vê o que fazemos por você em cada dia do mês. Sem ruído, sem atraso escondido.

Clareza em cada campo.

Rótulos sempre visíveis. Instrução antes do erro. Esta demonstração valida localmente, sem envio ou armazenamento.

Aplicação de contato

Dois campos obrigatórios. Validação no navegador.

Campo indisponível neste exemplo.

De 0 a 100%, em incrementos de 0,1. Valor ilustrativo; não representa margem de cliente.

Somente leitura. O conteúdo pode ser selecionado e copiado.

0 / 600 Organização e processo são o caminho para o sucesso.

* Campos obrigatórios

Combobox com busca

Setas percorrem a lista; Enter seleciona; Escape fecha.

<label for="email">E-mail profissional</label>
<input class="xq-input" id="email" type="email" required
  aria-describedby="email-erro" data-xq-error="email-erro">
<p class="xq-campo-erro" id="email-erro"></p>

Foco no próximo passo.

Dialog nativo para decisões que pedem atenção. Gaveta para consultar o escopo sem perder o contexto.

Tab e Shift + Tab ficam dentro da janela. Escape fecha. Ao sair, o foco volta à ação que abriu a sobreposição.

Seu e-commerce vai crescer assim.

Você preenche a aplicação, fazemos o diagnóstico e desenhamos meta e plano do mês 01.

Exemplo de interface. O contato abre no aplicativo de e-mail.

O que entra no mês?

Anúncios, criativos, CRO, fidelização, feedback semanal, relatório mensal e calendário visível.

Termômetro de CAC

Ponto de corte por custo fixo e variável. Teto de CAC por margem, sem queimar lucro.

Projeções do mês

Dados do mês viram meta e plano do próximo mês, variável por variável.

Calendário visível

Você vê o que fazemos por você em cada dia do mês. Sem ruído, sem atraso escondido.

Descartar rascunho?

Esta é uma demonstração de confirmação. Nenhum dado será removido.

<button data-xq-open="aplicacao">Abrir aplicação</button>
<dialog class="xq-dialog" id="aplicacao" data-xq-dialog
  aria-labelledby="titulo-aplicacao">
  <h2 id="titulo-aplicacao">Preencher aplicação</h2>
  <button data-xq-close>Voltar</button>
</dialog>

O estado tem nome.

A cor reforça o significado. O texto descreve a situação e indica o que fazer.

Campos validadosA demonstração está pronta para revisão.

Revise o e-mailUse um endereço completo, como nome@empresa.com.br.

Falta um campo obrigatórioPreencha o nome para continuar.

Validação localNenhum dado desta demonstração é enviado ou armazenado.

Uma pilha de estados.

Cada acionamento cria uma mensagem independente. A pilha mantém até quatro notificações, sem roubar o foco. Estas mensagens permanecem até o fechamento.

Entender antes de executar.

Quiz técnico baseado no ciclo real de trabalho da Chesslab. Feedback explica a resposta e permite tentar novamente.

Qual etapa vem antes de criar o conteúdo?

Contrato de integração

ComponenteContratoComportamento
Abasdata-xq-abasUma seleção, roving tabindex, painéis ligados por ARIA.
Menudata-xq-menuSetas, Home, End, Escape e fechamento externo.
Dialogdata-xq-dialogFoco confinado, Escape, retorno ao acionador.
Comboboxdata-xq-comboboxBusca sem acentos, seleção por teclado ou toque.
Formuláriodata-xq-formValidação local, erro ligado ao campo, foco no primeiro erro.
ToastsXequeCore.toast(mensagem, opções)Pilha de quatro mensagens; duração opcional pausa ao receber foco ou ponteiro.
Açãodata-xq-actionEstado explícito e atalho opcional sem interferir na digitação.
Quizdata-xq-quizResposta explicada, anúncio discreto, tentativa sem bloqueio.

CSS: css/20-core.css. Comportamentos: js/modulos/core.js, incluído uma vez. Sem JavaScript, o conteúdo das abas continua legível; acordeões e campos nativos continuam disponíveis.