Invocadores de interesse e atributo Command
Explore os atributos command e commandfor para ações declarativas.
Invocadores de interesse e atributo Command é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.
Dois Padrões Declarativos Emergentes
O grupo Open UI está padronizando dois novos atributos HTML — command para ações acionadas por clique e interesttarget para o "interesse" acionado ao passar o mouse ou receber foco (a base de dicas de ferramentas e prévias). Ambos ampliam o HTML com comportamentos declarativos que tradicionalmente exigiam JavaScript.
O Atributo de Comando
Um botão com command="show-modal" e commandfor="dialog-id" exibe um diálogo sem nenhum JS — substituindo chamadas manuais a dialog.showModal(). Outros comandos: command="close", command="toggle-popover", command="show-popover".
<button command="show-modal" commandfor="my-dialog">Open</button>
<dialog id="my-dialog">...</dialog>Comandos Compatíveis
O conjunto inicial é voltado a padrões comuns de interface do usuário: exibir e ocultar diálogos (com o elemento integrado <dialog>), alternar janelas sobrepostas (a API de janelas sobrepostas) e possivelmente crescerá com o tempo. Elementos personalizados podem declarar quais comandos aceitam por meio de manipuladores de eventos oncommand.
Comandos Personalizados
Além dos comandos integrados, a especificação permite sequências de comandos personalizadas iniciadas por "--". O elemento-alvo recebe um evento command que você pode tratar em JS: el.addEventListener("command", (e) => { if (e.command === "--save") save(); }).
Acionadores de Interesse
O atributo interesttarget marca o alvo de "interesse" de um elemento — normalmente, uma dica de ferramenta que aparece quando o usuário passa o mouse ou posiciona o foco. O navegador gerencia automaticamente o tempo (um atraso de 300 ms para detectar a intenção de passar o mouse), o posicionamento (com posicionamento por âncora) e o encerramento.
<button interesttarget="user-info">Profile</button>
<div id="user-info" popover="hint">Ada Lovelace — Admin</div>Combinado com o Modo de Dica
O modo de janela sobreposta de dica foi criado para janelas sobrepostas no estilo de dicas de ferramentas que aparecem quando há interesse. Elas não são modais, não roubam o foco e são fechadas quando o interesse desaparece. A combinação do alvo de interesse com o modo de dica fornece uma dica de ferramenta nativa usando apenas dois atributos HTML.
Vantagens para a Acessibilidade
Os diálogos nativos mantêm o foco dentro deles; as janelas sobrepostas nativas gerenciam o empilhamento; e os acionadores nativos de interesse gerenciam o tempo de intenção de passar o mouse e anunciam as relações aos leitores de tela. Substituir implementações personalizadas em JS por essas primitivas declarativas melhora de forma confiável a qualidade da acessibilidade.
Status da Especificação
Esses recursos ainda estão sendo padronizados. Os nomes exatos dos atributos e o conjunto de comandos podem mudar. As implementações nos navegadores estão surgindo primeiro no Chromium. O uso em produção deve aguardar até que a nomenclatura se estabilize e pelo menos dois navegadores ofereçam suporte — provavelmente no próximo ano ou nos dois seguintes.
Substituindo Padrões de JS
Cada um desses recursos substitui JavaScript que foi escrito e reescrito milhões de vezes: gerenciamento de diálogos, acionadores de janelas sobrepostas e comportamento de dicas de ferramentas. Transferir esses padrões para o HTML reduz o peso da página, melhora a consistência e permite que o navegador aplique otimizações.
Open UI como Fonte
O grupo comunitário Open UI (open-ui.org) conduz grande parte desse trabalho — propondo, criando protótipos e conduzindo novos elementos e atributos HTML pelo processo de padronização. Acompanhe o blog deles para conhecer as propostas mais recentes.
Relação com Outros Recursos Modernos
Comandos, alvos de interesse, janelas sobrepostas, diálogos, posicionamento por âncoras, transições de visualização e listas de seleção personalizáveis fazem parte de um único esforço coerente para trazer padrões de bibliotecas de componentes para a plataforma. Cada recurso é pequeno por si só; juntos, representam a maior expansão do vocabulário de interface do usuário do HTML em anos.
O que Fazer Agora
Acompanhe as propostas (open-ui.org), faça experimentos no Chromium com os sinalizadores ativados e planeje adotar os recursos à medida que se estabilizarem. Audite sua base de código existente: conte quanto JS é dedicado à infraestrutura de diálogos, janelas sobrepostas e dicas de ferramentas. Esse código deve ser substituído nas próximas versões.
Verificação de Conhecimento
Qual é a finalidade do atributo de comando em um botão?
Resumo
Duas funcionalidades emergentes ampliam o vocabulário declarativo de interface do usuário do HTML: comando + destino do comando para ações acionadas por clique (exibir um modal e alternar uma janela sobreposta) e alvo de interesse + modo de dica para dicas de ferramentas acionadas ao passar o mouse ou receber foco. Ambos substituem padrões comuns de JavaScript por atributos HTML, melhorando a acessibilidade e reduzindo o tamanho do pacote. Ainda estão evoluindo; acompanhe o Open UI para saber quando se estabilizarem e publique-os conforme o suporte dos navegadores chegar.
Perguntas Frequentes
A aula “Invocadores de interesse e atributo Command” é grátis?
Sim — o texto completo de “Invocadores de interesse e atributo Command” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.
O que vou aprender em “Invocadores de interesse e atributo Command”?
Explore os atributos command e commandfor para ações declarativas. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar HTML Academy?
Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Invocadores de interesse e atributo Command”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de HTML Academy?
Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- DOM de sombra declarativo
- A API Popover
- O elemento selectlist
- Invocadores de interesse e atributo Command