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

Reference Target в Chrome 152: проверка ARIA через Shadow DOM

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

Reference Target в Chrome 152: проверка ARIA через Shadow DOM. Локальная privacy-safe диагностика: граф external idref × host × internal target × accessible name; независимый control, одно обратимое действие, дерево решения и stop-line без утверждений о массовости.

Граница запроса: Reference Target в Chrome 152: проверка ARIA через Shadow DOM

Проверяемая боль сформулирована узко: внешний label или aria-labelledby указывает на host, но assistive tree не связывает внутренний control. Нормализованный запрос — «как проверить shadowrootreferencetarget aria-labelledby label for в Chrome 152». До запуска фиксируется не желаемый диагноз, а наблюдаемый артефакт: граф external idref × host × internal target × accessible name. Его поля: relationType,externalId,hostId,targetId,accessibleName,focusResult,popoverState. Успех и отказ читаются по правилу: связь только у reference target — pass; нет и у light control — fixture-invalid; связь у host-control — false-positive. Это отделяет feature support, ошибку стенда, влияние policy и неизвестный исход. Результат нельзя переносить на другой build, иной браузер, произвольный сайт или всех пользователей. Проверка не затрагивает VPN, маршрутизацию, бот, worker, SQLite и рабочие аккаунты VOne.

Что подтверждает первичный корпус Chrome 152 для chrome-152-shadowroot-reference-target-aria

Chrome Developers опубликовал Chrome 152 и материалы DevTools 25 августа 2026 года. Для этой страницы релевантен конкретный факт: первичный pull request описывает пересылку ID references через shadow host к объявленному reference target. Второй источник — WHATWG HTML pull request 10995; он задаёт инженерную поверхность, а не пользовательскую статистику. Официальные страницы подтверждают наличие механизма или изменения, но не доказывают поисковый спрос, частоту симптома, результат на конкретном сайте либо универсальную совместимость. Google News и публичные Reddit, Stack Overflow, Google Help, Microsoft Learn, Apple Support, Mozilla Support и Habr Q&A рассматривались только как leads.

Локальный стенд и поля артефакта граф external idref × host × internal target × accessible name

Используйте изолированный профиль и следующий стенд: два custom elements: один с declarative reference target, второй без него; текст полностью synthetic. До действия запишите версию Chrome, платформу, feature/policy state и точное начальное состояние. Основной результат — граф external idref × host × internal target × accessible name; обязательные колонки: relationType,externalId,hostId,targetId,accessibleName,focusResult,popoverState. Значение записывают вместе с моментом наблюдения и способом получения, а недоступное поле помечают unknown, не заменяя нулём. Из стенда исключаются cookies, Authorization, IP, реальные домены, device labels, локальные пути, тексты, изображения и media пользователя. Разрешены только synthetic identifiers и test-only endpoints, которые удаляются после опыта.

Отрицательный контроль для боли «внешний label или aria-labelledby указывает на host, но assistive tree не связывает внутренний control»

Независимый control: light-DOM input с тем же label и shadow host без reference target. Он выполняется первым и обязан показать, что fixture способен различить ожидаемые ветви. Затем меняется ровно одна переменная: по очереди активировать label, снять accessibility tree и вернуть focus в исходную точку. Версия, viewport, locale, network emulation, cache state и прочие параметры, не относящиеся к гипотезе, сохраняются одинаковыми. После воздействия исходное состояние возвращают и повторяют control. Если control падает, итог получает fixture-invalid; если результат не повторяется после rollback, статус — non-repeatable. Нельзя добавлять обходной код в середине опыта, потому что он стирает причинную границу.

Дерево решения по данным relationType,externalId,hostId,targetId,accessibleName,focusResult,popoverState

Заполняйте граф external idref × host × internal target × accessible name по одной строке на наблюдение и не смешивайте ветви. Решающее правило: связь только у reference target — pass; нет и у light control — fixture-invalid; связь у host-control — false-positive. Сначала сравните control с заранее записанным oracle, затем экспериментальную ветку с тем же oracle, после чего проверьте повторяемость. Отсутствующая поверхность означает unsupported, внешняя policy — policy-blocked, отказ permission — user-decision, а невозможность наблюдать поле — unknown. Только одно устойчивое различие при зелёном control допускает узкий вывод reproduced. Такой вывод не обещает исправление и не приписывает причину всем похожим симптомам; он формирует проверяемый следующий шаг.

Stop-line, cleanup и минимизированный handoff для chrome-152-shadowroot-reference-target-aria

Безопасная граница задана заранее: не использовать рабочую форму и остановиться, если дерево доступности нельзя получить без приватных данных. После теста закройте test tabs и DevTools, остановите tracks/workers/devices, удалите highlights, registrations, reports и локальные logs, созданные fixture, верните policy/setting в исходное состояние и подтвердите rollback отдельной строкой. Handoff содержит build, fixture version, relationType,externalId,hostId,targetId,accessibleName,focusResult,popoverState, expected/observed, результат control и cleanup. В него не входят tokens, cookies, полные URLs, memory dumps, сырые request bodies, media, идентификаторы устройства и конфигурации пользователя. Если минимизация или восстановление невозможны, результат не готов к публикационной рекомендации.

Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным и первичным источникам; факты, дата и ссылки перепроверены человеком. Реальные пользовательские данные и рабочие конфигурации не использовались.

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

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

Ответы

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

Ваш ответ

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

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

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