Interacción a la siguiente pintura (INP)

Navegadores compatibles

  • 96
  • 96
  • x
  • x

Origen

Los datos de uso de Chrome muestran que el 90% del tiempo que un usuario pasa en una página después de que se carga. Por lo tanto, es importante medir cuidadosamente la capacidad de respuesta durante el ciclo de vida de la página. Esto es lo que evalúa la métrica INP.

Una buena capacidad de respuesta significa que una página responde rápidamente a las interacciones. Cuando una página responde a una interacción, el navegador presenta comentarios visuales en el siguiente fotograma que pinta. Los comentarios visuales te indican, por ejemplo, si un artículo que agregas a un carrito de compras en línea, en efecto, se está agregando, si se abrió un menú de navegación móvil, si el servidor autentica el contenido de un formulario de acceso, etcétera.

Algunas interacciones naturalmente tardan más que otras, pero para interacciones especialmente complejas, es importante presentar rápidamente algunos comentarios visuales iniciales para indicarle al usuario que algo está sucediendo. El siguiente marco que pintará el navegador es la primera oportunidad para hacerlo.

Por lo tanto, la intención de INP no es medir todos los efectos eventuales de una interacción (como las recuperaciones de red y las actualizaciones de IU de otras operaciones asíncronas), sino el tiempo en el que se bloquea la pintura next. Al retrasar los comentarios visuales, los usuarios pueden tener la impresión de que la página no responde lo suficientemente rápido, y INP se desarrolló para ayudar a los desarrolladores a medir esta parte de la experiencia del usuario.

En el siguiente video, el ejemplo de la derecha brinda información visual inmediata sobre la apertura de un acordeón. Una mala capacidad de respuesta se demuestra en el ejemplo de la izquierda y cómo puede crear experiencias del usuario deficientes.

. Un ejemplo de capacidad de respuesta deficiente frente a buena. A la izquierda, las tareas largas impiden que se abra el acordeón. En consecuencia, el usuario hace clic varias veces, pensando que la experiencia no funciona. Cuando el subproceso principal se pone al día, procesa las entradas retrasadas, lo que hace que el acordeón se abra y se cierre de forma inesperada. A la derecha, una página más responsiva abre el acordeón rápidamente y sin incidentes.

Esta guía explica cómo funciona INP, cómo medirlo y señala recursos para mejorarlo.

¿Qué es INP?

INP es una métrica que evalúa la capacidad de respuesta general de una página ante las interacciones del usuario mediante la observación de la latencia de todas las interacciones de clic, presión y teclado que ocurren durante la visita del usuario a una página. El valor final de la INP es la interacción más larga observada, sin tener en cuenta los valores atípicos.

Detalles sobre cómo se calcula el INP

El INP se calcula observando todas las interacciones realizadas con una página. Para la mayoría de los sitios, la interacción con la peor latencia se registra como INP.

Sin embargo, en el caso de las páginas con grandes cantidades de interacciones, los errores aleatorios pueden provocar una interacción de latencia inusualmente alta en una página que, de otro modo, sería responsiva. Cuantas más interacciones ocurran en una página determinada, más probabilidades hay de que suceda.

Para ofrecer una mejor medición de la capacidad de respuesta real de las páginas con una gran cantidad de interacciones, ignoramos la interacción más alta por cada 50 interacciones. La gran mayoría de las experiencias de página no tiene más de 50 interacciones, por lo que se suele registrar la peor interacción. Luego, el percentil 75 de todas las vistas de página se informa de la forma habitual, por lo que se quitan aún más los valores atípicos para ofrecer un valor que sea mejor o que la gran mayoría de los usuarios experimentan.

Una interacción es un grupo de controladores de eventos que se activan durante el mismo gesto lógico del usuario. Por ejemplo, "tocar" las interacciones en un dispositivo con pantalla táctil incluyen varios eventos, como pointerup, pointerdown y click. Una interacción se puede impulsar a través de JavaScript, CSS, controles integrados del navegador (como elementos del formulario) o una combinación de ellos.

La latencia de una interacción consiste en la duración única más larga de un grupo de controladores de eventos que impulsan la interacción, desde el momento en que el usuario comienza la interacción hasta el momento en que el navegador pinta el siguiente fotograma.

¿Qué es una buena puntuación de INP?

Fijar etiquetas, como "buena" o "deficiente" en una métrica de capacidad de respuesta es difícil. Por un lado, debes fomentar prácticas de desarrollo que prioricen la buena capacidad de respuesta. Por otro lado, debes tener en cuenta que existe una variabilidad considerable en las capacidades de los dispositivos que usan las personas para establecer expectativas de desarrollo alcanzables.

Para garantizar experiencias del usuario con una buena capacidad de respuesta, un buen umbral para medir es el percentil 75 de las cargas de páginas registradas en el campo, segmentadas entre dispositivos móviles y computadoras de escritorio:

  • Un INP inferior o a 200 milisegundos significa que una página tiene buena capacidad de respuesta.
  • Un INP superior a 200 milisegundos e inferior a 500 milisegundos significa que la capacidad de respuesta de una página debe mejorar.
  • Un INP superior a 500 milisegundos significa que una página tiene una capacidad de respuesta deficiente.
Los valores de INP buenos son de 200 milisegundos o menos, los valores deficientes son superiores a 500 milisegundos y cualquier punto intermedio debe mejorar. .
Los valores correctos de INP son de 200 milisegundos o menos. Los valores deficientes son superiores a 500 milisegundos.

¿Qué hay en una interacción?

Un diagrama que muestra una interacción en el subproceso principal. El usuario realiza una entrada mientras bloquea la ejecución de las tareas. La entrada se retrasa hasta que se completan esas tareas, después de lo cual se ejecutan los controladores de eventos de punteroup, mouseup y clic, y luego se inicia el trabajo de renderización y pintura hasta que se presenta el siguiente fotograma.
Ciclo de una interacción. Se produce un retraso de entrada hasta que los controladores de eventos comienzan a ejecutarse, posiblemente debido a factores como las tareas largas en el subproceso principal. Luego, se ejecutan las devoluciones de llamada del controlador de eventos de la interacción, y se produce un retraso antes de que se presente el siguiente fotograma.

A menudo, el principal impulsor de la interactividad es JavaScript, aunque los navegadores la proporcionan mediante controles que no funcionan con JavaScript, como casillas de verificación, botones de selección y controles con tecnología CSS.

Para los fines de INP, solo se observan los siguientes tipos de interacción:

  • Hacer clic con un mouse
  • Presionar un dispositivo con pantalla táctil
  • Presionar una tecla en un teclado físico o en pantalla

Las interacciones ocurren en el documento principal o en los iframes incorporados en el documento; por ejemplo, cuando se hace clic en el botón de reproducción de un video incorporado. Los usuarios finales no sabrán qué se incluye en un iframe o no, por lo tanto, la INP dentro de los iframes es necesaria para medir la experiencia del usuario en la página de nivel superior. Debido a que las APIs web de JavaScript no tienen acceso al contenido de iframes, esto puede mostrarse como una diferencia entre CrUX y RUM

Las interacciones pueden constar de varios eventos. Por ejemplo, una combinación de teclas incluye los eventos keydown, keypress y keyup. Las interacciones de presión contienen eventos pointerup y pointerdown. El evento con la mayor duración en la interacción es lo que contribuye a la latencia total de la interacción.

Representación de una interacción más compleja que contiene dos interacciones. El primero es un evento mousedown, que genera un fotograma antes de que se suelte el botón del mouse, lo que inicia más trabajo hasta que se presenta otro fotograma como resultado.
Representación de una interacción con varios controladores de eventos. La primera parte de la interacción recibe una entrada cuando el usuario hace clic en un botón del mouse. Sin embargo, antes de que suelten el botón del mouse, se presenta un marco. Cuando el usuario suelta el botón del mouse, se debe ejecutar otra serie de controladores de eventos antes de que se presente el siguiente fotograma.

El INP de la página se calcula cuando el usuario abandona la página. El resultado es un valor único que representa la capacidad de respuesta general de la página durante todo su ciclo de vida. Un INP bajo significa que una página respondió de manera confiable a las entradas del usuario.

¿En qué se diferencia INP del retraso de primera entrada (FID)?

INP es la métrica sucesora de Retraso de primera entrada (FID). Si bien ambas son métricas de capacidad de respuesta, FID solo midió el retraso de entrada de la primera interacción en una página. INP mejora el FID observando todas las interacciones de una página, desde el retraso de entrada hasta el tiempo que tarda en ejecutar los controladores de eventos y, por último, hasta que el navegador haya pintado el siguiente fotograma.

Estas diferencias significan que tanto INP como FID son tipos de métricas de capacidad de respuesta diferentes. Mientras que FID era una métrica de capacidad de respuesta a la carga diseñada para evaluar la primera impresión de la página en el usuario, INP es un indicador más confiable de la capacidad de respuesta general, independientemente del momento en el que ocurren las interacciones en una página.

¿Qué sucede si no se informa ningún valor del INP?

Es posible que una página no muestre ningún valor de INP. Esto puede ocurrir por varios motivos, entre los que se incluyen los siguientes:

  • Se cargó la página, pero el usuario nunca hizo clic, presionó ni presionó una tecla del teclado.
  • Se cargó la página, pero el usuario interactuó con ella mediante gestos no medidos, como desplazarse o colocar el cursor sobre elementos.
  • Un bot (como un rastreador de búsqueda o un navegador sin interfaz gráfica) al que accede a la página no se le indicó que interactúe con la página.

Cómo medir el INP

El INP se puede medir tanto en el campo como en el lab, en la medida en que puedas simular interacciones realistas entre los usuarios.

En el campo

Idealmente, tu recorrido para optimizar el INP comenzará con los datos de campo. En el mejor de los casos, los datos de campo de Real User Monitoring (RUM) no solo te proporcionarán el valor INP de una página, sino también datos contextuales que destacan qué interacción específica fue responsable del valor de INP, si la interacción ocurrió durante o después de la carga de la página, el tipo de interacción (clic, pulsación de teclas o toque) y otros tiempos valiosos que pueden ayudarte a identificar qué parte de la interacción afectó la capacidad de respuesta.

Si tu sitio web cumple con los requisitos para incluirse en el Informe sobre la experiencia del usuario en Chrome (CrUX), puedes obtener rápidamente datos de campo para INP a través de CrUX en PageSpeed Insights (y otras Métricas web esenciales). Como mínimo, puedes obtener una imagen a nivel del origen del INP de tu sitio web, pero, en algunos casos, también puedes obtener datos a nivel de la URL.

Sin embargo, si bien CrUX puede indicarte si hay un problema, no puede indicarte cuál es la causa. Una solución de RUM puede ayudarte a descubrir más detalles sobre las páginas, los usuarios o las interacciones de los usuarios que tienen problemas de capacidad de respuesta. Poder atribuir INP a interacciones individuales evita conjeturas y esfuerzo desperdiciado.

En el laboratorio

Lo ideal es comenzar a realizar pruebas en el lab una vez que tengas datos de campo que sugieran que una página tiene interacciones lentas. Los datos de campo harán que el trabajo de reproducir interacciones problemáticas en el lab sea una tarea mucho más sencilla.

Sin embargo, es completamente posible que no tengas datos de campo. Si bien el INP puede medirse en algunas herramientas de laboratorio, el valor de INP resultante de una página durante las pruebas de laboratorio dependerá de las interacciones que se realicen durante el período de medición. Los comportamientos de los usuarios pueden ser impredecibles y muy variables, por lo que es posible que las pruebas que realices en el lab no muestren las interacciones con los problemas como lo hacen los datos de campo. Además, algunas herramientas del lab no informarán el INP de una página porque solo observan la carga de una página sin ninguna interacción. En esos casos, el Tiempo de bloqueo total (TBT) puede ser una métrica representativa razonable para INP, pero no es un sustituto del INP en sí mismo.

Si bien existen limitaciones en las herramientas del lab para evaluar el INP de una página, existen algunas estrategias para reproducir interacciones lentas en el lab. Las estrategias incluyen seguir flujos de usuarios comunes y probar interacciones durante el proceso, así como interactuar con la página mientras se carga (cuando el subproceso principal suele estar más ocupado) para identificar interacciones lentas durante esa parte crucial de la experiencia del usuario.

Cómo mejorar el INP

Hay una colección de guías sobre cómo optimizar el INP disponible para guiarte a través del proceso de identificar interacciones lentas en el campo y usar los datos de los labs para identificar las causas y optimizarlas.

Registro de cambios

En ocasiones, se descubren errores en las APIs que se usan para medir las métricas y, a veces, en las definiciones de las métricas. Como resultado, es necesario realizar cambios a veces, y estos pueden aparecer como mejoras o regresiones en tus informes y paneles internos.

Para ayudarte a administrar esto, todos los cambios que realices en la implementación o definición de estas métricas se mostrarán en este Registro de cambios.

Si tienes comentarios sobre estas métricas, envíalos al grupo de Google web-vitals-feedback.

Ponga a prueba sus conocimientos

¿Cuál es el objetivo principal de la métrica INP?

Permite medir el tiempo que tarda en aparecer el primer contenido de una página.
Incorrecto: Describe el primer procesamiento de imagen con contenido.
Para cuantificar la estabilidad visual de una página y minimizar los cambios de diseño inesperados.
Incorrecto: Describe el Cambio de diseño acumulado.
Para evaluar el tiempo que tarda una página en volverse totalmente interactiva.
Incorrecto: Esto está relacionado con el tiempo de carga, pero INP se enfoca específicamente en la capacidad de respuesta a las entradas del usuario
Para minimizar el tiempo que transcurre desde que un usuario inicia una interacción hasta que se pinta el siguiente fotograma, para todas o la mayoría de las interacciones que inicia el usuario.
Correcto.

¿Cuál de los siguientes tipos de interacción se observa para calcular el INP? (Selecciona todas las opciones que correspondan).

Hacer clic con un mouse
Correcto.
Desplazamiento por la página con la rueda del mouse o el panel táctil
Incorrecto: INP no considera desplazarse
Presionar una pantalla táctil
Correcto.
Desplaza el cursor del mouse sobre los elementos.
Incorrecto: INP no considera colocar el cursor sobre un elemento
Presionar una tecla en un teclado
Correcto.
Acercar o alejar la página
Incorrecto: INP no considera el zoom.

¿Cómo es la “latencia” de una interacción definida para INP?

Es la cantidad de tiempo que el navegador tarda en procesar los controladores de eventos de una interacción.
Incorrecto: Solo tiene en cuenta la duración del procesamiento, no el retraso de entrada ni el tiempo para presentar el siguiente fotograma.
Es el tiempo promedio que tardan todas las interacciones en una página en producir una respuesta visual.
Incorrecto: INP se enfoca en la interacción más larga, no en el promedio.
Es el tiempo que tarda el navegador en comenzar a procesar los controladores de eventos asociados con una interacción.
Incorrecto: Esto solo considera el retraso de entrada, no el tiempo de procesamiento y renderización.
El tiempo desde el inicio de la interacción hasta el momento en que se presenta por completo el siguiente fotograma.
Correcto.

¿Cuál es la diferencia entre INP y FID?

INP mide el tiempo que tarda en aparecer el primer contenido de una página, mientras que FID mide la capacidad de respuesta a la entrada del usuario.
Incorrecto: Esto describe el primer procesamiento de imagen con contenido, no el INP.
INP considera la duración total de todas las interacciones, mientras que FID solo mide el retraso de entrada de la primera interacción.
Correcto.
INP y FID miden las diferentes marcas de tiempo en las que una página se vuelve interactiva.
Incorrecto: INP y FID son mediciones de la rapidez con la que la página responde a las interacciones, independientemente de cuándo se producen.
No hay diferencia; INP y FID son solo dos nombres diferentes para la misma métrica.
Incorrecto: Tienen definiciones distintas

¿En qué circunstancias podrían no estar disponibles los datos del INP para una página en herramientas como PageSpeed Insights?

La página utiliza una biblioteca de medición del rendimiento personalizada que no registra datos de INP.
Incorrecto: INP se mide automáticamente con las APIs de la plataforma web y no depende de páginas que autoinforman su rendimiento a través de bibliotecas personalizadas.
No hay suficientes datos de interacción de los usuarios de Chrome para calcular un valor de INP significativo en el conjunto de datos CrUX.
Correcto.
Los usuarios interactuaron con la página únicamente al desplazarse y desplazarse sobre un elemento, lo cual no se considera para INP.
Correcto.
La página se crea con un framework que se optimiza automáticamente para INP, por lo que no es necesario informarlo.
Incorrecto: Los frameworks pueden ayudar con el INP, pero la métrica sigue siendo relevante y se informa si hay datos disponibles.

¿Cuál es la estrategia más efectiva para reproducir interacciones lentas en un entorno de lab?

Simular un dispositivo de alta gama con una conexión de red lenta y poco confiable para crear condiciones desafiantes
Incorrecto: Si bien la red puede desempeñar una función específica, es más probable que las capacidades del dispositivo expongan interacciones lentas.
Se prueban las interacciones solo después de que la página se haya cargado por completo y esté inactiva.
Incorrecto: Es posible que se pasen por alto interacciones que son lentas durante la carga
Interactuar con la página durante la carga y seguir los flujos de usuarios comunes para identificar posibles cuellos de botella
Correcto.
Centrarse en interacciones complejas de casos extremos que es poco probable que la mayoría de los usuarios encuentren
Incorrecto: Los flujos de usuarios comunes son más relevantes para identificar problemas de INP típicos.

Este cuestionario lo generó Gemini 1.5 y lo revisaron personas. Comparte tus comentarios