Fecha de publicación: 6 de mayo de 2026
A menos que se indique lo contrario, los siguientes cambios se aplican a la versión más reciente del canal beta de Chrome para Android, ChromeOS, Linux, macOS y Windows. Obtén más información sobre las funciones que se indican aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome está en versión beta desde el 6 de mayo de 2026. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store para Android.
CSS y la IU
Quita la regla explícita de la hoja de estilo del UA para el color del borde de las tablas
Este cambio quita la regla CSS border-color: gray errónea de la hoja de estilo del UA para el elemento <table>.
La especificación de HTML no contiene esta regla, lo que provoca que los bordes no se establezcan de forma predeterminada en currentColor de manera incorrecta. Ni Firefox ni Webkit tienen esta regla de color de borde gray en su hoja de estilo del UA, lo que genera problemas de interoperabilidad.
Compatibilidad con path() y shape() en shape-outside
Se agregó compatibilidad con las funciones de forma path() y shape() en la propiedad CSS shape-outside.
Estas funciones permiten que los desarrolladores definan la forma de shape-outside de manera más flexible y admiten la animación.
Se actualizó el 7 de junio de 2026 para corregir la descripción, que antes hacía referencia al uso de coordenadas de rectángulos.
Compatibilidad con rect() y xywh() en shape-outside
Se agregó compatibilidad con las funciones de forma básica rect() y xywh() en la propiedad shape-outside de CSS. Estas funciones permiten a los desarrolladores definir formas de exclusión de flotación con coordenadas de rectángulos, lo que alinea Chrome con Firefox y Safari, que ya admiten esta función.
Color de énfasis del sistema del alcance de la app web
Restringe el acceso al color de los elementos destacados del sistema para las palabras clave de CSS y accent-color: auto para que solo se encuentre dentro de una app web y el contexto del perfil inicial.
Las palabras clave de CSS AccentColor y AccentColorText representan un vector de huella digital significativo cuando se exponen ampliamente los colores del sistema del usuario en la Web. Por lo tanto, solo están disponibles en contextos de apps web instaladas. Los controles de formulario con accent-color: auto también coinciden con este alcance con el lanzamiento de esta función. Esto genera expectativas más coherentes para los desarrolladores y los usuarios en relación con los colores del sistema, y se alinea con las restricciones de huellas digitales para AccentColor[Text].
Recorta el desbordamiento de texto en la interacción del usuario
Cuando un usuario interactúa (edición o navegación con el signo de intercalación) con texto que tiene establecido text-overflow: ellipsis, el texto cambia temporalmente de puntos suspensivos a clip, lo que permite que el usuario vea el contenido oculto del desbordamiento y que interactúe con él.
Esta función se aplica a todos los elementos editables y no editables. En el caso de los controles de formulario (textarea, input), el comportamiento ya es compatible.
Decoraciones de separación de CSS
Las decoraciones de separación de CSS te permiten aplicar estilo a las separaciones en diseños de contenedores, como cuadrícula y flexbox, de manera similar a column-rule en el diseño de varias columnas. Los desarrolladores web solicitan mucho esta función, ya que actualmente deben usar soluciones alternativas para aplicar estilo a las separaciones en diseños de cuadrícula y flexbox.
image-rendering: crisp-edges
image-rendering: crisp-edges indica que la imagen se debe ajustar de forma tal que se conserven el contraste y los bordes, y que se evite suavizar los colores o introducir desenfoque en la imagen durante el proceso.
Límite superior de la seudoclase de acción del usuario
Esta función representa el comportamiento que se describe en la especificación de CSS Selectors Level 4, que indica que :hover, :active y :focus-within coinciden con los elementos superiores de los elementos, pero solo hasta el primer elemento de capa superior en la cadena de elementos superiores. El cambio para Chromium implementa esta restricción para los elementos de capa superior.
En concreto, esto significa que, en la siguiente estructura, si el usuario coloca el cursor sobre <button>, la seudoclase :hover coincidirá con <button> y la ventana emergente, pero no con el elemento <main>.
<main>
<div popover>
<button></button>
</div>
</main>
<script>document.querySelector('[popover]').showPopover();</script>
La razón de este cambio es que, por lo general, los elementos de la capa superior se renderizan "en otro lugar", en una ubicación que está desconectada visualmente del elemento principal. Por lo tanto, no suele tener sentido cambiar los diseños del elemento principal cuando se coloca el cursor sobre el elemento de la capa superior o se activa, por ejemplo.
La implementación de selección personalizable que se incluye en Chromium tiene esta lógica codificada de forma rígida para el caso específico de la ventana emergente de ::picker() de selección. Esta lógica de caso especial se quitará en favor del comportamiento más general con esta función.
Compatibilidad con path-length como propiedad de CSS
Este cambio introduce una nueva propiedad de CSS, path-length, que se asigna al atributo de presentación pathLength de SVG existente. Se aplica a los elementos de geometría SVG que admiten pathLength (incluidos <path>, <circle>, <rect>, <line>, <polyline>, <polygon> y <ellipse>).
Exponer pathLength como una propiedad de CSS permite a los autores especificarla en hojas de estilo, estilos intercalados y animaciones, lo que permite que participe en la cascada, la especificidad, las transiciones y las animaciones normales de CSS. La propiedad afecta todos los cálculos que dependen de la longitud total de la ruta de acceso, incluido el renderizado de guiones de trazo y el posicionamiento del texto a lo largo de un <textPath>.
Las declaraciones de CSS anulan el atributo de presentación según las reglas de precedencia estándar de CSS. El valor inicial de path-length es none, que representa la ausencia de una longitud de ruta proporcionada por el autor y es distinto de un valor numérico explícito, como 0.
Cuando se inhabilita la función, se conserva el comportamiento existente solo para los atributos.
API web
Intl.Locale.prototype.variants
Agrega Intl.Locale.prototype.variants como se indica en la propuesta de TC39 y también acepta "variants" en la bolsa de opciones en el constructor Intl.Locale como en la actualización del ID de idioma de TC39. Los cambios en ECMA402 se combinan en la solicitud de extracción 960 y el código de prueba en test262 se combina en la solicitud de extracción 4474.
Promesas de desplazamiento programáticas
Actualmente, los desarrolladores web no tienen forma de saber cuándo se completó un desplazamiento suave programático. Esta función proporciona una solución al problema: hacer que los métodos de desplazamiento programático muestren objetos Promise que se resuelven cuando se completa el desplazamiento con el estado de interrupción.
Payment Request: Permite que los controladores de pago informen errores internos
Permite que los controladores de pagos a los que se accede con la API de Payment Request muestren errores distintos para "el usuario canceló" y "error interno de la app de pagos". Esto permite que los desarrolladores web creen mejores flujos para los usuarios, por ejemplo, reintentando o recurriendo a un flujo diferente cuando se produce un error interno de la app, y deteniendo correctamente el flujo si el usuario quiere cancelar.
La API de Payment Handler basada en la Web puede indicar esta diferencia según el error que use para rechazar la promesa que se pasó a PaymentRequestEvent.respondWith.
Si la promesa se rechaza con un OperationError, se devuelve "internal app error" (OperationError) al comercio con el método PaymentRequest.show(). De lo contrario, se devuelve "user cancel" (AbortError).
La infraestructura del controlador de pagos de la aplicación nativa también se actualizó de manera similar, pero está fuera del alcance de las APIs web.
Se respeta autocorrect="off" para el teclado táctil de Windows en TSF
El atributo autocorrect de HTML permite a los autores web controlar si se debe aplicar la autocorrección a la entrada del usuario en elementos editables, incluidos <input>, <textarea> y hosts contenteditable. En Windows, el teclado táctil ignora este atributo y siempre corrige automáticamente las palabras. Por ejemplo, escribir "truf" seguido de un espacio en un elemento con autocorrect="off" genera "true " en lugar de conservar "truf ". Esta función hace que la integración de TSF de Chrome detecte y revierta las autocorrecciones del teclado táctil cuando el elemento editable enfocado tiene establecido autocorrect="off".
Desconecta WebSockets en la entrada de bfcache
Las conexiones WebSocket activas ya no impiden que una página ingrese a la memoria caché atrás/adelante (bfcache). Al cerrar las conexiones en la entrada de la bfcache en lugar de marcar el documento como no apto, el navegador permite que se almacenen y restablezcan las páginas con websockets activos.
Atributo Request.isReloadNavigation
Se agrega el atributo booleano de solo lectura isReloadNavigation a la interfaz Request de la API de Fetch. Este atributo indica si la solicitud de navegación actual se inició como una recarga activada por el usuario (por ejemplo, con el botón de actualización, location.reload() o history.go(0)). Este indicador se expone principalmente en el objeto Request dentro del FetchEvent de un Service Worker.
Inhabilita los filtros SVG en complementos y en iframes restringidos y de origen cruzado
Con este lanzamiento, se evita que se apliquen filtros SVG a iframes restringidos o de origen cruzado (por ejemplo, iframes en zona de pruebas) y a complementos incorporados (por ejemplo, PDFs). Cuando un iframe o un complemento se pintan con un efecto de filtro SVG, se recorre el árbol de efectos para encontrar el ancestro más alto sin filtros SVG y, luego, se aplica ese efecto.
Nuevas pruebas de origen
En Chrome 149, puedes habilitar las siguientes nuevas pruebas de origen.
Política de permisos: focus-without-user-activation
Permite que los integradores controlen el enfoque programático del contenido incorporado con la política de permisos focus-without-user-activation. Cuando se rechaza la política para un frame, se bloquean las llamadas de enfoque programático (element.focus(), autofocus, window.focus(), dialog.showModal() y enfoque de elementos emergentes), a menos que se activen por la activación del usuario. El enfoque iniciado por el usuario, como hacer clic o presionar la tecla Tab, nunca se ve afectado.
La política se puede establecer con un encabezado de respuesta HTTP Permissions-Policy o el atributo allow del iframe. Se admite la delegación del enfoque: Un marco principal que tiene el enfoque puede pasar el enfoque de forma programática a un iframe secundario, incluso si se denegó la política del secundario. Una vez que un marco tiene el enfoque, puede moverlo dentro de su propio subárbol.
API de entrada basada en eventos del gamepad
Esta propuesta extiende la API de Gamepad con un nuevo modelo basado en eventos que permite que las aplicaciones reciban entrada del gamepad con una latencia más baja. En lugar de depender de un sondeo frecuente con navigator.getGamepads(), los desarrolladores ahora pueden escuchar un evento rawgamepadinputchange, que se activa cada vez que hay nuevos datos de entrada disponibles desde el dispositivo. Esto permite un manejo de entrada más responsivo, en especial en aplicaciones sensibles a la latencia.
Descriptores personalizados de WebAssembly
Permite que WebAssembly almacene datos asociados con tipos a nivel de la fuente de manera más eficiente en nuevos objetos de descriptores personalizados. Estos descriptores personalizados se pueden configurar con prototipos para los objetos WebAssembly de ese tipo a nivel de la fuente. Esto permite que los métodos se instalen en la cadena de prototipos de un objeto de WebAssembly y se llamen directamente desde JavaScript con la sintaxis normal de llamada de método. Los prototipos y los métodos se pueden configurar de forma declarativa con una función integrada importada.