Después del lanzamiento repleto de funciones de Safari 15.4 hace dos meses, el trabajo de WebKit para esta versión de Safari se centró principalmente en pulir las funciones existentes y corregir errores.
Safari 15.5 contiene tres nuevas tecnologías para desarrolladores web: soporte para la inertpropiedad en HTML; soporte para la worker-srcdirectiva de Política de seguridad de contenido; y las API nuevas minimumViewportInsety maximumViewportInsetpara implementar nuevas unidades de ventana gráfica CSS en aplicaciones basadas en WKWebView.
Safari 15.5 está disponible para macOS Monterey 12.4, macOS Big Sur, macOS Catalina, iPadOS 15.5 e iOS 15.5. Puede actualizar a Safari 15.5 en macOS Big Sur y macOS Catalina yendo a Preferencias del sistema → Actualización de software → Más información y eligiendo actualizar Safari.
Características del desarrollador
Veamos primero el atributo HTML
inert
. Cuando se establece en un elemento, el atributo hace que ese elemento no sea interactivo al evitar el enfoque del mouse y el teclado, los clics, las ediciones o la selección de texto. También oculta el elemento de las tecnologías de asistencia.
A continuación, veamos la compatibilidad con
worker-src
el nivel 3 de la política de seguridad de contenido.
La
worker-src
directiva brinda a los desarrolladores web una forma de restringir qué URL pueden ser fuentes de scripts de trabajo (Worker, SharedWorker o ServiceWorker).
Esto se puede usar para evitar que los scripts ya cargados carguen más scripts en forma de trabajadores, una situación que tiene el potencial de ser susceptible a un ataque malicioso mediante el uso excesivo de CPU para el cálculo.
También actualizamos el inicio de sesión de la consola de Política de seguridad de contenido en Web Inspector.
Y por último, hemos agregado las API
minimumViewportInset
y
maximumViewportInset
a WKWebView para que los desarrolladores de aplicaciones puedan agregar soporte para todas las nuevas Unidades de ventana gráfica CSS a su navegador u otra aplicación en iOS, iPadOS y macOS.
El
minimumViewportInset
corresponde a la medida grande y
maximumViewportInset
corresponde a la medida pequeña.
Las nuevas Unidades de visualización de CSS, que se incluyeron en Safari 15.4, incluyen unidades pequeñas (
svw
,
svh
,
svi
,
svb
,
svmin
,
svmax
), grandes (
lvw
,
lvh
,
lvi
,
lvb
,
lvmin
,
lvmax
), dinámicas (
dvw
,
dvh
,
dvi
,
dvb
,
dvmin
,
dvmax
) y lógicas (
vi
,
vb
).
Arreglos y Pulido
Ahora, vayamos a la lista de correcciones de errores y mejoras de funciones.
HTML
- Se corrigieron las etiquetas SVG detrás de los cuadros de diálogo modales para que no se pueda hacer clic
- Se corrigió el elemento de diálogo que solo se animaba una vez.
- Se corrigió la representación de un USDZ cargado como recurso principal
- Se corrigió la carga de archivos “.pages” en entradas de archivos que aceptan archivos “.pages” y “.jpeg”
API web
- Se evitó que BroadcastChannel se comunicara a través de distintos orígenes opacos
- Se corrigió el respeto de las políticas del sitio web durante el intercambio de procesos basado en COOP
- Fijo
PointerEvent.movementX
siempre 0 - Se corrigió la resolución de una promesa de búsqueda cuando una página ingresa al caché de la página
- Se corrigieron los eventos de puntero para realizar una prueba de acierto solo si no hay una anulación de destino de captura de puntero
- Se corrigió la computación del sitio para las cookies cuando el documento es creado por
window.open
- Corregido
Element.focus({preventScroll: true})
para evitar correctamente el desplazamiento en iOS
CSS
- Desplazamiento fijo
background-attachement: fixed
- Fijo
background-clip: text
para trabajar condisplay: flex
- Representación fija para muchos
position: sticky
elementos . - Elementos fijos
position: sticky
que se mueven incorrectamente mientras se desplaza - Se corrigieron los contenidos de texto
<span>
con opacidad que no se actualizan cuando un elemento hermano tienewill-change: transform
- Se corrigió
:focus-visible
la coincidencia en el elemento incorrecto cuando se enfoca a través de un script - Se
text-shadow
corrigió el recorte - Comportamiento fijo de un
position: sticky
elemento dentrocontain: paint
- Fijo
aspect-ratio
con anchos porcentuales - Se corrigió la devolución del estilo calculado predeterminado para elementos sin las abreviaturas
transition
oanimation
Autenticación
- Implementación alineada de WebAuthn para que coincida con las especificaciones para usar la
pubKeyCredParams
lista predeterminada si la listamakeCredential
está vacía
Política de seguridad de contenido
- Se corrigió el bloqueo del contenido de la imagen en los elementos del objeto.
- Se corrigió el envío de informes de infracción al documento para un elemento separado
- Ocultación de nonce mejorada del DOM
- Gestión actualizada de la política de seguridad de contenido de las URL de JavaScript
Medios de comunicación
- Rotación de teclas fija para audio de una sola tecla en EME moderno emparejado con un reproductor HLS nativo
- Se corrigió el control espacial del Centro de control deshabilitado al reproducir un video en Safari
- Se corrigió la carga de un modelo en QuickLook al pasar parámetros adicionales
- Se corrigió el video silenciado que a veces se pausaba cuando se llevaba a pantalla completa
- Reproducción de video fija en iPhone 7
- Reproducción de video fija para codificaciones de contenido HEVC que generan muchos cuadros b con una amplia ventana deslizante
- Se corrigió la transmisión HLS currentTime a veces saltando hacia atrás
- Se corrigió que hacer clic en la barra de progreso a menudo pausaba un video de YouTube
- Se corrigieron los videos de blob que se ralentizaban para pausar
- Se corrigió el eco de audio después de que la cámara se detuvo o detuvo.
- Se corrigió la reproducción de audio incrustado HTML5 con solicitudes de rango ilimitadas
- Se corrigió que el póster de video desapareciera prematuramente en el juego, dejando un elemento de video transparente
WebRTC
- Se corrigió la etiqueta incorrecta devuelta por getUserMedia independientemente del idioma seleccionado
- Latencia de audio percibida reducida
Representación
- Ajuste de texto fijo para ventanas que superan un cierto ancho
- Se solucionó un problema de representación de fuente web coreana
- Se solucionó un problema por el cual un cambio de transformación a veces resultaba en una mala representación.
- Se corrigió un destello de contenido de texto faltante con animaciones relacionadas con la transformación
- Se cambió para usar
colgroup
para el tamaño de la tabla cuando viene despuésthead
de ,tbody
,tfoot
otr
elementos - Se corrigieron dos marcas de tono bopomofo para moverse al lugar correcto en el texto vertical con una fuente bopomofo particular
Apple Pay
- Se corrigió Apple Pay para volver
billingContact
a iOS
WebGL
- Se corrigió la representación de WebGL cuando se usa
preserveDrawingBuffer
en iOS - Se corrigieron una serie de problemas relacionados con el muestreo múltiple que estaban rompiendo una gran cantidad de contenido WebGL
- Se corrigió el manejo de TypedArray con AllowShared para ser aceptado
- Se corrigió la validación de WEBGL_multi_draw
inspector web
- Se corrigió el manejo de mensajes grandes desde dispositivos remotos
- Apertura y cierre repetidos fijos
Compatibilidad
- Se corrigió el lanzamiento de Microsoft Teams desde Safari
SFSafariViewController
- Se corrigió un retraso notable en la reproducción al rotar un video de YouTube a pantalla completa.
Extensiones de Safari
- Se corrigió un bloqueo al hacer clic en los elementos de la barra de herramientas de la extensión de la aplicación Safari
- Se solucionó un problema por el que
SFContentBlockerManager.getStateOfContentBlocker()
podía devolver un valor incorrecto en iOS - Se agregó soporte para
optional_host_permissions
Safari Web Extensions