Guias do Modern Web Guidance

Publicado em: 26 de outubro de 2026

Explore os guias disponíveis na Modern Web Guidance organizados por categoria.

Design visual

Adaptar a barra de rolagem às preferências de alto contraste
Melhorar a visibilidade da barra de rolagem para usuários que preferem interfaces de alto contraste
Aplicar sombreadores WebGL ao conteúdo HTML
Aplique efeitos visuais personalizados com sombreadores WebGL ao conteúdo HTML.
Cor
Orientações de cores para a Web, incluindo requisitos de contraste, esquemas de cores claras e escuras, modo de cores forçadas e geração de tons e sombras com base em uma cor de base.
Formas complexas
Corte elementos e o conteúdo deles em qualquer formato livre, como um símbolo, uma pincelada ou uma textura orgânica, para criar designs mais expressivos.
Estilos de texto personalizados
Adicione decorações de texto, como sublinhados, linhas superiores, tachados ou formas totalmente personalizadas, com animações de revelação, deslocamentos personalizados e inserções finais, além de pulo de tinta flexível.
Personalizar a cor ou a espessura de uma barra de rolagem
Personalizar a cor ou a espessura de uma barra de rolagem
Modo escuro
Implementar o suporte ao modo escuro de forma que respeite a preferência do usuário por tema claro/escuro e adapte a interface do navegador (por exemplo, barras de rolagem, controles de formulário etc.)
Ativar conteúdo HTML interativo em cenas 3D
Integre elementos HTML interativos a uma cena 3D.
Garantir a legibilidade do texto com cores de plano de fundo dinâmicas
Selecione uma cor de texto legível com contraste suficiente em uma cor de fundo dinâmica.
Linhas de texto com largura igual
Faça com que cada linha de um título ou lockup de várias linhas tenha a mesma largura, como na tipografia de estilo pôster ou de títulos empilhados. Ao contrário do texto justificado, o texto em si é dimensionado de acordo com a largura, em vez de o espaçamento ser esticado.
Exportar conteúdo HTML do Canvas
Capture e exporte conteúdo HTML dinâmico como imagens ou frames de vídeo no Canvas.
Expor o conteúdo do canvas aos recursos do navegador
Expor o conteúdo renderizado em uma tela aos recursos do navegador, como tecnologias adaptativas, tradução ou modo de leitura.
Melhorar o layout e a legibilidade do texto
Melhore o layout e a legibilidade de textos curtos e independentes, como títulos de até algumas linhas, permitindo que o navegador aplique quebras de linha equilibradas ao ajustar o texto.
Alinhamento preciso do texto
Alinhe verticalmente com precisão textos de qualquer fonte. Por exemplo, preenchimento visual exatamente igual acima e abaixo do texto ou alinhamento do texto perfeitamente nivelado com ícones ou imagens adjacentes.
Recortes coloridos
Combine várias formas para criar recortes complexos ou efeitos de "knockout" em elementos, como adicionar um entalhe a um elemento.
Esmaecimento de conteúdo com borda suave
Aplique um gradiente de transparência às bordas do conteúdo para indicar outras áreas roláveis ou ocultar texto com paywall.
Temas da interface gerada pelo navegador
Use CSS para personalizar a interface gerada pelo navegador, como seleção de texto, barras de rolagem, controles de formulário e seletores, em vez de recriá-la com elementos personalizados.
Tipografia
Práticas recomendadas de tipografia para a Web, incluindo unidades de tamanho de fonte, altura da linha, ajuste e equilíbrio de texto e tipo fluido que se adapta à janela de visualização.
Efeitos visuais
Efeitos visuais com CSS, como sombras em camadas, modos de mesclagem, gradientes com interpolação de cores previsível e padrões como listras, tabuleiros de xadrez, pontos e gráficos de pizza criados apenas com gradientes.
Fontes substitutas visualmente estáveis
Defina estilos de fonte para que o texto permaneça legível e visualmente consistente no caso de uma troca entre a fonte preferida e uma das substitutas (ou vice-versa).
Fontes mistas visualmente estáveis
Defina estilos de fonte para que o texto permaneça legível e visualmente consistente em situações em que várias fontes são usadas para renderizar um único bloco de texto.
Conteúdo com textura visual
Aplique padrões realistas de desgaste e textura aos elementos para dar a eles uma aparência orgânica, envelhecida ou de material físico.

Átomos de interface

Criar um indicador de progresso de rolagem
Crie uma barra de progresso de rolagem, um rastreador de progresso em etapas ou qualquer recurso visual que mostre o quanto o usuário rolou em uma página ou seção.
Criar efeitos de slide de carrossel
Crie um carrossel de slides com imagens ou outros elementos visuais, em que cada slide é animado ao entrar, centralizar ou sair do scroller. Por exemplo, os slides podem aparecer/desaparecer gradualmente, girar, aumentar ou diminuir de tamanho etc.
Temas claros/escuros específicos de componentes
Forçar certos elementos a ficarem no modo claro ou escuro (por exemplo, blocos de código, players de mídia etc.), independentemente do esquema de cores da página.
Dicas de acordo com a posição
Crie dicas de ferramentas e popovers com setas direcionais (ou outro estilo visual) que apontam automaticamente para o caminho correto quando o elemento muda para uma posição de fallback.
Puxar para revelar
Crie um recurso de puxar para revelar que permita ao usuário puxar a tela para baixo para revelar mais conteúdo, como uma barra de pesquisa.
Tabelas responsivas
Crie uma tabela de dados que apresente dados tabulares com a semântica de cabeçalho adequada e que permaneça legível e navegável em telas pequenas e com tecnologias adaptativas.
Elementos que reconhecem a posição de rolagem
Crie botões ou widgets flutuantes (voltar ao topo, rolar até o final, iniciadores de chat etc.) que aparecem e desaparecem com base na rolagem do usuário.
Dicas de acessibilidade de rolagem
Crie sobreposições de sombra de rolagem, gradientes ou indicadores de seta direcional que aparecem apenas quando há mais conteúdo para rolar nessa direção.
Cabeçalho que diminui ao rolar
Anime suavemente um cabeçalho fixo ou uma capa de página inteira ao rolar para encolher dinamicamente, ganhar sombras e transformar o layout em uma distância de rolagem predefinida.
Cabeçalhos fixos que reconhecem o estado
Crie cabeçalhos de seção ou barras de navegação fixos que se transformam visualmente quando estão "fixados" na parte de cima, mudando o esquema de cores ou ganhando uma sombra.
Como usar e gerenciar ícones
Exiba e gerencie ícones que podem ser definidos e parametrizados no CSS, são rápidos de carregar, nítidos em qualquer resolução e são expostos (ou ocultados) corretamente para tecnologias adaptativas.
Menus suspensos que se adaptam à janela de visualização
Posicione menus suspensos, menus flutuantes ou painéis de ação contextual vinculados a um botão de acionamento para que eles invertam automaticamente os eixos nas bordas da janela de visualização em vez de serem cortados.

Componentes de IU

Criar um card
Crie um componente de card que adapte a apresentação ao espaço e ao conteúdo disponíveis.
Criar um menu suspenso
Crie um componente de menu que mostre uma lista de opções ou ações, com suporte para submenus aninhados.
Criar uma navegação Scrollspy
Destacar a seção visível de uma página em um menu de navegação
Criar uma barra de progresso estilizada
Crie uma barra de progresso estilizada que mostre a conclusão de uma tarefa ou processo, em estados determinados e indeterminados.
Criar um card de informações interativo
Crie um componente de card de informações que mostre uma prévia estruturada e interativa da página para onde um determinado tipo de link (por exemplo, um perfil de usuário) vai direcionar quando o cursor passar por cima dele.
Como criar tours persistentes no app
Crie tutoriais de integração persistentes usando sobreposições nativas vinculadas que permanecem abertas durante a interação do usuário.
Como criar notificações de aviso
Crie notificações de aviso e sobreposição não intrusivas para mensagens persistentes e empilháveis e comunicação de estado.
Alternância do modo escuro
Crie um componente de alternância do modo escuro que permita aos usuários substituir a preferência de esquema de cores do sistema para o site atual.
Dialog
Crie um componente de caixa de diálogo modal ou não modal que seja acessível, gerencie o foco de maneira adequada e possa ser dispensado da maneira que os usuários esperam em cada plataforma.
Ícone de carregamento
Crie um ícone de carregamento que comunique o estado de ocupado a todos os usuários, respeite as preferências de movimento reduzido e tenha uma animação eficiente.
Gaveta de navegação
Crie um componente de gaveta de navegação que, quando acionado por um botão de menu, deslize para dentro a partir do lado sobreposto ao conteúdo da página atual e deslize para fora quando dispensado (ao deslizar para fora, tocar fora ou pressionar Esc).
Anel de progresso
Crie um componente de anel de progresso que represente visualmente o status de conclusão de uma tarefa ou processo, com suporte para conteúdo no centro e estilo consistente com a marca.
Detalhamento da pilha
Crie uma navegação hierárquica em tela cheia que permita aos usuários detalhar visualizações aninhadas e deslizar ou voltar para retornar, com o histórico de navegação sincronizado.
Como estilizar caixas de seleção
Estilize caixas de seleção, incluindo ícones personalizados, layout, cores, animações de marcar/desmarcar, preservando a funcionalidade e a acessibilidade nativas.

Comportamentos da interface

Adicionar efeitos de entrada e saída aos elementos conforme eles entram ou saem da janela de rolagem
Crie efeitos de aparecimento gradual, aumento de escala ou outros efeitos complexos de revelação em elementos conforme eles entram e saem da porta de rolagem (ou janela de visualização) enquanto o usuário está rolando.
Sublinhado da guia de posicionamento de âncora
Fazer a transição de um elemento de forma integrada entre duas posições de elementos de destino. Por exemplo, mover um sublinhado de guia selecionada entre a guia selecionada anteriormente e a atual.
Animar a entrada e saída de elementos
Ocultar/mostrar elementos de forma suave à medida que são adicionados/removidos do DOM ou que os valores de exibição são alternados.
Animar elementos para e da camada superior
Anima elementos como caixas de diálogo, pop-overs e dicas ao entrar/sair da camada superior.
Criar um elemento arrastável
Suporte para arrastar e mover um elemento flutuante pela página.
Criar um efeito de paralaxe na rolagem
Crie efeitos baseados em rolagem (como paralaxe) em que as camadas de primeiro plano e de fundo se movem em velocidades diferentes, criando uma sensação de profundidade conforme o usuário rola a página.
Destaques do carrossel de fotos
Destaque visualmente o item não interativo ajustado por ajuste de rolagem em carrosséis, galerias ou experiências de deslizar em tela cheia. Por exemplo, expandir um card quando ele é fixado ou revelar conteúdo oculto.
Transições consistentes entre documentos
Verifique se o estado crítico da página está carregado e estável antes de iniciar uma transição de visualização entre documentos. Isso significa que os estilos CSS essenciais são carregados e aplicados, o JavaScript essencial é carregado e executado, e o HTML visível para a visualização inicial da página pelo usuário é analisado antes da execução da transição.
Como criar uma animação escalonada
Alterne o tempo de animação ou transição entre elementos irmãos para que cada um comece após um atraso calculado com base na posição dele na lista de irmãos.
Transições entre documentos
Crie transições suaves e perfeitas entre navegações nas páginas inteiras, como cross-fades, efeitos de revelação personalizados ou transformação de conteúdo de uma página para a próxima.
Ações de botão personalizadas
Conecte um botão de forma declarativa a qualquer elemento para acionar ações personalizadas e específicas do aplicativo usando comandos de botão declarativos, comandos de invocador, comandos de botão, comandos personalizados ou ações de alternância declarativas.
Controle declarativo de caixas de diálogo e pop-overs
Alternar a visibilidade de uma caixa de diálogo ou pop-over de um botão sem escrever JavaScript.
Transições de navegação direcional
Anima as mudanças de estado visual para refletir a direção do fluxo de navegação do usuário, como deslizar o novo conteúdo da direita ao avançar ou da esquerda ao retornar para uma tela anterior.
Transições de elementos de grupo
Faça a transição de um grupo de elementos semelhantes simultaneamente usando a mesma lógica de transição, como remover um produto de um carrinho de compras e fazer com que todos os outros produtos sejam animados para as novas posições.
Destacar intervalos de texto
Destaque intervalos de texto arbitrários em uma página, como resultados da pesquisa, erros de ortografia ou cursores de edição colaborativa.
Revelação de conteúdo interativo
Crie efeitos de revelação interativos, como um destaque que segue o ponteiro do usuário para revelar detalhes em uma imagem ou seção da interface.
Prévias de ações acionadas por interesse
Mostre uma prévia do efeito de um botão quando um usuário demonstrar interesse (por exemplo, passar o cursor, focar ou tocar e manter pressionado), mas antes de clicar.
Dispensar uma caixa de diálogo com um toque
Criar uma caixa de diálogo modal que pode ser fechada com um clique ou toque fora dela
Movimento
Anime a interface com transições CSS, animações, animações de rolagem e transições de visualização, mantendo o movimento no compositor e respeitando as preferências de movimento reduzido.
Mover o elemento DOM sem perder o estado
Mover ou redefinir o elemento pai de um elemento DOM sem perder o estado importante do elemento, como estados de interatividade (:focus/:active), estado de carregamento de <iframe>, estado de animação/transição etc.
Interface persistente da camada superior
Manter uma caixa de diálogo modal, um elemento em tela cheia ou um popover nativo visivelmente aberto e funcionalmente ativo quando o nó DOM subjacente é movido ou reatribuído no DOM.
Easing baseado em física
Crie efeitos de animação e transição personalizados com base na física, como pulo e mola, que parecem mais naturais e envolventes do que as curvas de easing tradicionais.
Caixa de diálogo de dispensa dos controles da plataforma
Crie uma caixa de diálogo modal que possa ser fechada por ações padrão do usuário específicas da plataforma, como pressionar a tecla Esc em plataformas de computador ou um gesto de "voltar" ou "dispensar" em plataformas móveis.
Impedir que a página abaixo de uma caixa de diálogo modal seja rolada
Impedir que a página subjacente role enquanto uma caixa de diálogo modal está aberta.
Transições no mesmo documento
Conecte visualmente elementos persistentes em diferentes estados de página ou navegações em um aplicativo de página única (SPA, na sigla em inglês) (por exemplo, expandindo uma miniatura de produto em uma imagem principal sem margens) transformando suavemente o tamanho, a posição ou outras propriedades de estilo.
Transições de componentes com escopo
Anima as mudanças de estado em um único componente (um card, uma lista, um painel ou outra subárvore) enquanto o restante da página permanece interativo e outras transições são executadas simultaneamente.
Feedback em tempo real sobre o ajuste de rolagem
Ofereça feedback visual em tempo real em elementos da interface vinculados enquanto o usuário rola o conteúdo alinhado, antes que o gesto de rolagem seja concluído.
Sincronização do estado de ajuste de rolagem
Sincronize indicadores de navegação, painéis de conteúdo vinculado e rastreamento de análise com o item fixado ativamente em um contêiner rolável.
Scrollytelling
Anima propriedades visuais em um elemento de destino, como esmaecer um plano de fundo, mudar uma cor de fundo ou criar experiências de scrollytelling, impulsionadas inteiramente pela posição da porta de rolagem de um elemento completamente diferente.
Pesquisar conteúdo oculto
Oculte o conteúdo da visualização usando padrões como acordeões, guias e seções "Leia mais", garantindo que o texto oculto seja revelado durante as pesquisas nativas "Localizar na página", permitindo a indexação do mecanismo de pesquisa, oferecendo suporte a fragmentos do URL de links diretos e mantendo a acessibilidade ARIA.
Definir um destino de rolagem para a renderização inicial
Crie uma lista rolável de elementos (por exemplo, um carrossel de imagens ou uma conversa de chat) que possa ser mostrada com um elemento específico visível na renderização inicial.
Mostrar uma dica ao passar o cursor
Mostre uma dica ou informações complementares quando um usuário passar o cursor, focar ou tocar e manter pressionado um elemento interativo, sem precisar de um clique.
Navegação espacial (foco no teclado direcional)
Implementar uma navegação espacial acessível usando teclas de seta que funcionem corretamente em diferentes modos de layout (grade etc.)
Deslize para remover
Permita que os usuários realizem ações em itens de uma lista (remover, arquivar, marcar como lido etc.) com um gesto de deslizar horizontal, para que possam processar entradas rapidamente sem tocar em um controle separado.
Deslize para revelar
Permita que os usuários deslizem horizontalmente em um item de lista ou painel de conteúdo para revelar botões de ação contextual ou um menu lateral sem acionar uma ação automaticamente.
Como acionar efeitos após a conclusão da rolagem programática
Acione efeitos visuais, animações ou mudanças de foco em um elemento de destino somente após a conclusão de uma rolagem programática suave para esse elemento.
Movimento bidimensional
Permita que os usuários movam ou rolem livremente superfícies bidimensionais, como mapas, imagens ampliadas, telas infinitas ou grandes grades de dados, em ambas as direções (seja na diagonal ou mudando de direção no meio do gesto) sem que o gesto seja bloqueado em um único eixo horizontal ou vertical.

Formulários

Seletor de animação
Crie um componente de seleção personalizado com um menu suspenso animado. Por exemplo, o menu aparece gradualmente ou desliza para a visualização, ou as opções são animadas ao serem selecionadas.
Formulários consistentes com a marca
Combine caixas de seleção, botões de opção, controles deslizantes de intervalo e barras de progresso com a paleta de cores do seu site sem precisar substituí-los por componentes personalizados.
Controle deslizante de intervalo consistente com a marca
Estilize um controle deslizante nativo com estados personalizados de faixa, botão, preenchimento e foco, preservando a funcionalidade e a acessibilidade nativas.
Estilo de seleção de marca
Crie elementos de seleção personalizados em que o botão, o seletor, o ícone de seta e a marca de seleção combinam perfeitamente com a tipografia, as cores, o espaçamento e os tratamentos de borda da sua marca ou do seu sistema de design.
Criar um formulário de pagamento que siga as práticas recomendadas
Crie um formulário de pagamento que colete detalhes do cartão com valores de preenchimento automático corretos e suporte para preenchimento automático.
Criar um formulário de login que siga as práticas recomendadas
Crie um formulário de login com valores de preenchimento automático corretos e suporte para preenchimento automático.
Criar um formulário de inscrição que siga as práticas recomendadas
Crie um formulário de inscrição com valores de preenchimento automático corretos e suporte para preenchimento automático.
Criar controles de interruptor acessíveis
Crie um interruptor acessível com o atributo de interruptor HTML nativo, usando uma caixa de seleção estilizada quando não houver suporte.
Criar um formulário de endereço que siga as práticas recomendadas
Crie um formulário de endereço com os atributos de preenchimento automático corretos e suporte ao preenchimento automático.
Layouts personalizados do seletor de seleção
Crie seletores personalizados com opções posicionadas de maneiras únicas ou interessantes, em vez da tradicional lista empilhada de opções.
Os campos do formulário se ajustam automaticamente ao conteúdo
Permita que os campos do formulário aumentem e diminuam para se ajustar à entrada do usuário, por exemplo, conforme o usuário digita ou seleciona uma opção diferente. Aplique limites de tamanho máximo e mínimo para criar campos de formulário dinâmicos e responsivos que se adaptem ao design da página.
Formulários
Práticas recomendadas para criar formulários da Web acessíveis, seguros e fáceis de usar. Use este guia ao criar ou modificar formulários, entradas e fluxos de envio.
Destaque os campos preenchidos automaticamente pelo navegador que o usuário não editou com o CSS :autofill
Use CSS para destacar os campos de formulário que foram preenchidos automaticamente pelo navegador e não editados pelo usuário.
Envio seguro de IME ao pressionar Enter
Implemente o envio com Enter em áreas de texto e entradas de linha única (chat, pesquisa, renomeação inline) de forma segura para usuários de IME (editor de método de entrada) para evitar o envio de texto incompleto.
Feedback sobre campos obrigatórios
Forneça uma mensagem de erro para campos de formulário obrigatórios que foram ignorados ou deixados em branco somente após a interação do usuário, para evitar erros preventivos e garantir que o feedback seja oportuno e contextualmente relevante para o fluxo do usuário.
Seletor de rich media (seleção personalizável)
Crie um componente de seleção personalizado com opções que podem conter formatação HTML complexa (por exemplo, imagens, ícones e outras formatações ricas) em vez de apenas texto simples.
Selecionar interação do menu
Valide se uma opção não padrão foi escolhida em um menu de seleção somente depois que o usuário interagir com o controle.
Verificação de formulário de OTP por SMS
Verifique os números de telefone dos usuários e as senhas de uso único enviadas por SMS com extração automática de código e entrada de formulário acessível.
Validar a entrada após a interação
Mostre o feedback de validação do campo do formulário (por exemplo, complexidade da senha ou requisitos de formato de e-mail) somente depois que o usuário terminar a interação inicial, evitando erros prematuros no carregamento de página ou enquanto o usuário estiver digitando.

HTML

Componentes da Web acessíveis
Torne os elementos personalizados acessíveis por padrão, definindo papéis e o estado ARIA usando o mixin ARIA ElementInternals, gerenciando o foco com delegatesFocus e mantendo as relações ARIA em uma única raiz de sombra.
Elementos personalizados
Defina, registre e gerencie o ciclo de vida de elementos personalizados autônomos, incluindo regras de construtor, callbacks do ciclo de vida, tempo de upgrade, reflexão de atributos/propriedades e convenções de nomenclatura.
Elementos personalizados associados a formulários
Faça com que um controle personalizado participe nativamente de formulários com formAssociated e ElementInternals, enviando o próprio valor, integrando-se à validação de restrições e reagindo à redefinição, desativação e restauração de estado.
HTML
Diretrizes práticas para arquitetura HTML moderna, semântica, APIs interativas nativas (Dialog, Popover, Details), gerenciamento de foco e priorização de recursos. Use este guia ao estruturar documentos da Web, implementar sobreposições nativas ou otimizar a ordem de carregamento de recursos.
Pré-renderização de elementos personalizados
Renderize um elemento personalizado no servidor e, em seguida, hidrate-o no local sem renderizar novamente ou exibir conteúdo sem estilo.
Shadow DOM, modelos e slots
Encapsule o DOM e os estilos de um componente com o Shadow DOM, construa a árvore de forma eficiente com modelos HTML e projete o conteúdo do consumidor com slots.
Estilização de componentes da Web
Estilize além do limite de sombra com seletores :host, propriedades herdadas e personalizadas para temas, ::slotted e ::part, além de camadas em cascata e consultas de contêiner dentro de componentes.
Orientação sobre componentes da Web
Orientação e princípios transversais para criar e usar componentes da Web, incluindo elementos personalizados, Shadow DOM, modelos e slots, Shadow DOM declarativo, estilo além do limite de sombra, elementos personalizados associados a formulários e requisitos de acessibilidade. Use este guia ao criar componentes de interface reutilizáveis, sistemas de design ou elementos personalizados renderizados pelo servidor.

CSS

Animar para tamanhos intrínsecos
Anime componentes interativos (como acordeões, menus e cards expansíveis) de maneira suave para as dimensões naturais deles.
Calcular com tamanhos intrínsecos
Calcule o tamanho de um elemento com base no tamanho intrínseco dele, garantindo que ele se ajuste às restrições de design fornecidas.
Estilo baseado no estado do filho
Crie um componente que mude o estilo com base no estado de um dos elementos filhos. Por exemplo, um componente que é renderizado no modo claro ou escuro com base em uma alternância de tema marcada (ou não).
Aplicar CSS condicionalmente com base no suporte a regras at
Aplicar condicionalmente determinadas regras ou declarações CSS somente se uma determinada regra at for compatível com o navegador.
Estilo com base no conteúdo
Crie um componente que mude o layout com base na presença (ou ausência) de elementos filhos específicos. Por exemplo, se o componente tiver uma imagem, use um layout de colunas. Caso contrário, use um layout de coluna única.
Layouts CSS e design responsivo
Layouts CSS modernos, como flexbox, grade, subgrade, consultas de contêiner, posicionamento de âncora e dimensionamento intrínseco. Use essa habilidade ao projetar componentes de interface ou layouts de página responsivos.
CSS: arquitetura moderna
Diretrizes práticas para arquitetura CSS moderna, incluindo cascata, seletores, escopo, aninhamento e tokens de design. Use este guia ao criar estilos ou gerenciar sistemas de design.
Reatividade do token de design
Defina tokens de design de ordem superior, como modos de densidade (compacto, confortável, espaçoso) ou temas, e faça com que os componentes descendentes reajam às mudanças diretamente e de maneira adequada.
Escalonamento fluido
Escalone itens como tamanho da fonte, espaçamento e tamanhos de mídia de forma suave com base no tamanho do contêiner pai, em vez de usar pontos de interrupção fixos
Propriedades de transformação individuais
Anima ou substitui propriedades de transformação CSS individuais (por exemplo, translate, rotate, scale) de forma independente de outras propriedades de transformação em um único elemento.
Controle de corte de transbordamento
Ajuste o limite de corte visível de um elemento para se alinhar à borda do conteúdo, do padding ou da borda, ou a um deslocamento especificado de qualquer um deles, oferecendo um controle mais refinado sobre como o conteúdo é cortado.
Reduzir a repetição de estilo com funções CSS
Reduza a repetição excessiva de estilos encapsulando a lógica de estilo complexa ou dinâmica em funções reutilizáveis (como uma função que calcula um gradiente com base em um conjunto de parâmetros de entrada).
Design responsivo
Crie uma interface que se adapte ao tamanho do contêiner e da janela de visualização, incluindo consultas de contêiner, unidades de janela de visualização dinâmicas, proporções e tipografia responsiva.
Combinações de seletor e regra @
Segmente elementos com base na interseção ou união de seletores e regras @ condicionais, minimizando a repetição.
Adaptação de componentes semânticos
Crie componentes que adaptam a lógica visual com base no contexto semântico usando consultas de estilo de contêiner CSS.
Estilo que considera o tamanho
Crie um componente com estilos que podem depender condicionalmente da própria largura ou altura, em vez da largura ou altura da janela de visualização. Por exemplo, um componente de card que pode mudar de layout dependendo do tamanho ou um botão de call-to-action que pode mostrar um texto de ajuda condicional com base na largura.
Estilizar o elemento pai com :has()
Estilize os elementos pai de um campo de formulário (por exemplo, rótulos ou conjuntos de campos) quando o campo for inválido.
Estilizar irmãos com base na contagem e no índice
Crie espectros visuais dinâmicos ou layouts que se adaptam automaticamente ao número de elementos em um grupo.

JavaScript

WebAssembly

Desempenho

Dividir tarefas longas
Divida o processamento síncrono pesado (cálculos complexos e/ou loops longos) ou as atualizações do DOM para permitir que o navegador processe a entrada do usuário e repinte a tela.
Calcular o tempo total em primeiro plano
Calcule o tempo total que um usuário realmente passou visualizando uma página, excluindo os períodos em que a guia estava em segundo plano.
Dependências assíncronas condicionais
Carregar ou inicializar condicionalmente dependências assíncronas (como importar polyfills para recursos da Web ausentes) sem exigir uma orquestração complexa em todas as dependências de script de uma página.
Debounce e lote de vários eventos de análise
Debounce e lote de vários eventos de análise, telemetria e Core Web Vitals em um único beacon para minimizar a contenção de rede e reduzir a carga do servidor, sem deixar de fornecer atualizações em tempo real.
Adiar a renderização de conteúdo pesado
Reduza os tempos de renderização em páginas da Web com muito conteúdo (por exemplo, páginas com feeds longos, muitos artigos ou painéis complexos) adiando a renderização de qualquer conteúdo que não esteja imediatamente visível para o usuário.
Adiar o trabalho até o fim da rolagem
Adie operações caras, como atualizações de DOM, busca de dados, rastreamento de análises ou recálculo de layout, até que a rolagem seja concluída para manter o desempenho de rolagem suave.
Exibir imagens decorativas otimizadas
Ofereça imagens decorativas otimizadas (como planos de fundo, ícones de interface ou máscaras complexas) fornecendo simultaneamente formatos de imagem de última geração (como AVIF ou WebP) com várias densidades de pixels (como 1x e 2x) para que o navegador possa negociar dinamicamente a melhor combinação de tamanho de arquivo e qualidade visual para os recursos do dispositivo do usuário.
Remover a prioridade de buscas em segundo plano
Remova a prioridade das buscas de dados em segundo plano feitas com a API Fetch para evitar conflitos de rede com solicitações iniciadas pelo usuário.
Detectar o estado de visibilidade inicial
Determinar de forma confiável se uma página foi carregada inicialmente em segundo plano, mesmo nos casos em que o script é carregado de forma assíncrona depois que o usuário coloca a página em primeiro plano.
Processamento eficiente em segundo plano
Economize recursos do sistema e bateria pausando a execução do JavaScript em segundo plano (como animações <canvas>, renderização WebGL ou sondagem de dados WebSocket de alta frequência) quando o componente estiver fora da tela e retome-as no momento certo quando ele voltar a aparecer.
Transições de visualização de SPA mais rápidas com o armazenamento em cache de estado
Permita transições mais rápidas de volta para visualizações visitadas anteriormente em um aplicativo de página única (SPA, na sigla em inglês), preservando o estado estrutural do DOM em vez de destruir e recriar as visualizações em cada navegação.
Teste A/B do lado do cliente sem oscilação
Exiba e renderize testes A/B, testes multivariáveis ou outros experimentos usando JavaScript do lado do cliente para alterar ou injetar HTML, CSS e JavaScript sem que o conteúdo original apareça primeiro antes de piscar ou piscar para mostrar o conteúdo do experimento.
Identificar as causas de uma INP ruim
Identifique JavaScripts lentos e outras causas de baixa capacidade de resposta da Interaction to Next Paint (INP).
Identificar JavaScripts pesados
Identificar os scripts mais responsáveis por frames longos de animação
Melhorar o desempenho do carregamento da próxima página
Melhore o desempenho de carregamento de páginas pré-buscando ou pré-renderizando as páginas que o usuário provavelmente vai acessar em seguida.
Vídeo e áudio com carregamento lento
Adie o download de recursos de vídeo e áudio fora da tela, incluindo imagens de pôster de vídeo e dados de mídia pré-carregados, até que o player de mídia se aproxime da janela de visualização para economizar largura de banda e reduzir a contenção de rede durante o carregamento inicial da página.
Medir o tempo de pintura de interação e de navegação suave
Meça o tempo que as interações do usuário e as navegações do lado do cliente levam para renderizar novas atualizações de conteúdo na tela.
Otimizar a prioridade da imagem
Otimize a prioridade de carregamento das imagens candidatas à Largest Contentful Paint (LCP) e reduza a prioridade das imagens não críticas para reduzir os atrasos no carregamento de recursos críticos.
Otimizar a prioridade de pré-carregamento
Otimize a prioridade relativa do conteúdo pré-carregado para reduzir os atrasos no carregamento de recursos críticos.
Otimizar a prioridade do script
Otimize a prioridade de carregamento de scripts impulsionando scripts assíncronos críticos e reduzindo a prioridade de scripts não essenciais ou de corpo tardio para melhorar o sequenciamento e reduzir atrasos.
Como otimizar interações em layouts complexos
Torne as interações mais rápidas e responsivas (reduzindo as pontuações de Interaction to Next Paint (INP)) evitando novos cálculos de layout em layouts complexos, como painéis com muitos dados ou grades no estilo de planilha.
Streaming de HTML fora de ordem (OOO, na sigla em inglês)
Atualize uma página de forma declarativa com conteúdo transmitido posteriormente para o mesmo documento HTML ou usando APIs JavaScript imperativas.
Desempenho
Diretrizes práticas para otimizar aplicativos da Web modernos. Use este guia ao auditar o desempenho, otimizar as métricas de carregamento, corrigir interações lentas e otimizar as Core Web Vitals (LCP, INP, CLS).
Medir de forma confiável a telemetria e as análises de sessões completas
Rastreie de forma confiável as análises, as Core Web Vitals, os erros e os dados de telemetria durante toda a visita do usuário à página e adie o envio dos dados até que o usuário saia da página.
Pseudoelementos otimizados para resolução
Use imagens com resolução otimizada em pseudoelementos CSS (como ::before e ::after) para reduzir o número de nós do DOM.
Programar tarefas por prioridade
Programe tarefas com prioridades diferentes para garantir que o trabalho crítico seja executado primeiro, enquanto o trabalho em segundo plano é adiado.

Acessibilidade

Segurança

Comparar e validar origens da web e sites
Compare e valide origens da Web e sites com segurança em mensagens e URLs entre documentos sem análise de strings propensa a erros.
Criptografar dados do lado do cliente com a WebCrypto
Estabeleça secrets compartilhados usando encapsulamento de chave pública ou acordo de chave, incluindo proteção híbrida e pós-quântica, e criptografe dados sensíveis no navegador com criptografia autenticada.
Acesso à rede local
Acessar recursos na rede local ou na interface de loopback de um usuário em um aplicativo da Web público.
Autenticação com chave de acesso
Autenticar um usuário recorrente com uma chave de acesso para o login principal.
Criação condicional de chave de acesso (promoção pós-login)
Registrar silenciosamente uma chave de acesso para um usuário atual após um login com senha.
Gerenciamento de chaves de acesso
Permitir que os usuários vejam e gerenciem as chaves de acesso registradas na conta.
Reautenticação com chave de acesso
Verifique a identidade de um usuário conectado usando as chaves de acesso dele antes de uma ação sensível.
Registro de chave de acesso
Registrar uma chave de acesso para uma conta de usuário atual.
Orientação sobre chaves de acesso
Orientação abrangente e princípios transversais para implementar o WebAuthn e as chaves de acesso em aplicativos da Web. Use este guia ao lidar com o registro, a autenticação, o gerenciamento ou a reautenticação de chaves de acesso.
Evitar ataques XSS baseados em DOM com Tipos Confiáveis
Evite ataques de XSS baseados em DOM definindo uma política de Tipos Confiáveis para limpar HTML não confiável, usando a política ao gravar em coletores de DOM, como innerHTML, e aplicando Tipos Confiáveis pela Política de Segurança de Conteúdo.
Logins rápidos com o modo de IU imediato
Autentique usuários recorrentes com as chaves de acesso ou senhas salvas antes de navegar para uma página de login ou interromper o fluxo de trabalho.
Restringir conexões de rede de saída com listas de permissões de conexão
Restringir uma página ou um worker para se comunicar apenas com uma lista de permissões explícita de endpoints de rede para evitar solicitações não autorizadas de terceiros e exfiltração de dados do lado do cliente.
Limpeza de HTML não confiável
Analise e mostre com segurança conteúdo HTML não confiável de entradas do usuário removendo elementos e atributos não seguros.
Proteger sub-recursos externos com integridade de sub-recursos, CORS e política de referenciador
Verifique a integridade criptográfica de scripts, folhas de estilo, fontes e imagens externas carregadas de origens de terceiros e controle se essas solicitações enviam credenciais ou URLs de referência.
Assinar e verificar dados com a WebCrypto
Assine e verifique mensagens, tokens ou artefatos no navegador usando chaves assimétricas clássicas ou resistentes à computação quântica (pós-quânticas) para garantir a integridade de dados e a autenticidade dos dados.
Verificar a propriedade do endereço de e-mail
Verifique se um usuário é o proprietário de um endereço de e-mail durante a criação, o login ou a recuperação da conta sem enviar uma senha de uso único ou um e-mail com link mágico.
Segurança na Web
Diretrizes de segurança preventiva para desenvolvedores web (XSS, CSP, cookies, isolamento de origem cruzada). Use essa habilidade para orientar o processo de auditoria, teste e implantação de políticas de segurança com segurança.

Privacidade

PWA

IA integrada

WebMCP