К обсуждениям

Safari Technology Preview 251 берёт font-relative units из метрик родителя

Редакция VOne Технологии

Safari Technology Preview 251 берёт font-relative units из метрик родителя. Безопасная локальная диагностика: матрица зависимостей «parent metrics → child font → computed font-* → glyph box», одна переменная, отрицательный контроль, rollback и минимизированный пакет для поддержки.

Что именно наблюдать до любых изменений

Запрос «как проверить метрики родителя для font-relative units в font properties Safari Technology Preview 251» сводится к одной проверяемой боли: дочерний текст неожиданно меняет размер, потому что единица внутри font-свойства рассчитывается по шрифту самого элемента, а не родителя. До опыта фиксируется ожидаемый признак: смена собственного шрифта ребёнка не переопределяет базу относительной единицы, если родительская метрика и декларация не менялись. Нельзя расширять вывод на stable Safari, другой движок, произвольный сайт или массовость симптома. Главная ловушка здесь такова: визуальная ширина глифа может меняться из-за family даже при правильной базе единицы, поэтому decisive поле — computed font-property. Поэтому наблюдение получает статус reproduced только после повторного одинакового результата и успешного возврата; not reproduced относится исключительно к этому стенду, а unsupported, environment-blocked и unknown остаются разными статусами.

Свежий первичный факт и его предел

Официальные Release Notes WebKit от 26 августа 2026 года формулируют изменение так: WebKit исправил font-* properties, которые разрешали font-relative units относительно собственного шрифта вместо метрик родительского элемента. Пункт связан с первичной записью 319052@main. Release page доказывает наличие изменения в ветке Safari Technology Preview 251, а commit задаёт техническую границу конкретной правки. Ни один из этих источников сам по себе не подтверждает частоту запроса, результат на конкретном устройстве или будущий перенос в стабильный выпуск. Публичная ветка о релизе использована только как свежий community lead; комментарии, реакции и поисковые snippets не превращаются в доказательство причины.

Минимальный стенд и безопасные поля

Стенд: локальная пара parent/child с явно загруженными системными шрифтами разной метрики и одним font-* свойством, использующим относительную единицу. До воздействия запишите: font-family и font-size родителя и ребёнка, document.fonts.status, computed значение целевого свойства и размеры контрольного глифа. Рабочий артефакт — матрица зависимостей «parent metrics → child font → computed font-* → glyph box». У каждого ряда должны быть версия TP 251, время, expected, observed и отметка о валидности контроля. Не сохраняются IP, cookie, токены, Authorization, полные URL с приватными query, локальные пути, имена профилей и содержимое рабочих документов. Случайные или вымышленные данные стенда помечаются как тестовые. Если обязательное поле нельзя получить без доступа к реальным данным, эксперимент останавливается: пробел не заполняют догадкой и не компенсируют дополнительной мутацией.

Один обратимый эксперимент с контролем

Canary меняет ровно одну причину: менять только шрифт ребёнка после document.fonts.ready, не трогая родителя и относительную декларацию, затем вернуть исходное семейство. Контроль устроен отдельно: значение в px и пара с одинаковым шрифтом у parent/child отделяют источник метрик от загрузки и каскада. Сначала снимается baseline, затем выполняется единственное воздействие, после него — заранее выбранное измерение, затем полный rollback и повтор baseline. Новый шаг не добавляют, пока предыдущий не получил результат и контроль. Если rollback не вернул исходное состояние, прогон invalid, даже когда картинка кажется убедительной. Тест выполняется только локально или на специально подготовленном безопасном стенде; production, пользовательские сессии и чужие страницы в процедуру не входят.

Матрица исходов и критерий остановки

PASS для узкой гипотезы означает: смена собственного шрифта ребёнка не переопределяет базу относительной единицы, если родительская метрика и декларация не менялись. Практический результат оформляется как матрица зависимостей «parent metrics → child font → computed font-* → glyph box». Stop-line: остановиться при fallback-шрифте, незавершённой загрузке или различном font synthesis; иначе вычисление метрик не воспроизводимо. Для передачи разработчику достаточно: минимальный CSS, статусы загрузки, computed значения обеих пар, контроль px и первичная запись 319052@main. Перед отправкой артефакт ещё раз очищают от идентификаторов и проверяют, что отрицательный контроль действительно отличался только указанной переменной. Материал не обещает исправление на другом сайте, стабильную поддержку функции, индексацию, позиции или универсальное поведение; он даёт воспроизводимый путь, по которому команда может отделить наблюдаемый факт от предположения.

Материал подготовлен редакцией VOne с помощью ИИ; дата, первичный WebKit commit 319052@main, техническая граница, контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.