CSSPseudoElement в Chrome 152: проверка событий новых псевдоэлементов. Локальная privacy-safe диагностика: таблица object × pseudo type × event target × coordinates; независимый control, одно обратимое действие, дерево решения и stop-line без утверждений о массовости.
Граница запроса: CSSPseudoElement в Chrome 152: проверка событий новых псевдоэлементов
Проверяемая боль сформулирована узко: обработчик получает не тот псевдоэлемент или не отличает клик по backdrop от клика внутри диалога. Нормализованный запрос — «как проверить CSSPseudoElement для backdrop scroll-marker и view-transition в Chrome 152». До запуска фиксируется не желаемый диагноз, а наблюдаемый артефакт: таблица object × pseudo type × event target × coordinates. Его поля: objectId,pseudoType,eventType,targetType,x,y,transitionPhase. Успех и отказ читаются по правилу: если новый тип даёт объект и цель отличается от content — supported; null при рабочем ::before — type-gap; совпавшая цель — fixture-ambiguous. Это отделяет feature support, ошибку стенда, влияние policy и неизвестный исход. Результат нельзя переносить на другой build, иной браузер, произвольный сайт или всех пользователей. Проверка не затрагивает VPN, маршрутизацию, бот, worker, SQLite и рабочие аккаунты VOne.
Что подтверждает первичный корпус Chrome 152 для chrome-152-css-pseudoelement-event-boundary
Chrome Developers опубликовал Chrome 152 и материалы DevTools 25 августа 2026 года. Для этой страницы релевантен конкретный факт: спецификация определяет CSSPseudoElement и связь псевдоэлемента с originating element. Второй источник — CSS Pseudo-Elements Level 4; он задаёт инженерную поверхность, а не пользовательскую статистику. Официальные страницы подтверждают наличие механизма или изменения, но не доказывают поисковый спрос, частоту симптома, результат на конкретном сайте либо универсальную совместимость. Google News и публичные Reddit, Stack Overflow, Google Help, Microsoft Learn, Apple Support, Mozilla Support и Habr Q&A рассматривались только как leads.
Локальный стенд и поля артефакта таблица object × pseudo type × event target × coordinates
Используйте изолированный профиль и следующий стенд: локальная страница с dialog, scroll-marker и одной view-transition; у каждого originating element свой test-id. До действия запишите версию Chrome, платформу, feature/policy state и точное начальное состояние. Основной результат — таблица object × pseudo type × event target × coordinates; обязательные колонки: objectId,pseudoType,eventType,targetType,x,y,transitionPhase. Значение записывают вместе с моментом наблюдения и способом получения, а недоступное поле помечают unknown, не заменяя нулём. Из стенда исключаются cookies, Authorization, IP, реальные домены, device labels, локальные пути, тексты, изображения и media пользователя. Разрешены только synthetic identifiers и test-only endpoints, которые удаляются после опыта.
Отрицательный контроль для боли «обработчик получает не тот псевдоэлемент или не отличает клик по backdrop от клика внутри диалога»
Независимый control: обычный ::before того же элемента и клик по содержимому dialog. Он выполняется первым и обязан показать, что fixture способен различить ожидаемые ветви. Затем меняется ровно одна переменная: получить объекты через pseudo(), подписать один тип события и повторить фиксированный клик. Версия, viewport, locale, network emulation, cache state и прочие параметры, не относящиеся к гипотезе, сохраняются одинаковыми. После воздействия исходное состояние возвращают и повторяют control. Если control падает, итог получает fixture-invalid; если результат не повторяется после rollback, статус — non-repeatable. Нельзя добавлять обходной код в середине опыта, потому что он стирает причинную границу.
Дерево решения по данным objectId,pseudoType,eventType,targetType,x,y,transitionPhase
Заполняйте таблица object × pseudo type × event target × coordinates по одной строке на наблюдение и не смешивайте ветви. Решающее правило: если новый тип даёт объект и цель отличается от content — supported; null при рабочем ::before — type-gap; совпавшая цель — fixture-ambiguous. Сначала сравните control с заранее записанным oracle, затем экспериментальную ветку с тем же oracle, после чего проверьте повторяемость. Отсутствующая поверхность означает unsupported, внешняя policy — policy-blocked, отказ permission — user-decision, а невозможность наблюдать поле — unknown. Только одно устойчивое различие при зелёном control допускает узкий вывод reproduced. Такой вывод не обещает исправление и не приписывает причину всем похожим симптомам; он формирует проверяемый следующий шаг.
Stop-line, cleanup и минимизированный handoff для chrome-152-css-pseudoelement-event-boundary
Безопасная граница задана заранее: не собирать аналитику реальных кликов и остановиться при отсутствии synthetic fixture. После теста закройте test tabs и DevTools, остановите tracks/workers/devices, удалите highlights, registrations, reports и локальные logs, созданные fixture, верните policy/setting в исходное состояние и подтвердите rollback отдельной строкой. Handoff содержит build, fixture version, objectId,pseudoType,eventType,targetType,x,y,transitionPhase, expected/observed, результат control и cleanup. В него не входят tokens, cookies, полные URLs, memory dumps, сырые request bodies, media, идентификаторы устройства и конфигурации пользователя. Если минимизация или восстановление невозможны, результат не готов к публикационной рекомендации.
Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным и первичным источникам; факты, дата и ссылки перепроверены человеком. Реальные пользовательские данные и рабочие конфигурации не использовались.
Источники и проверка
- Google Chrome Releases — Chrome 152 stable проверено 2026-08-29
- CSS Pseudo-Elements Level 4 проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.