Stili con ambito per CSS, funzionalità multimediali aggiuntive, contenitori di scorrimento attivabili dalla tastiera e altro ancora.
Se non diversamente indicato, le modifiche descritte si applicano alla release più recente del canale beta di Chrome per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o dall'elenco su ChromeStatus.com. Chrome 118 è in versione beta a partire dal 13 settembre 2023. Puoi scaricare la versione più recente da Google.com per computer oppure dal Google Play Store per Android.
CSS
In questa versione sono state aggiunte quattro nuove funzioni CSS.
Stili con ambito
La regola @scope
consente agli sviluppatori di applicare le regole di stile a una determinata radice di ambito e di applicare uno stile agli elementi in base alla vicinanza della radice di ambito.
Valori relativi al flusso logici CSS
Aggiunge i seguenti nuovi valori alle proprietà CSS esistenti:
float: inline-start
float: inline-end
clear: inline-start
clear: inline-end
resize: block
resize: inline
Queste parole chiave direzionali relative al flusso si risolvono in un valore fisico a seconda della modalità o della direzione di scrittura dell'elemento o del blocco che lo contiene.
Query supporti: funzionalità prefers-reduced-transparency
Aggiunge la funzionalità multimediale prefers-reduced-transparency
, che consente agli sviluppatori di adattare i contenuti web alle preferenze selezionate dall'utente per una minore trasparenza del sistema operativo, ad esempio l'impostazione Riduci la trasparenza su macOS. Le opzioni valide sono reduce
o no-preference
.
Supporta hit-box, content-box e border-box nella proprietà CSS transform-box
L'aggiunta di questo supporto consente di modificare il modo in cui viene calcolata la casella di riferimento per la proprietà transform
. Ciò consente trasformazioni o effetti grafici aggiuntivi. Ad esempio, la rotazione intorno a un punto della casella dei contenuti, in cui la larghezza del bordo di un elemento non influisce sul risultato. Oppure, dove il tratto di un elemento (SVG) deve influenzare il risultato, ad esempio quando si ruota una forma tratteggiata intorno al suo centro, incluso il tratto.
HTML
Container di scorrimento attivabili sulla tastiera
Migliora l'accessibilità rendendo attiva i contenitori di scorrimento mediante la navigazione con stato attivo sequenziale. Prima di questa modifica, il tasto Tab non attivava gli scorrimenti, a meno che tabIndex
non sia esplicitamente impostato su 0
o su un valore superiore. Se rendi attivabili gli scorrimenti per impostazione predefinita, gli utenti che non possono (o non vogliono) utilizzare il mouse saranno in grado di accedere ai contenuti ritagliati utilizzando la scheda e i tasti freccia della tastiera. Questo comportamento non si applica agli elementi di scorrimento che contengono elementi attivabili dalla tastiera, poiché sono già accessibili tramite la tastiera.
Rimuovi il comportamento della modalità non standard per l'attributo etichetta opzione
Gli elementi opzione supportano un attributo label
, che fa sì che l'opzione venga visualizzata con il testo all'interno dell'attributo anziché con il testo secondario dell'elemento opzione stesso. Questa funzionalità è disattivata in modalità non standard, dove l'attributo etichetta viene ignorato e il testo secondario viene sempre visualizzato. Questa modifica utilizzerà sempre l'attributo etichetta sia in modalità standard che in modalità non standard.
API web
Registrazione a Privacy Sandbox (PSB)
Poiché le API di misurazione e pertinenza di Privacy Sandbox iniziano a crescere per essere disponibili a livello generale, vogliamo assicurarci che queste tecnologie vengano utilizzate come previsto e con trasparenza. Le API includono Attribution Reporting, l'API Protected Audience, l'API Topics, l'API Private Aggregation e l'API Shared Storage. Il PSB sta introducendo un nuovo processo di registrazione degli sviluppatori per le API di misurazione e pertinenza di Privacy Sandbox. Chrome recupererà l'elenco dei siti registrati dal server di registrazione (tramite il programma di aggiornamento dei componenti) e lo utilizzerà per limitare l'accesso alle API Privacy Sandbox.
Blocca tutti i cookie impostati tramite JavaScript che contengono caratteri di controllo
Consente di aggiornare la modalità di gestione dei caratteri di controllo nei cookie impostati tramite JavaScript. In particolare, tutti i caratteri di controllo causano il rifiuto dell'intero cookie. In precedenza, un carattere NULL, un carattere di ritorno a capo o un carattere di avanzamento riga in una riga di cookie causavano il troncamento dell'elemento anziché essere completamente rifiutato, il che poteva causare comportamenti dannosi in determinate circostanze. Questo comportamento allinea Chrome al comportamento indicato dalle bozze più recenti di RFC6265bis. Questa modifica può essere disattivata utilizzando il criterio aziendale --disable-features=BlockTruncatedCookies
o BlockTruncatedCookies, che sarà attivo per diversi obiettivi nel caso in cui questa modifica provochi danni.
Dimensioni minime dei caratteri coerenti per tutte le lingue
Modifica l'impostazione predefinita relativa alla Dimensione minima dei caratteri in modo che sia disattivata per impostazione predefinita per sette lingue (arabo, persiano, giapponese, coreano, tailandese, cinese semplificato e tradizionale) al fine di migliorare l'interoperabilità e l'accessibilità. Prima di questo cambiamento, questa impostazione era disattivata per impostazione predefinita per tutte le lingue tranne le sette elencate. Questa modifica rende queste lingue coerenti con quelle di altre lingue. Nota: non si tratta di modificare la funzionalità delle dimensioni minime dei caratteri. Sarà disponibile senza alcuna modifica per quanto riguarda l'accessibilità e la leggibilità.
Rilevare le transizioni UA nelle navigazioni nello stesso documento
Transizioni visive fluide mentre gli utenti navigano sul web possono ridurre il carico cognitivo aiutando gli utenti a rimanere contestualizzati. Tuttavia, l'esperienza utente è negativa se sia l'autore del sito che la UA aggiungono queste transizioni: le transizioni potrebbero entrare in conflitto e creare confusione per l'utente. Questa API evita questi casi per garantire che venga eseguita una sola transizione visiva alla volta. L'API aggiunge un valore booleano su PopStateEvent
e NavigateEvent
per indicare se UA ha eseguito una transizione visiva per questa navigazione. Gli sviluppatori possono usare questa opzione per saltare la transizione personalizzata.
Il parser di URL non decodifica i caratteri ASCII con codifica percentuale nel percorso dell'URL
In questo modo, l'analizzatore sintattico di URL non decodifica i caratteri ASCII con codifica percentuale nel percorso dell'URL, ad esempio "%41" ("A"). Prima di questa modifica:
const url = new URL("http://example.com/%41");
url.href "http://example.com/A"
Dopo questa modifica:
const url = new URL("http://example.com/%41");
url.href "http://example.com/%41"
Targeting escluso per segmenti di pubblico protetti
Nelle aste degli annunci online per lo spazio pubblicitario, a volte è utile impedire la pubblicazione di un annuncio per determinati segmenti di pubblico, un concetto noto come targeting per esclusione. Ad esempio, potresti non voler mostrare la pubblicità di un nuovo cliente a clienti esistenti. Questo è un requisito fondamentale per le campagne di acquisizione di nuovi clienti. Attualmente Protected Audience consente agli annunci di scegliere come target utenti che sono stati uniti a un determinato gruppo di interesse tramite alcune attività passate sul web. Questa funzionalità estende Protected Audience per abilitare il targeting per esclusione consentendo ai nuovi annunci di scegliere come target solo gli utenti che non sono stati uniti a un determinato gruppo di interesse. In questo modo, consentiamo agli inserzionisti di scegliere come target nuovi gruppi di utenti che utilizzano i concetti dell'API Protected Audience esistenti incentrati sulla tutela della privacy.
Rimuovi requisito di attivazione dell'utente pagamenti
Per aiutare gli sviluppatori a semplificare i flussi di richieste di pagamento, rimuoveremo il requisito di attivazione degli utenti nelle richieste di pagamento e nella conferma del pagamento sicuro. Grazie a questa modifica, vengono messe in atto misure di mitigazione dello spam e del clickjacking per ridurre i rischi per la sicurezza e la privacy.
WebUSB nei worker di servizio estensione
Consente agli sviluppatori web di utilizzare l'API WebUSB quando rispondono agli eventi delle estensioni esponendo l'API WebUSB ai Service Workers registrati dalle estensioni del browser. Questa API non è attualmente esposta ai Service worker registrati dai siti.
I documenti XML uniscono sezioni CDATA consecutive in un singolo nodo
A causa di un bug in libxml, le sezioni CDATA in un documento HTML a volte possono generare erroneamente più nodi, a seconda delle dimensioni del documento e della posizione della sezione CDATA all'interno del documento. Quando una singola sezione CDATA comprende più blocchi dell'analizzatore sintattico di input, libxml esegue il buffer ed emette l'input CDATA in esecuzioni da 300 byte. Ciò trasforma inaspettatamente una singola sezione CDATA in più nodi (se la lunghezza del blocco di input è superiore a 300 byte). Questa modifica comporta l'unione di nodi della sezione CDATA di pari livello in un'unica sezione CDATA durante l'analisi. Questo risolve il bug libxml durante l'analisi, ma unisce anche nodi separati creati dall'autore, ad esempio: <![CDATA[foo]]><!CDATA[bar]]>
Produrrà un singolo nodo DOM CDATA con contenuti "foobar": CDATA "foobar"
.
Modifica la condizione della finestra di dialogo del gestore dell'unload
Sono state apportate due nuove modifiche alla modalità di richiesta della finestra di dialogo di annullamento per l'evento beforeunload
.
Se viene chiamato event.preventDefault()
, viene chiesto di annullare la finestra di dialogo.
Se event.returnValue
è la stringa vuota, non richiedere la finestra di dialogo di annullamento.
Prove dell'origine in corso
In Chrome 118 puoi attivare la seguente nuova prova dell'origine.
Trasformazione codificata WebRTC: modifica delle funzioni dei metadati
Aggiunge funzionalità all'API WebRTC Encoded Transform che consentono di manipolare i metadati dei fotogrammi audio e video. Sono stati identificati diversi casi d'uso che richiedono la manipolazione di contenuti multimediali codificati WebRTC senza prima decodificarli. ad esempio:
- Invio di dati che sono stati codificati in precedenza.
- Invio di dati ricevuti in formato codificato.
- Ricezione e inoltro di dati in formato codificato.
In particolare, vogliamo supportare il caso d'uso dell'inoltro senza problemi di contenuti multimediali provenienti da più connessioni peer ridondanti che forniscono gli stessi payload multimediali ma con metadati diversi.
Registrati alla prova dell'origine RTCEncodedFrameSetMetadata.
Rimozioni e ritiri
Questa versione di Chrome introduce i ritiri e le rimozioni elencate di seguito. Visita il sito ChromeStatus.com per consultare gli elenchi di ritiri pianificati, ritiri in corso e rimozioni precedenti.
In questa release di Chrome viene rimossa la funzionalità indicata di seguito.
Rimozione di alcune parole chiave correlate all'aspetto non standard
In Chrome 118, le parole chiave appearance
non standard con l'utilizzo più basso verranno disattivate. Una volta disattivata la funzionalità, la proprietà dell'aspetto verrà ignorata se utilizza quella parola chiave come valore. Le parole chiave disattivate in Chrome 118 sono quelle con un utilizzo inferiore allo 0,001%:
media-slider
media-sliderthumb
media-volume-slider
media-volume-sliderthumb
sliderthumb-horizontal
sliderthumb-vertical
Contesto
Poiché dovrebbero essere supportate solo le parole chiave appearance
standard, rimuoveremo le parole chiave appearance
(e -webkit-appearance
) non standard. Ecco l'elenco completo:
inner-spin-button
media-slider
media-sliderthumb
media-volume-slider
media-volume-sliderthumb
push-button
searchfield-cancel-button
slider-horizontal
sliderthumb-horizontal
sliderthumb-vertical
square-button
Tieni presente che il valore slider-vertical
non verrà rimosso nell'ambito di questa patch, che viene utilizzato per consentire il verticale <input type=range>
. Verrà rimossa una volta completata l'adozione della modalità di scrittura verticale dei controlli modulo.
Prima della disattivazione, se utilizzi una delle parole chiave riportate sopra, verrà visualizzato un avviso della console, ma la parola chiave verrà riconosciuta come valore valido.