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 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318909@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.