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 de um usuário em uma página é gasto depois que ela é carregada. Assim, é importante ter uma medição cuidadosa da capacidade de resposta ao longo do ciclo de vida da página. É isso que a métrica INP avalia.

Uma boa capacidade de resposta significa que a página responde rapidamente às interações. Quando uma página responde a uma interação, o navegador apresenta feedback visual no frame seguinte que pinta. 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 e assim por diante.

Algumas interações naturalmente levam mais tempo do que outras, mas, para interações especialmente complexas, é importante apresentar rapidamente algum 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 de interface de outras operações assíncronas, mas o momento 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 o INP foi desenvolvido para ajudar os desenvolvedores a medir essa parte da experiência do usuário.

No vídeo a seguir, o exemplo à direita mostra um feedback visual imediato de que um acordeão está abrindo. Um exemplo disso é a baixa capacidade de resposta à esquerda, que mostra como isso pode criar experiências insatisfatórias para os usuários.

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, achando que a experiência não está funcionando. Quando a linha de execução principal é acessada, ela processa as entradas atrasadas, resultando no acordeão abrindo e fechando inesperadamente. À direita, uma página mais responsiva abre o acordeão rapidamente e sem incidentes.

Este guia explica como o INP funciona, como medi-lo e aponta os recursos para melhorá-lo.

O que é INP?

O INP é uma métrica que avalia a capacidade de resposta geral de uma página às interações do usuário observando a latência de todas as interações de clique, toque e teclado que ocorrem durante todo o tempo de visita do usuário à 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 pela observação de todas as interações feitas com uma página. Para a maioria dos sites, a interação com a pior latência é relatada como INP.

No entanto, em páginas com um grande número de interações, falhas aleatórias podem resultar em uma interação de latência alta anormalmente em uma página responsiva. Quanto mais interações ocorrerem em uma determinada página, maior será a probabilidade de isso acontecer.

Para avaliar melhor a capacidade de resposta real de páginas com um alto número de interações, ignoramos a maior interação para cada 50 interações. A grande maioria das experiências na página não tem mais de 50 interações. Portanto, a pior interação é informada com mais frequência. O 75o percentil de todas as visualizações de página é então informado como de costume, o que remove ainda mais os outliers para fornecer um valor que a grande maioria dos usuários experimenta ou até melhor.

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

A latência de uma interação consiste na duração mais longa de um grupo de manipuladores de eventos que conduzem a interação, 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 de INP?

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

Para garantir que você esteja oferecendo 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 em campo, segmentados em dispositivos móveis e computadores:

  • Um INP abaixo ou a 200 milissegundos significa que uma página tem boa capacidade de resposta.
  • Um INP acima de 200 milissegundos e abaixo ou a 500 milissegundos significa que a capacidade de resposta da página precisa ser melhorada.
  • Um INP acima de 500 milissegundos significa que a página tem baixa capacidade de resposta.
Os valores de INP bons têm 200 milissegundos ou menos, os valores ruins são maiores do que 500 milissegundos e qualquer coisa intermediária precisa ser melhorada.
Valores INP adequados têm 200 milissegundos ou menos. Valores ruins são maiores que 500 milissegundos.

O que há em uma interação?

Um diagrama representando uma interação na linha de execução principal. O usuário faz uma entrada e bloqueia a execução de tarefas. A entrada é adiada até que essas tarefas sejam concluídas. Depois disso, são executados os manipuladores de eventos de ponteiro, mouseup e clique. Em seguida, o trabalho de renderização e pintura é iniciado até que o próximo frame seja apresentado.
O ciclo de 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 que o próximo frame seja apresentado.

Geralmente, o principal motivador da interatividade é o JavaScript. No entanto, os navegadores oferecem interatividade por meio de controles que não têm tecnologia JavaScript, como caixas de seleção, botões de opção e controles com CSS.

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

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

As interações acontecem no documento principal ou em iframes incorporados ao documento, por exemplo, clicando para reproduzir um vídeo incorporado. Os usuários finais não sabem o que há em um iframe ou não. Portanto, o INP dentro de iframes é necessário para avaliar a experiência do usuário na página de nível superior. Como as APIs JavaScript Web não têm acesso ao conteúdo de iframes, isso pode ser exibido como uma diferença entre CrUX e 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 dela.

Representação de uma interação mais complexa contendo duas interações. O primeiro é o 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 no botão do mouse. No entanto, antes que o botão do mouse seja liberado, um frame é exibido. Quando o usuário soltar o botão do mouse, outra série de manipuladores de eventos precisa ser executada antes da apresentação do próximo frame.

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

Qual é a diferença entre o INP e a latência na primeira entrada (FID)?

O INP é a métrica sucessora da latência na primeira entrada (FID, na sigla em inglês). Embora ambas sejam métricas de capacidade de resposta, a FID só mediu 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, começando pelo 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 a INP e a FID são tipos diferentes de métricas de capacidade de resposta. Enquanto o FID era uma métrica de capacidade de resposta de carregamento (link em inglês) projetada para avaliar a primeira impressão da página no usuário, o INP é um indicador mais confiável da capacidade de resposta geral, independentemente de quando ocorrem interações na página.

E se nenhum valor de INP for informado?

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

  • A página foi carregada, mas o usuário nunca clicou, tocou ou 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 os elementos.
  • A página está sendo acessada por um bot, como um rastreador de pesquisa ou um navegador headless, que não tem um script para interagir com a página.

Como medir o INP

O INP pode ser medido tanto em campo quanto no laboratório com várias ferramentas.

Em campo

O ideal é que sua jornada de otimização do INP vai começar com os dados de campo. Na melhor das hipóteses, os dados de campo do Real User Monitoring (RUM) fornecem 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 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 está 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 os dados de campo do INP via CrUX no PageSpeed Insights (e outras Core Web Vitals). É possível ter, no mínimo, uma imagem no nível da origem do INP do seu site, mas, em alguns casos, também é possível ter dados no nível do URL.

No entanto, embora o CrUX possa informar se um problema, ele não sabe a causa. Uma solução RUM pode ajudá-lo a descobrir mais detalhes sobre páginas, usuários ou interações de usuários que estão enfrentando problemas de capacidade de resposta. Atribuir o INP a interações individuais evita adivinhações e desperdício de esforço.

No laboratório

O ideal é que você inicie o teste no laboratório assim que tiver dados de campo que sugerem que uma página tem interações lentas. No entanto, se você não tiver dados de campo, existem algumas estratégias para reproduzir interações lentas no laboratório. 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 é carregada (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 o INP

Uma coleção de guias sobre otimização de INP está disponível para orientar você no 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, são encontrados bugs nas APIs usadas para medir as métricas e, às vezes, nas próprias definições de métricas. Por isso, às vezes é preciso fazer alterações, que podem aparecer como melhorias ou regressões nos seus relatórios e painéis internos.

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

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

testar seus conhecimentos

Qual é o objetivo principal da métrica de INP?

Medir o tempo que o primeiro conteúdo de uma página leva para aparecer.
Incorreto. Isso descreve a primeira exibição de conteúdo
Para quantificar a estabilidade visual de uma página e minimizar mudanças inesperadas de layout.
Incorreto. Isso descreve Mudança de layout cumulativa.
Avaliar o tempo que leva para uma página se tornar totalmente interativa.
Incorreto: está relacionado ao tempo para interação da página, mas o INP se concentra especificamente na capacidade de resposta à entrada do usuário
Minimizar o tempo entre o momento em que um usuário inicia uma interação e a exibição do próximo frame em todas ou na maioria das interações iniciadas pelo usuário.
Correto!

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

Clicar com um mouse.
Correto!
Rolar a página com a roda do mouse ou o trackpad.
Incorreto: o INP não considera a rolagem
Tocando em uma tela touchscreen.
Correto!
Passe o cursor do mouse sobre os elementos.
Incorreto. O INP não considera passar o cursor
Pressionar uma tecla em um teclado.
Correto!
Aumentar ou diminuir o zoom na página.
Incorreto: o INP não considera o zoom

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

O tempo para o navegador processar os manipuladores de eventos de uma interação.
Incorreto. Isso 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 leva para todas as interações em uma página produzirem uma resposta visual.
Incorreto. O 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 de entrada, não o tempo de processamento e renderização.
É o tempo decorrido 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 que o primeiro conteúdo de uma página leva para ser exibido, enquanto a FID mede a capacidade de resposta à entrada do usuário.
Incorreto. Isso descreve a primeira exibição de conteúdo, não 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!
O 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. Elas 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 de medição de performance personalizada que não informa dados INP.
Incorreto: o INP é medido automaticamente usando APIs da plataforma da Web e não depende de páginas que informam a performance sobre elas 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 do CrUX.
Correto!
Os usuários interagiram com a página somente ao rolar e passar o cursor, que não são considerados para INP.
Correto!
A página foi criada usando uma estrutura que otimiza automaticamente para INP, então você não precisa informar.
Incorreto: as estruturas podem ajudar com o INP, mas a métrica ainda é relevante e será informada se houver dados 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 desempenhar um papel, os recursos do dispositivo são mais propensos a expor interações lentas
Testar interações somente depois que a página estiver totalmente carregada e inativa.
Incorreto: pode perder 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 de casos extremos que dificilmente serão encontradas pela maioria dos usuários.
Incorreto. Os fluxos de usuários comuns são mais relevantes para identificar problemas típicos de INP.

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