Text that measures like the reference browser, an accessibility tree, web security, and animations
The biggest release so far: six things the engine simply did not have, plus eleven rendering fixes, every one checked pixel for pixel against the reference browser. The largest is text. On a Mac the system typeface is a variable font, and a browser is meant to pick a different cut of it at every size. We were using one fixed cut for everything, which made text up to 11 percent too narrow at small sizes and threw off where every line broke. The engine now bakes the right cut per size and applies the tracking macOS adds on top, so the width of a line of text is within about one percent of the reference browser from 12 pixels up to 64. Second, an accessibility tree: the engine can now describe a page the way a screen reader sees it, with roles, names, states, live announcements, tab order and the position of everything, plus a built-in audit that flags a button with no label or a heading level that skips. Third, web security that was simply missing: a page's Content Security Policy is now obeyed, so a script the site asked to block really is blocked, along with cross-origin rules, cookie same-site protection and referrer trimming. Fourth, CSS animations. Without them a page that fades its content in was not just missing the motion, it was stuck on the wrong frame and could render blank. Fifth, a developer inspector for the engine's own boxes and styles. And underneath it all, a fundamental piece of page layout that was missing entirely: the way a wrapper and its first child share a margin, which affects the vertical rhythm of nearly every page on the web.