Scoped-stijlen voor CSS, extra mediafuncties, op het toetsenbord focusbare scrollcontainers en meer.
Tenzij anders aangegeven, zijn de beschreven wijzigingen van toepassing op de nieuwste release van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier genoemde functies via de aangeboden links of via de lijst op ChromeStatus.com. Chrome 118 is vanaf 13 september 2023 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.
CSS
Deze release voegt vier nieuwe CSS-functies toe.
Scoped-stijlen
Met de @scope
regel kunnen ontwikkelaars stijlregels beperken tot een bepaalde scoping-root, en stijlelementen aanpassen aan de nabijheid van die scoping-root.
CSS logische stroom-relatieve waarden
Voegt de volgende nieuwe waarden toe aan bestaande CSS-eigenschappen:
-
float: inline-start
-
float: inline-end
-
clear: inline-start
-
clear: inline-end
-
resize: block
-
resize: inline
Deze stroom-relatieve directionele sleutelwoorden worden omgezet in een fysieke waarde, afhankelijk van de schrijfmodus of richting van het element of het blok dat het bevat.
Mediaquery's: geeft de voorkeur aan de functie voor verminderde transparantie
Voegt de mediafunctie prefers-reduced-transparency
toe, waarmee ontwikkelaars webinhoud kunnen aanpassen aan de door de gebruiker geselecteerde voorkeur voor verminderde transparantie in het besturingssysteem, zoals de instelling 'Verminder transparantie' op macOS. Geldige opties zijn reduce
of no-preference
.
Ondersteun stroke-box, content-box en border-box in de CSS-eigenschap transform-box
Door deze ondersteuning toe te voegen, kunt u wijzigen hoe het referentievak voor de transform
eigenschap wordt berekend. Dit maakt extra transformaties of grafische effecten mogelijk. Bijvoorbeeld rotatie rond een punt in het inhoudsvak, waar de breedte van de rand van een element het resultaat niet beïnvloedt. Of waar de streek van een (SVG)-element het resultaat zou moeten beïnvloeden, bijvoorbeeld bij het roteren van een omlijnde vorm rond het midden ervan, inclusief de streek.
HTML
Met toetsenbord focusbare scrollcontainers
Verbetert de toegankelijkheid door scrollcontainers focusseerbaar te maken met behulp van sequentiële focusnavigatie. Vóór deze wijziging focust de tab-toets niet op scrollers, tenzij tabIndex
expliciet is ingesteld op 0
of hoger. Door scrollers standaard focusseerbaar te maken, kunnen gebruikers die geen muis kunnen (of willen) gebruiken, toegang krijgen tot geknipte inhoud met behulp van de tab- en pijltoetsen van een toetsenbord. Dit gedrag is niet van toepassing op scrollers die elementen bevatten die op het toetsenbord kunnen worden gefocust, omdat deze al toegankelijk zijn via het toetsenbord.
Verwijder het gedrag van de quirks-modus voor het kenmerk optielabel
Optie-elementen ondersteunen een label
attribuut dat ervoor zorgt dat de optie wordt weergegeven met de tekst binnen het attribuut in plaats van de onderliggende tekst van het optie-element zelf. Deze functionaliteit is uitgeschakeld in de quirks-modus, waarbij het labelkenmerk wordt genegeerd en de onderliggende tekst altijd wordt weergegeven. Bij deze wijziging wordt altijd het labelkenmerk gebruikt in zowel de standaardmodus als de eigenaardighedenmodus.
Web-API's
Inschrijving voor Privacy Sandbox (PSB)
Nu de relevantie- en meet-API's van de Privacy Sandbox steeds breder beschikbaar komen, willen we ervoor zorgen dat deze technologieën worden gebruikt zoals bedoeld en met transparantie. De API's omvatten Attribution Reporting , de Protected Audience API , de Topics API , de Private Aggregation API en de Shared Storage API . PSB introduceert een nieuw ontwikkelaarsinschrijvingsproces voor API's voor relevantie en meting van de Privacy Sandbox. Chrome haalt de lijst met ingeschreven sites op van de inschrijvingsserver (via componentupdater) en gebruikt deze om toegang te verlenen tot de Privacy Sandbox API's.
Blokkeer alle cookies die via JavaScript zijn ingesteld en die controletekens bevatten
Updates hoe controletekens in cookies die via JavaScript zijn ingesteld, worden verwerkt. Concreet zorgen alle controletekens ervoor dat de hele cookie wordt afgewezen. Voorheen zorgde een NULL-teken, een harde return-teken of een line feed-teken in een cookieregel ervoor dat deze werd afgekapt in plaats van volledig afgewezen, wat onder bepaalde omstandigheden kwaadaardig gedrag mogelijk had kunnen maken. Dit gedrag stemt Chrome af op het gedrag dat wordt aangegeven in de nieuwste concepten van RFC6265bis. Deze wijziging kan worden uitgeschakeld met behulp van het --disable-features=BlockTruncatedCookies
of het BlockTruncatedCookies bedrijfsbeleid, dat voor verschillende mijlpalen bestaat voor het geval deze wijziging een breuk veroorzaakt.
Consistente minimale lettergrootte in alle talen
Wijzigt de standaardinstelling voor de minimale lettergrootte die standaard is uitgeschakeld voor zeven talen (Arabisch, Farsi, Japans, Koreaans, Thais, Vereenvoudigd en Traditioneel Chinees) om de interoperabiliteit en toegankelijkheid te verbeteren. Vóór deze wijziging was deze instelling standaard uitgeschakeld voor alle talen, behalve de zeven genoemde talen. Door deze wijziging zijn deze talen consistent met andere talen. Let op: dit gaat niet over het wijzigen van de minimale lettergrootte zelf. Het zal beschikbaar zijn zonder enige wijzigingen op het gebied van toegankelijkheid en leesbaarheid.
Detecteer UA-overgangen bij navigatie in hetzelfde document
Vloeiende visuele overgangen terwijl gebruikers op internet navigeren, kunnen de cognitieve belasting verminderen doordat gebruikers in de juiste context blijven. De gebruikerservaring is echter slecht als zowel de auteur van de site als de UA deze overgangen toevoegen: de overgangen kunnen conflicteren en verwarring veroorzaken bij de gebruiker. Deze API vermijdt dergelijke gevallen om ervoor te zorgen dat er slechts één visuele overgang tegelijk wordt uitgevoerd. De API voegt een boolean toe aan PopStateEvent
en NavigateEvent
om aan te geven of de UA een visuele overgang voor deze navigatie heeft uitgevoerd. Ontwikkelaars kunnen dit gebruiken om hun aangepaste transitie over te slaan.
De URL-parser decodeert geen procentgecodeerde ASCII-tekens in het URL-pad
Deze wijziging zorgt ervoor dat de URL-parser geen procentgecodeerde ASCII-tekens in het pad van de URL decodeert, zoals "%41" ('A'). Vóór deze wijziging:
const url = new URL("http://example.com/%41");
url.href "http://example.com/A"
Na deze wijziging:
const url = new URL("http://example.com/%41");
url.href "http://example.com/%41"
Negatieve targeting voor beschermde doelgroepen
Bij online advertentieveilingen voor advertentieruimte is het soms handig om te voorkomen dat een advertentie aan bepaalde doelgroepen wordt weergegeven, een concept dat bekend staat als negatieve targeting . Het kan bijvoorbeeld zijn dat u geen advertentie voor een nieuwe klant aan bestaande klanten wilt laten zien. Bij campagnes voor het werven van nieuwe klanten is dit meestal een cruciale vereiste. Met Protected Audience kunnen advertenties momenteel gebruikers targeten die via een eerdere activiteit op internet lid zijn geworden van een bepaalde interessegroep. Deze functie breidt Protected Audience uit om negatieve targeting mogelijk te maken door toe te staan dat nieuwe advertenties alleen die gebruikers targeten die niet tot een bepaalde interessegroep zijn aangesloten. Op deze manier stellen we adverteerders in staat nieuwe groepen gebruikers te targeten met behulp van de bestaande privacybeschermende concepten van de Protected Audience API.
Verwijder de activeringsvereiste voor betalingsgebruikers
Om ontwikkelaars te helpen de wrijving in de betalingsverzoekstromen te verminderen, hebben we de vereiste voor gebruikersactivatie in Betalingsverzoeken en Veilige betalingsbevestiging verwijderd. Met deze wijziging worden spam- en clickjackingmaatregelen getroffen om de veiligheids- en privacyrisico's te beperken.
WebUSB in extensieservicemedewerkers
Hiermee kunnen webontwikkelaars de WebUSB API gebruiken bij het reageren op extensiegebeurtenissen door de WebUSB API bloot te stellen aan servicemedewerkers die zijn geregistreerd door browserextensies. Deze API is momenteel niet beschikbaar voor servicemedewerkers die zijn geregistreerd door sites.
XML-documenten voegen opeenvolgende CDATA-secties samen tot één knooppunt
Vanwege een bug in libxml kunnen CDATA-secties in een XHTML-document soms ten onrechte meerdere knooppunten produceren, afhankelijk van de grootte van het document en de positie van de CDATA-sectie in het document. Wanneer een enkele CDATA-sectie meerdere invoerparser-brokken omvat, buffert libxml de CDATA-invoer en zendt deze uit in runs van 300 bytes. Hierdoor wordt een enkele CDATA-sectie onverwacht omgezet in meerdere knooppunten (als de lengte van het invoerfragment groter is dan 300 bytes). Deze wijziging zorgt ervoor dat zuster-CDATA-sectieknooppunten tijdens het parseren worden samengevoegd tot één CDATA-sectie. Dit repareert de libxml-bug tijdens het parseren, maar zal ook geschreven afzonderlijke knooppunten samenvoegen, bijvoorbeeld: <![CDATA[foo]]><!CDATA[bar]]>
Zal een enkel CDATA DOM-knooppunt produceren met de inhoud "foobar": CDATA "foobar"
.
Wijzig de dialoogvoorwaarde van de beforeunload-handler
Er zijn twee nieuwe wijzigingen in de manier waarop het annuleringsdialoogvenster wordt gevraagd om de gebeurtenis beforeunload
.
Als event.preventDefault()
wordt aangeroepen, wordt er een annuleringsdialoogvenster weergegeven. Als event.returnValue
de lege tekenreeks is, wordt er niet gevraagd om het annuleringsdialoogvenster.
Oorsprongsproeven zijn aan de gang
In Chrome 118 kunt u zich aanmelden voor de volgende nieuwe Origin-proefperiode .
WebRTC-gecodeerde transformatie: metadatafuncties wijzigen
Voegt functies toe aan de WebRTC Encoded Transform API waarmee metagegevens van audio- en videoframes kunnen worden gemanipuleerd. Er zijn een aantal gebruiksscenario's geïdentificeerd die de manipulatie van WebRTC-gecodeerde media vereisen zonder deze eerst te decoderen. Deze omvatten:
- Gegevens verzenden die eerder zijn gecodeerd.
- Het verzenden van gegevens die in gecodeerde vorm zijn ontvangen.
- Gegevens in gecodeerde vorm ontvangen en doorsturen.
In het bijzonder willen we het gebruiksscenario ondersteunen van probleemloos doorsturen van media afkomstig van meerdere redundante peer-verbindingen die dezelfde mediapayloads bieden, maar met verschillende metadata.
Registreer u voor de RTCEncodedFrameSetMetadata origin-proefversie .
Beëindigingen en verwijderingen
Deze versie van Chrome introduceert de hieronder vermelde beëindigingen en verwijderingen. Ga naar ChromeStatus.com voor een lijst met geplande beëindigingen, huidige beëindigingen en eerdere verwijderingen.
In deze versie van Chrome wordt de volgende functie verwijderd.
Verwijdering van enkele niet-standaard weergavezoekwoorden
In Chrome 118 worden de niet-standaard appearance
met het laagste gebruik gedeactiveerd. Zodra de functie is gedeactiveerd, wordt de eigenschap uiterlijk genegeerd als deze dat trefwoord als waarde gebruikt. De zoekwoorden die worden gedeactiveerd in Chrome 118 zijn de zoekwoorden met een gebruikspercentage van minder dan 0,001%:
-
media-slider
-
media-sliderthumb
-
media-volume-slider
-
media-volume-sliderthumb
-
sliderthumb-horizontal
-
sliderthumb-vertical
Achtergrond
Omdat alleen zoekwoorden met standaard appearance
mogen worden ondersteund, verwijderen we de zoekwoorden appearance
(en -webkit-appearance
) die niet-standaard zijn. De volledige lijst is als volgt:
-
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
Merk op dat de waarde slider-vertical
niet zal worden verwijderd als onderdeel van deze patch. Het wordt gebruikt voor het toestaan van <input type=range>
verticaal. Het wordt verwijderd zodra de verticale schrijfmodus voor formuliercontrole volledig is overgenomen.
Voordat het wordt gedeactiveerd, wordt er bij gebruik van een van de bovenstaande trefwoorden een consolewaarschuwing weergegeven, maar wordt het trefwoord herkend als een geldige waarde.