Gepubliceerd: 12 februari 2025
De taak van een webrenderingengine is enorm, en veel van dit werk, zoals styling, media of lay-out, wordt aangestuurd door standaarden. Deze standaarden zorgen ervoor dat onafhankelijke motoren interoperabel kunnen zijn, waardoor het internet tot bloei kan komen. Maar sommige fijnere details, zoals hoe tekst op pixelniveau wordt weergegeven, worden vaak overgelaten aan interpretatie door de standaardinstanties, en uiteindelijk zijn ze afhankelijk van de besturingssystemen waarop browsers draaien.
In 2020 kreeg Microsoft Edge een zeldzame kans: een volledige vervanging van de onderliggende rendering-engine. Edge stapte over naar Chromium , weg van een alleen-Windows-platform waar het rechtstreeks Windows API's gebruikte, en werd een echte platformonafhankelijke webrenderer. Vóór de overstap naar Chromium vertrouwde Edge volledig op een Windows API genaamd DirectWrite voor tekstweergave. Chromium vertrouwt echter op Skia , een krachtige en flexibele platformonafhankelijke grafische engine, die veel van de besturingssysteemspecifieke code uit de API haalt.
Tijdens de overgang van Edge naar Chromium kreeg het Edge-team de gelegenheid om feedback van zijn gebruikers te verzamelen over de Chromium-rendering-engine. Eén feedback was veelbetekenend: veel Edge-gebruikers deelden mee dat de tekst er "vervaagd" uitzag en dat deze er niet consistent uitzag met de tekst in andere delen van Windows.
Het team nam deze feedback serieus en deed wat onderzoek. Hoewel Skia DirectWrite op Windows gebruikt voor bepaalde functionaliteit, zoals het opzoeken van lettertypen, wordt de uiteindelijke rastering van de tekst feitelijk rechtstreeks door Skia afgehandeld. En een belangrijke factor in de "vervaagde" feedback van gebruikers zijn de interne contrast- en gamma-instellingen voor tekstweergave.
Er werden twee belangrijke verschillen in tekstcontrast en gammawaarden ontdekt tussen Edge's Chromium-gebaseerde engine en zijn eerdere engine. Ten eerste pikt Skia geen tekstcontrast- en gammawaarden op van de Windows ClearType Tuner . Ten tweede gebruikt het andere standaardwaarden voor tekstcontrast en gamma dan die worden gebruikt door Edge's op DirectWrite gebaseerde tekststapel.
Het Edge-team heeft vorig jaar ondersteuning toegevoegd voor het rechtstreeks respecteren van de ClearType Tuner-waarden in Chromium. Dit gaf Chromium-gebaseerde browsergebruikers de mogelijkheid om tekstcontrast en gamma-instellingen op Windows te beheren. Hoewel dit een belangrijke stap in de goede richting was, hebben de meeste gebruikers de neiging om hun systeembrede tekstcontrast- en gamma-instellingen niet aan te passen. De volgende fase in dit traject was dus om serieus te overwegen om het standaard tekstcontrast en de gamma-instellingen voor zowel web- als browser-UI-tekstinhoud aan te passen.
Het veranderen van hoe tekst er op internet uitziet, is een grote onderneming. Het web is altijd tekstzwaar geweest en een tekstengine van hoge kwaliteit is noodzakelijk. Het was duidelijk dat de tekstcontrastwaarde moest worden verhoogd, maar er waren gegevens nodig om te bepalen in hoeverre deze moest worden aangepast.
Het Edge-team begon in 2021 te experimenteren met verschillende tekstcontrastwaarden. Na veel gebruikersonderzoek stelden leden van zowel Edge als Chromium vast dat een contrastwaarde van 1,0 nauw overeenkwam met de tekstweergave van pre-Chromium Edge en er consistent uitzag in vergelijking met andere native Windows-applicaties.
Binnen het Edge-team waren we ervan overtuigd dat ons onderzoek en onze experimenten nuttig zouden kunnen zijn voor de algehele Chromium-gemeenschap op Windows. Daarom deelden we onze bevindingen met het Chrome-team van Google, dat ze bevestigde met hun eigen experimenten. Vervolgens zijn we overgegaan tot het standaard inschakelen van de nieuwe contrastwaarde voor Windows-builds, te beginnen met Chrome 132.
Tegenwoordig kunnen alle gebruikers van Chromium-gebaseerde browsers op Windows profiteren van de afgelopen jaren van gedeeld onderzoek, experimenten en implementatie.
Speciale dank aan Ian Prest, Daniel Libby en Alison Maher bij Microsoft, evenals Dominik Röttsches, David Yeung, Ben Wagner en Brian Osman bij Google voor hun bijdragen aan dit project!