Compat 2021: Eliminación de las cinco dificultades principales de compatibilidad en la Web

Google está trabajando con otros proveedores de navegadores y socios de la industria para solucionar los cinco principales problemas de compatibilidad del navegador para desarrolladores web: CSS flexbox, CSS Grid, position: sticky, aspect-ratio y las transformaciones de CSS.

Google está trabajando con otros proveedores de navegadores y socios de la industria para solucionar los cinco problemas principales de compatibilidad con navegadores para los desarrolladores web. Las áreas de enfoque son CSS flexbox, CSS Grid, position: sticky, aspect-ratio y las transformaciones de CSS. Consulta Cómo puedes contribuir y continuar para saber cómo participar.

Información general

La compatibilidad en la Web siempre ha sido un gran desafío para los desarrolladores. En los últimos años, Google y otros socios, incluidos Mozilla y Microsoft, se dispusieron a obtener más información sobre los principales problemas para los desarrolladores web, a fin de mejorar nuestro trabajo y establecer prioridades para mejorar la situación. Este proyecto está conectado con el trabajo de Satisfacción para desarrolladores de Google (DevSAT), que comenzó a mayor escala con la creación de las encuestas de MDN sobre ADN (evaluación de las necesidades del desarrollador) en 2019 y 2020, y un esfuerzo de investigación detallado presentado en el Informe de compatibilidad con navegadores MDN de 2020. Se realizaron investigaciones adicionales en varios canales, como las encuestas State of CSS y State of JS.

El objetivo en 2021 es eliminar los problemas de compatibilidad con los navegadores en cinco áreas clave de enfoque para que los desarrolladores puedan basarse en ellos con confianza como bases confiables. Esta iniciativa se denomina #Compat 2021.

Elegir en qué enfocarte

Si bien hay problemas de compatibilidad con los navegadores en todas las plataformas web, el enfoque de este proyecto se centra en una pequeña cantidad de las áreas más problemáticas que se pueden mejorar de forma significativa y, así, quitarlas como problemas principales para los desarrolladores.

El proyecto de compatibilidad usa varios criterios que influyen en las áreas que se deben priorizar, incluidos los siguientes:

Las cinco áreas de interés principales de 2021

En 2020, Chromium comenzó a trabajar en las áreas principales que se describen en Cómo mejorar la compatibilidad de los navegadores Chromium en 2020. En 2021, comenzamos un esfuerzo específico para ir aún más lejos. Google y Microsoft trabajan en conjunto para abordar los problemas principales de Chromium, junto con Igalia. Igalia, que es colaboradora habitual de Chromium y WebKit, y encargado de mantenimiento del puerto oficial de WebKit para dispositivos incorporados, brinda apoyo y participa en estos esfuerzos de compatibilidad, y ayudará a abordar y hacer un seguimiento de los problemas identificados.

Estas son las áreas que nos comprometemos a corregir en 2021.

Flexbox de CSS

Flexbox de CSS se usa ampliamente en la Web, y los desarrolladores aún enfrentan grandes desafíos. Por ejemplo, Chromium y WebKit tuvieron problemas con contenedores flexibles de auto-height, lo que provocaba que las imágenes tuvieran un tamaño incorrecto.

Foto estirada de un tablero de ajedrez
El tamaño de la imagen no es correcto debido a errores.
Tablero de ajedrez.
Imagen con el tamaño correcto.
Foto de Alireza Mahmoudi.

En la entrada de blog de Flexbox Cats de Igalia, se profundiza en estos problemas con muchos ejemplos más.

Por qué se prioriza

Cuadrícula de CSS

La cuadrícula de CSS es un componente fundamental de los diseños web modernos, que reemplaza muchas técnicas y soluciones alternativas anteriores. A medida que aumenta la adopción, es necesario que sea sólida, de modo que las diferencias entre los navegadores nunca sea un motivo para evitarlo. Falta la capacidad de animar diseños de cuadrícula, que se admite en Gecko, pero no en Chromium ni WebKit. Si se admite, los efectos como este son posibles:

Demostración animada de ajedrez de Chen Hui Jing.

Por qué se prioriza

Posición de CSS: fija

El posicionamiento fijo permite que el contenido se adhiera al borde del viewport y se suele usar para encabezados que siempre están visibles en la parte superior del viewport. Si bien es compatible con todos los navegadores, existen casos de uso comunes en los que no funciona según lo previsto. Por ejemplo, los encabezados de tablas fijas no son compatibles con Chromium y, aunque ahora se admiten detrás de una marca, los resultados no son coherentes en todos los navegadores:

Chromium con "TablesNG"
Gecko
WebKit

Mira la demostración de encabezados de tabla fijos de Rob Flack.

Por qué se prioriza

Propiedad de la relación de aspecto de CSS

La nueva propiedad de CSS aspect-ratio facilita mantener una relación de ancho y altura coherente para los elementos, lo que quita la necesidad del conocido hackeo de padding-top:

Usa padding-top
.container {
  width: 100%;
  padding-top: 56.25%;
}
Cómo usar la relación de aspecto
.container {
  width: 100%;
  aspect-ratio: 16 / 9;
}

Debido a que es un caso de uso tan común, se espera que se use ampliamente, y queremos asegurarnos de que sea sólido en todas las situaciones comunes y en todos los navegadores.

Por qué se prioriza

  • Encuestas: Ya son muy conocidas, pero aún no se usan ampliamente en el estado de CSS.
  • Pruebas: 27% aprobado en todos los navegadores
  • Uso: 3% y se espera que crezca

Transformaciones de CSS

Las transformaciones de CSS son compatibles con todos los navegadores desde hace muchos años y se usan ampliamente en la Web. Sin embargo, todavía quedan muchas áreas en las que no funcionan de la misma manera en todos los navegadores, en particular con las animaciones y las transformaciones 3D. Por ejemplo, un efecto de giro de tarjetas puede ser muy inconsistente en los navegadores:

Efecto de giro de tarjetas en Chromium (izquierda), Gecko (centro) y WebKit (derecha). Demostración de David Baron basada en un comentario de error.

Por qué se prioriza

Cómo puedes contribuir y seguir las tendencias

Sigue y comparte las actualizaciones que publiquemos en @ChromiumDev o la lista de distribución pública,Compat 2021. Asegúrate de que existan errores o infórmalos en caso de los problemas que hayas experimentado. Si falta algo, comunícate con nosotros a través de los canales anteriores.

Habrá actualizaciones periódicas sobre el progreso aquí en web.dev, y también podrás seguir el progreso de cada área de enfoque en el Panel de Compatibilidad 2021.

Panel de Compat 2021
El panel Compat 2021 (captura de pantalla tomada el 16 de noviembre de 2021).

Esperamos que este esfuerzo coordinado entre los proveedores de navegadores para mejorar la confiabilidad y la interoperabilidad te ayude a crear contenido increíble en la Web.