Подсветка строки после block-level box визуально перекрывает прозрачный отступ этого блока. Разбор Safari TP 251: самостоятельный диагностический артефакт, прямые источники, опровержимый контроль, обратимый canary, stop-line и privacy-safe handoff.
Ответ на запрос: CSS Highlight закрашивает margin соседнего блока в Safari TP 251
Ограничьте опыт одним API или layout-состоянием. Единственная пользовательская боль: подсветка строки после block-level box визуально перекрывает прозрачный отступ этого блока. Нормализованный intent этой страницы — «как проверить CSS Highlight поверх margin блока в Safari Technology Preview 251». Критерий, который можно опровергнуть: пиксели margin остаются цветом фона, а highlight появляется только в текстовой области Range. Возможная ложная причина сформулирована отдельно: полупрозрачность highlight или selection пользователя, ошибочно принятая за закраску margin. До запуска выбирается такая развилка: цвет в margin только с highlight — reproduced; цвет без highlight — fixture-invalid; API отсутствует — unsupported. Если нужная поверхность отсутствует, ставится `unsupported`; если нет обязательного наблюдения, ставится `unknown`; оба статуса отличаются от `not-reproduced`. Проверка выполняется на изолированном fixture, поэтому не затрагивает production, VPN, маршрутизацию, рабочий профиль, реальные аккаунты или личные данные. Вывод нельзя переносить на stable Safari, другой браузер либо чужой сайт без отдельного опыта.
Доказательная граница 318887@main@main
Технический тезис не расширяется дальше записи разработчиков. WebKit датирует Safari Technology Preview 251 26 августа 2026 года и перечисляет изменение: исправлено покрытие margin блочного фрагмента подсветкой следующей строки. Связанная primary-страница 318887@main@main была открыта 29 августа: identifier совпадает, commit title описывает тот же узкий механизм. Для темы «подсветка строки после block-level box визуально перекрывает прозрачный отступ этого блока» этого достаточно только чтобы подтвердить наличие change item и его инженерную границу. Release Notes и 318887@main@main не измеряют количество затронутых пользователей, не доказывают поисковый спрос, не сообщают результат для произвольного приложения и не гарантируют попадание в стабильную версию. Google News, Reddit и Apple search results были лидами к перепроверке даты; их заголовки и комментарии не использованы как техническое evidence.
Артефакт опыта: пиксельная полоса `y-coordinate → expected region → observed highlight color`
Форма данных здесь важнее свободного пересказа. Здесь это пиксельная полоса `y-coordinate → expected region → observed highlight color`. Локальный стенд: локальный fixture с Custom Highlight API, одним Range, фиксированным margin и контрастными безопасными цветами. Схема записи специфична для задачи: `y` — наблюдаемое значение или пусто с причиной; `regionLabel` — наблюдаемое значение или пусто с причиной; `rgba` — наблюдаемое значение или пусто с причиной; `rangeStart` — наблюдаемое значение или пусто с причиной; `rangeEnd` — наблюдаемое значение или пусто с причиной; `blockBottom` — наблюдаемое значение или пусто с причиной; `nextLineTop` — наблюдаемое значение или пусто с причиной; `dpr` — наблюдаемое значение или пусто с причиной. В строке 318887@main добавляются `expected`, `observed`, build, timestamp и единица, если она применима. Формула или источник каждого вычисленного значения указывается рядом; пропуск не превращается в ноль. IP, cookie, Authorization, токены, device labels, внешние URL, пути, сырые media и содержимое файлов исключаются до записи. Test-only идентификаторы разрешены в виде краткого hash внутри запуска и удаляются после cleanup. Именно набор «y, regionLabel, rgba, rangeStart, rangeEnd, blockBottom, nextLineTop, dpr» делает материал самостоятельным: он отвечает на боль «подсветка строки после block-level box визуально перекрывает прозрачный отступ этого блока», а не подставляет другое название в универсальный браузерный чек-лист.
Control и решение для 318887@main
Control проходит тот же путь сбора, что и основная ветка. Для 318887@main используется: та же геометрия без зарегистрированного highlight и Range, ограниченный только текстом следующей строки. Он получает тот же build, порядок событий и поля «y, regionLabel, rgba, rangeStart, rangeEnd, blockBottom, nextLineTop, dpr». Проверяемый confounder — полупрозрачность highlight или selection пользователя, ошибочно принятая за закраску margin. Если основная ветка отклоняется, а control остаётся спокойным, применяется развилка «цвет в margin только с highlight — reproduced; цвет без highlight — fixture-invalid; API отсутствует — unsupported». Если отклоняется control, итог `invalid`; если control технически недоступен, итог `environment-blocked`; если значения неполны, итог `inconclusive`. Нельзя объявлять дефект только потому, что фраза «подсветка строки после block-level box визуально перекрывает прозрачный отступ этого блока» похожа на сообщение форума. Сначала должны совпасть fixture, измеряемая поверхность и ожидаемый ответ «пиксели margin остаются цветом фона, а highlight появляется только в текстовой области Range». Этот порядок запрещает объяснение задним числом и сохраняет различие между соседними API, layout и media change items.
Обратимый canary и критерий PASS
Сравнимость важнее количества повторов. Для этой статьи действие сформулировано так: зарегистрировать один highlight, снять полосу, удалить его из registry и повторить исходный кадр. Сначала заполняется baseline по полям «y, regionLabel, rgba, rangeStart, rangeEnd, blockBottom, nextLineTop, dpr», затем выполняется только указанная операция. После заранее выбранного settle-event те же поля читаются повторно без округления и подмены отсутствующих значений. PASS допустим лишь при условии: пиксели margin остаются цветом фона, а highlight появляется только в текстовой области Range. Затем действие полностью откатывается, и baseline для артефакта «пиксельная полоса `y-coordinate → expected region → observed highlight color`» должен восстановиться. Несовпадение rollback переводит запись в `invalid`, даже если основная ветка выглядела убедительно. Canary не расширяют на production, пользовательский media, рабочие разрешения, продолжительный стресс-тест или внешние страницы. Один run сохраняет свою строку; повтор не перезаписывает редкое отклонение.
Stop-line и privacy-safe handoff
Финальная запись отделяет факт, измерение и вывод. Немедленная остановка: цветовое управление меняется между кадрами, включён пользовательский selection или dpr/zoom различаются. Для повторения оставляют build, hash fixture, поля «y, regionLabel, rgba, rangeStart, rangeEnd, blockBottom, nextLineTop, dpr», expected/observed, control status, cleanup status и primary link 318887@main@main. Статус выбирается из `reproduced`, `not-reproduced`, `unsupported`, `environment-blocked`, `invalid`, `inconclusive`, `unknown`; отдельной строкой приводится развилка «цвет в margin только с highlight — reproduced; цвет без highlight — fixture-invalid; API отсутствует — unsupported». Перед передачей удаляются пути, имена, адреса, labels и любые значения, способные идентифицировать пользователя либо инфраструктуру. Даже успешный handoff подтверждает только условие «пиксели margin остаются цветом фона, а highlight появляется только в текстовой области Range» в этом fixture. Он не обещает автоматическое исправление, стабильную поддержку, индексацию, позицию, цитирование ИИ или доказанный спрос.
Материал подготовлен редакцией VOne с помощью ИИ; дата Release 251, primary 318887@main, техническая граница, самостоятельный артефакт, control, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318887@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.