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

Safari Technology Preview 251: порядок hit testing возле block-in-inline

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

Safari Technology Preview 251: hit testing сообщает контейнер раньше block-level box, расположенного на предыдущей строке. People-first проверка: карта попаданий «x/y → визуальная область → ordered hit list → ожидаемый owner»; синтетический стенд, опровержимый контроль, один обратимый шаг, stop-line и минимизированный handoff.

Ответ и граница: Rendering

Начните не с переключения настроек, а с проверяемой границы. Запрос «как проверить порядок elementsFromPoint возле block на предыдущей строке в Safari Technology Preview 251» относится только к ситуации: hit testing сообщает контейнер раньше block-level box, расположенного на предыдущей строке. Условие успеха записывается до запуска: первым релевантным hit становится геометрически верхний block, а чистая область возвращает контейнер. Внешне похожая ошибка сама по себе ничего не доказывает; отдельно проверяется ловушка «обычный порядок stacking context, ошибочно выданный за ошибку list-based hit testing». Похожий внешний эффект не равен той же причине: feature detection, версия и неизменяемые условия фиксируются заранее; отсутствие API означает unsupported, а отсутствие наблюдения — unknown. Производственный сайт, реальный аккаунт и пользовательские данные исключены.

Что подтверждают Release 251 и 318909@main

Официальные WebKit Release Notes датированы 26 августа 2026 года и для Safari Technology Preview 251 сообщают: исправлен list-based hit testing, который сообщал контейнер раньше block-level box на более ранней строке. Строка релиза ведёт к первичной записи 318909@main; её commit title и доступность перепроверены 29 августа. Из release page и commit нельзя выводить массовость, рейтинг или результат на произвольном Mac. MacRumors, Reddit и snippets не повышают уровень evidence технического тезиса. Технический предел статьи совпадает с формулировкой 318909@main и не расширяется поисковым заголовком.

Стенд и рабочий артефакт 318909

Стенд: двухстрочный локальный layout с block-in-inline, цветными неперекрывающимися областями и сеткой контрольных точек. До воздействия без интерпретации запишите: координата точки, elementFromPoint, порядок elementsFromPoint, rect кандидатов, line index и pointer-events. Рабочий артефакт — карта попаданий «x/y → визуальная область → ordered hit list → ожидаемый owner». Собирайте только allowlist полей стенда и отметку валидности. Любая потребность в реальном аккаунте, полном логе, адресе, секрете или содержимом пользователя немедленно останавливает эксперимент. Наблюдение не интерпретируется до прохождения control и финального cleanup.

Контроль, который может опровергнуть гипотезу

Контроль готовят до canary, иначе он превращается в объяснение задним числом. Для этой боли используется: тот же block как обычный sibling вне inline и точка на чистой области контейнера. Он проходит тот же порядок запуска, settle-событие и набор полей, что основная ветка. Риск «обычный порядок stacking context, ошибочно выданный за ошибку list-based hit testing» получает отдельный признак. Canary и control различаются одной переменной. Совместное отклонение опровергает чистоту стенда, а не подтверждает баг; соседняя причина отмечается отдельно. Такой дизайн делает тезис опровержимым и не требует доступа к исходным данным пользователя.

Одно обратимое воздействие

Разрешён один шаг: снять ordered hit list в одной точке block на предыдущей строке и повторить после rollback стиля. Сначала снимите baseline, затем выполните только указанную операцию, дождитесь заранее выбранного события завершения и повторите поля «координата точки, elementFromPoint, порядок elementsFromPoint, rect кандидатов, line index и pointer-events». Протокол имеет три точки: before, one-change и after-rollback. Различие засчитывается только между сопоставимыми снимками; невосстановившееся состояние закрывает опыт. PASS допустим, когда первым релевантным hit становится геометрически верхний block, а чистая область возвращает контейнер. Результат не усиливают словами о массовости; production, VPN, маршрутизация, чужие сайты и реальные media остаются вне опыта.

Stop-line, решение и минимальный handoff

В отчёт попадает не впечатление, а заранее определённый критерий PASS. Остановитесь, если элементы перекрыты transform, pointer-events изменён, координата попала на границу пикселя или идёт scroll. Финальная запись хранит карта попаданий «x/y → визуальная область → ordered hit list → ожидаемый owner», результат контроля, отметку rollback и ссылку на 318909@main. Не превращайте not reproduced в опровержение для всех. Результат описывает лишь этот build и выбранный control, а пробелы получают явный unknown. Воспроизводимость обеспечивают короткий fixture и рабочий артефакт, а не полный лог машины. Добавьте commit, expected, actual и отметку успешного возврата. PASS означает только условие «первым релевантным hit становится геометрически верхний block, а чистая область возвращает контейнер». Материал не обещает индексацию, позиции, поисковый спрос, stable-поддержку или автоматическое исправление.

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

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

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

Ответы

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

Ваш ответ

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

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

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