Interação com Próxima Exibição (INP)

Compatibilidade com navegadores

  • 96
  • 96
  • x
  • x

Origem

Os dados de uso do Chrome mostram que 90% do tempo do usuário em uma página é gasto após o carregamento. Assim, é importante fazer uma medição cuidadosa da capacidade de resposta durante o ciclo de vida da página. Isso é o que a métrica INP avalia.

Uma boa capacidade de resposta significa que uma página responde rapidamente às interações. Quando uma página responde a uma interação, o navegador apresenta um feedback visual no próximo frame pintado. O feedback visual informa se, por exemplo, um item adicionado a um carrinho de compras on-line está realmente sendo adicionado, se um menu de navegação móvel foi aberto, se o conteúdo de um formulário de login está sendo autenticado pelo servidor etc.

Naturalmente, algumas interações demoram mais do que outras, mas, para interações especialmente complexas, é importante apresentar rapidamente um feedback visual inicial para informar ao usuário que algo está acontecendo. O próximo frame que o navegador pintará é a primeira oportunidade de fazer isso.

Portanto, a intenção do INP não é medir todos os efeitos finais de uma interação, como buscas de rede e atualizações da interface de outras operações assíncronas, mas o tempo em que a próxima exibição está sendo bloqueada. Ao atrasar o feedback visual, os usuários podem ter a impressão de que a página não está respondendo rápido o suficiente, e a INP foi desenvolvida para ajudar os desenvolvedores a avaliar essa parte da experiência do usuário.

No vídeo a seguir, o exemplo à direita oferece um feedback visual imediato de que um acordeão está abrindo. À esquerda, há uma demonstração de baixa capacidade de resposta e como isso pode criar experiências de usuário ruins.

Um exemplo de capacidade de resposta ruim versus boa. À esquerda, tarefas longas impedem que o acordeão seja aberto. Isso faz com que o usuário clique várias vezes, pensando que a experiência foi corrompida. Quando a linha de execução principal chega, ela processa as entradas atrasadas, resultando na abertura e fechamento inesperado do acordeão. À direita, uma página mais responsiva abre o acordeão de forma rápida e sem incidentes.

Este guia explica como a INP funciona, como medi-la e aponta para recursos para melhorá-la.

O que é INP?

INP é uma métrica que avalia a capacidade de resposta geral de uma página em relação às interações do usuário, observando a latência de todas as interações de clique, toque e teclado que ocorrem durante toda a vida útil da visita do usuário a uma página. O valor final da INP é a interação mais longa observada, ignorando os valores atípicos.

Detalhes sobre como o INP é calculado

O INP é calculado observando-se todas as interações feitas com uma página. Na maioria dos sites, a interação com a pior latência é informada como INP.

No entanto, para páginas com um grande número de interações, soluços aleatórios podem resultar em uma interação de latência excepcionalmente alta em uma página responsiva. Quanto mais interações ocorrerem em uma determinada página, maior será a probabilidade de que isso aconteça.

Para fornecer uma medição melhor da capacidade real de resposta em páginas com um alto número de interações, ignoramos uma interação com o valor mais alto para cada 50 interações. Como a grande maioria das experiências na página não tem mais de 50 interações, a pior interação é relatada com mais frequência. O 75o percentil de todas as visualizações de página é informado normalmente, o que remove os pontos fora da curva para fornecer um valor melhor ou melhor para a maioria dos usuários.

Uma interação é um grupo de manipuladores de eventos que são acionados durante o mesmo gesto lógico do usuário. Por exemplo, "tocar" As interações em um dispositivo com tela touchscreen incluem vários eventos, como pointerup, pointerdown e click. Uma interação pode ser conduzida por JavaScript, CSS, controles integrados do navegador (como elementos de formulário) ou uma combinação desses elementos.

A latência de uma interação consiste na duração mais longa de um grupo de manipuladores de eventos que impulsiona a interação, a partir do momento em que o usuário inicia a interação até o momento em que o navegador exibe o próximo frame.

O que é uma boa pontuação INP?

Fixar rótulos como "bom". ou "ruim" em uma métrica de capacidade de resposta é difícil. Por um lado, você quer incentivar práticas de desenvolvimento que priorizam uma boa capacidade de resposta. Por outro lado, você precisa levar em conta o fato de que há uma variabilidade considerável nas capacidades dos dispositivos que as pessoas usam para definir expectativas de desenvolvimento alcançáveis.

Para garantir que você ofereça experiências do usuário com boa capacidade de resposta, um bom limite a ser medido é o 75o percentil de carregamentos de página registrados no campo, segmentados em dispositivos móveis e computadores:

  • Um INP abaixo ou em 200 milissegundos significa que a página tem boa capacidade de resposta.
  • Um INP acima de 200 milissegundos e abaixo ou em 500 milissegundos significa que a capacidade de resposta de uma página precisa de melhorias.
  • Um INP acima de 500 milissegundos significa que a página tem baixa capacidade de resposta.
.
Bons valores de INP são 200 milissegundos ou menos, valores ruins são maiores do que 500 milissegundos, e tudo o que está entre eles precisa ser melhorado.
Bons valores de INP têm até 200 milissegundos. Os valores ruins são maiores que 500 milissegundos.

O que compõe uma interação?

Um diagrama que representa uma interação na linha de execução principal. O usuário faz uma entrada ao bloquear a execução de tarefas. A entrada é atrasada até que essas tarefas sejam concluídas. Depois disso, os manipuladores de evento de mouseup, mouseup e clique são executados. Em seguida, o trabalho de renderização e pintura é iniciado até que o próximo frame seja apresentado.
A vida de uma interação. Um atraso de entrada ocorre até que os manipuladores de eventos comecem a ser executados, possivelmente causado por fatores como tarefas longas na linha de execução principal. Os callbacks do manipulador de eventos da interação são executados e um atraso ocorre antes da apresentação do próximo frame.

Geralmente, o JavaScript é o principal impulsionador da interatividade, embora os navegadores ofereçam interatividade por meio de controles não ativados por JavaScript, como caixas de seleção, botões de opção e controles fornecidos pelo CSS.

Para fins do INP, apenas os seguintes tipos de interação são observados:

  • clicar com o mouse;
  • Tocar em um dispositivo com uma tela touchscreen.
  • Pressionar uma tecla em um teclado físico ou na tela.
.

As interações ocorrem no documento principal ou em iframes incorporados nele, por exemplo, clicando em "Reproduzir" em um vídeo incorporado. Os usuários finais não saberão o que está em um iframe ou não. Portanto, a INP nos iframes é necessária para avaliar a experiência do usuário na página de nível superior. Como as APIs JavaScript da Web não têm acesso ao conteúdo dos iframes, isso pode aparecer como uma diferença entre o CrUX e o RUM.

As interações podem consistir em vários eventos. Por exemplo, um pressionamento de tecla inclui os eventos keydown, keypress e keyup. As interações de toque contêm eventos pointerup e pointerdown. O evento com a maior duração na interação é o que contribui para a latência total da interação.

Representação de uma interação mais complexa que contém duas interações. O primeiro é um evento mousedown, que produz um frame antes que o botão do mouse seja solto, o que inicia mais trabalho até que outro frame seja apresentado como resultado.
Representação de uma interação com vários manipuladores de eventos. A primeira parte da interação recebe uma entrada quando o usuário clica em um botão do mouse. No entanto, antes de soltar o botão do mouse, um frame é apresentado. Quando o usuário solta o botão do mouse, outra série de manipuladores de eventos deve ser executada antes da apresentação do próximo frame.

O INP da página é calculado quando o usuário sai dela. O resultado é um valor único que representa a capacidade de resposta geral da página em todo o ciclo de vida dela. Um INP baixo significa que a página respondeu de forma confiável à entrada do usuário.

Qual é a diferença entre INP e First Input Delay (FID)?

INP é a métrica sucessora de First Input Delay (FID). Embora ambas sejam métricas de capacidade de resposta, a FID mediu apenas o atraso de entrada da primeira interação em uma página. O INP melhora a FID observando todas as interações em uma página, desde o atraso de entrada até o tempo necessário para executar manipuladores de eventos e, finalmente, até que o navegador pinte o próximo frame.

Essas diferenças significam que INP e FID são tipos diferentes de métricas de capacidade de resposta. Enquanto a FID era uma métrica de capacidade de resposta de carga projetada para avaliar a primeira impressão da página no usuário, a INP é um indicador mais confiável da capacidade de resposta geral, independentemente de quando as interações da página ocorrem.

E se nenhum valor de INP for informado?

É possível que uma página não retorne nenhum valor de INP. Isso pode acontecer por vários motivos, incluindo:

  • A página foi carregada, mas o usuário nunca clicou, tocou nem pressionou uma tecla no teclado.
  • A página foi carregada, mas o usuário interagiu com ela usando gestos que não são medidos, como rolar ou passar o cursor sobre elementos.
  • A página está sendo acessada por um bot, como um rastreador de pesquisa ou um navegador headless, que não foi programado para interagir com a página.

Como medir o INP

O INP pode ser medido no campo e no laboratório, permitindo simular interações realistas do usuário.

Em campo

Idealmente, sua jornada na otimização do INP começará com dados de campo. Na melhor das hipóteses, os dados de campo do Real User Monitoring (RUM) fornecerão não apenas o valor de INP de uma página, mas também dados contextuais que destacam qual interação específica foi responsável pelo próprio valor de INP, se a interação ocorreu durante ou após o carregamento da página, o tipo de interação (clique, pressionamento de tecla ou toque) e outros tempos valiosos que podem ajudar você a identificar qual parte da interação estava afetando a capacidade de resposta.

Caso seu site esteja qualificado para inclusão no Chrome User Experience Report (CrUX, na sigla em inglês), você poderá acessar rapidamente dados de campo para a INP usando o CrUX no PageSpeed Insights (e em outras Core Web Vitals). No mínimo, você pode ter uma imagem da origem do INP do seu site, mas, em alguns casos, também é possível ver dados no nível do URL.

No entanto, embora o CrUX possa informar se há um problema, ele não pode dizer o que o causou. Uma solução RUM pode ajudar você a descobrir mais detalhes sobre páginas, usuários ou interações de usuários com problemas de capacidade de resposta. Ser capaz de atribuir INP a interações individuais evita suposições e esforços desperdiçados.

No laboratório

O ideal é começar os testes no laboratório quando você tiver dados de campo que sugiram que uma página tem interações lentas. Os dados de campo tornam o trabalho de reproduzir interações problemáticas no laboratório uma tarefa muito mais simples.

No entanto, é possível que você não tenha dados de campo. Embora o INP possa ser medido em algumas ferramentas de laboratório, o valor de INP resultante de uma página durante o teste depende das interações realizadas durante o período de medição. Os comportamentos dos usuários podem ser imprevisíveis e altamente variáveis, o que significa que os testes no laboratório podem não revelar interações com o problema da mesma maneira que os dados de campo. Além disso, algumas ferramentas de laboratório não informam o INP de uma página porque observam apenas o carregamento de uma página sem interações. Nesses casos, o tempo total de bloqueio (TBT, na sigla em inglês) pode ser uma métrica razoável para a INP, mas não substitui a INP por si só.

Embora as ferramentas de laboratório tenham limitações para avaliar o INP de uma página, há algumas estratégias para reproduzir interações lentas. As estratégias incluem seguir fluxos de usuários comuns e testar interações ao longo do caminho, além de interagir com a página enquanto ela carrega (quando a linha de execução principal costuma ser mais movimentada) para identificar interações lentas durante essa parte crucial da experiência do usuário.

Como melhorar a INP

Há uma coleção de guias sobre como otimizar o INP (link em inglês) disponível para guiar você pelo processo de identificação de interações lentas no campo e usar dados de laboratório para identificar as causas e otimizá-las.

Registro de alterações

Às vezes, eles são descobertos nas APIs usadas para medir as métricas e, às vezes, nas definições das próprias métricas. Como resultado, é preciso fazer alterações algumas vezes e elas podem aparecer como melhorias ou regressões nos seus relatórios e painéis internos.

Para ajudar você a gerenciar isso, todas as alterações na implementação ou na definição dessas métricas serão exibidas neste registro de alterações.

Se você tiver feedback sobre essas métricas, envie no Grupo do Google web-vitals-feedback.

Teste seus conhecimentos

Qual é a meta principal da métrica INP?

Para medir o tempo que leva para o primeiro conteúdo de uma página ser exibido.
Incorreto. Essa opção descreve a First Contentful Paint
Para quantificar a estabilidade visual de uma página e minimizar mudanças inesperadas de layout.
Incorreto. Isso descreve a Cumulative Layout Shift.
Avaliar o tempo que uma página leva para se tornar totalmente interativa.
Incorreto: está relacionado ao tempo para interação da página, mas a INP se concentra especificamente na capacidade de resposta em relação à entrada do usuário.
Para minimizar o tempo entre o início de uma interação e a exibição do próximo frame, em relação a todas ou à maioria das interações que o usuário inicia.
Correto!

Quais dos seguintes tipos de interação são observados para fins de cálculo do INP? (Selecione todas as opções relevantes.)

clicar com o mouse;
Correto!
Rolar a página com a roda do mouse ou um trackpad.
Incorreto. O INP não considera rolagem.
tocando em uma tela touchscreen.
Correto!
Passar o cursor do mouse sobre os elementos.
Incorreto. INP não considera passar o cursor
Pressionar uma tecla em um teclado.
Correto!
Aumentando ou diminuindo o zoom na página.
Incorreto. A INP não considera o zoom

Como é a "latência" de uma interação definida para a INP?

A quantidade de tempo que o navegador leva para processar os manipuladores de eventos de uma interação.
Incorreto: considera apenas a duração do processamento, não o atraso de entrada ou o tempo para apresentar o próximo frame.
É o tempo médio que todas as interações em uma página levam para produzir uma resposta visual.
Incorreto – INP se concentra na interação mais longa, não na média
O tempo que o navegador leva para começar a processar os manipuladores de eventos associados a uma interação.
Incorreto: isso considera apenas o atraso na entrada, e não o tempo de processamento e renderização.
O tempo entre o início da interação e o momento em que o próximo frame é totalmente apresentado.
Correto!

Qual é a diferença entre INP e FID?

A INP mede o tempo necessário para que o primeiro conteúdo de uma página seja exibido, enquanto a FID mede a capacidade de resposta à entrada do usuário.
Incorreto. Essa opção descreve a First Contentful Paint, não INP
A INP considera a duração total de todas as interações, enquanto a FID mede apenas o atraso de entrada da primeira interação.
Correto!
A INP e a FID medem diferentes carimbos de data/hora em que uma página se torna interativa.
Incorreto. INP e FID são medidas da rapidez com que a página responde às interações, independentemente de quando elas ocorrem.
Não há diferença. INP e FID são apenas dois nomes diferentes para a mesma métrica.
Incorreto: eles têm definições diferentes

Em que circunstâncias os dados de INP podem ficar indisponíveis para uma página em ferramentas como o PageSpeed Insights?

A página está usando uma biblioteca personalizada de medição de performance que não informa dados de INP.
Incorreto. O INP é medido automaticamente usando APIs da plataforma Web e não depende de páginas que informam seu desempenho por meio de bibliotecas personalizadas.
Não há dados de interação suficientes dos usuários do Chrome para calcular um valor de INP significativo no conjunto de dados CrUX.
Correto!
Os usuários interagiram com a página somente rolando e passando o cursor, o que não é considerado para INP.
Correto!
A página é criada usando um framework que otimiza automaticamente para INP, portanto, não há necessidade de informá-la.
Incorreto: os frameworks podem ajudar com o INP, mas a métrica ainda é relevante e informada se os dados estiverem disponíveis

Qual é a estratégia mais eficaz para reproduzir interações lentas em um ambiente de laboratório?

Simular um dispositivo de última geração com uma conexão de rede lenta e não confiável para criar condições desafiadoras.
Incorreto. Embora a rede possa ter um papel importante, os recursos do dispositivo têm mais chances de expor interações lentas
Testar interações somente depois que a página estiver totalmente carregada e inativa.
Incorreto: pode deixar passar interações lentas durante o carregamento
Interagir com a página durante o carregamento e seguir fluxos de usuários comuns para identificar possíveis gargalos.
Correto!
Focar em interações complexas e em casos extremos que provavelmente não serão encontradas pela maioria dos usuários.
Incorreto. Os fluxos de usuários comuns são mais relevantes para identificar problemas comuns de INP.

Este teste foi gerado pelo Gemini 1.5 e revisado por humanos. Deixe seu feedback