Label не включает input внутри Shadow DOM в Edge 152: проверка referenceTarget. People-first инструкция: отдельный baseline, один обратимый тест, схема ссылок «внешний атрибут → shadow host → reference target → наблюдаемый control» и стоп-линия без персональных данных.
Сценарий, который здесь разбирается
Материал решает один вопрос: как проверить referenceTarget для label и Shadow DOM в Edge 152. Наблюдаемая боль сформулирована отдельно: внешний label или ARIA-ссылка указывает на host, но не достигает настоящего элемента управления внутри shadow tree. Совпадение со временем обновления не доказывает причину. До настроек запишите expected и actual одним предложением, точную версию браузера и id host-элемента, id внутреннего control, режим shadow root, значение referenceTarget, accessible name и факт передачи фокуса по label. Не добавляйте соседние проблемы сети, аккаунта, расширений или устройства, если они не меняют этот контроль. Цель — получить схема ссылок «внешний атрибут → shadow host → reference target → наблюдаемый control», а не объявить Edge виновным по одному случаю. Неизвестное значение помечается unknown; память пользователя о прежнем поведении не заменяет зафиксированное состояние.
Факт и его ограничения
Официальные web platform release notes указывают: Edge 152 включает ShadowRoot.referenceTarget и shadowrootreferencetarget: ID-ссылки на shadow host могут перенаправляться к выбранному элементу внутри shadow tree, включая for, aria-labelledby, popovertarget и commandfor. Это заявленная возможность Edge 152, но наличие API проверяется на фактической четырёхчастной версии и в конкретном контексте. Документ подтверждает область функции, но не популярность запроса, частоту ошибки, поддержку каждым сайтом или выигрыш производительности. Второй первичный источник — «MDN attachShadow reference» — задаёт независимую модель проверки: MDN описывает создание shadow root и параметр referenceTarget для перенаправления ссылок; источник ограничивает вывод конкретной структурой компонента. Форумный пост или поисковый сниппет может быть лишь поводом открыть документацию; здесь он не используется как доказательство причины.
Baseline без лишних данных
Контрольный снимок включает: id host-элемента, id внутреннего control, режим shadow root, значение referenceTarget, accessible name и факт передачи фокуса по label. Снимайте его до воздействия и сразу после, с одинаковой тестовой страницей и одним профилем. Запишите время, канал и полный номер версии, но не профиль пользователя, историю, IP, cookie, токены или содержимое рабочих полей. Для сценария «внешний label или ARIA-ссылка указывает на host, но не достигает настоящего элемента управления внутри shadow tree» отдельно отметьте вход, который реально наблюдается, и ожидаемый безопасный fallback. Если обязательный вход недоступен или нельзя очистить данные, не продолжайте: статус остаётся unknown, а не превращается в догадку.
Canary на одном объекте
Выполните одно воздействие: создать минимальный custom element с одним checkbox, сначала оставить ссылку только на host, затем назначить reference target и сравнить фокус, checked и accessibility tree. Порядок фиксированный: A — исходное состояние, B — единственное изменение, затем A2 — возврат. Между шагами не обновляйте ОС, браузер, драйвер, framework и тестовый код одновременно. Наблюдайте только поля baseline и заранее определённый outcome. Практическая запись идёт в схема ссылок «внешний атрибут → shadow host → reference target → наблюдаемый control». Если возврат не восстанавливает исходное поведение, связь не подтверждена; остановитесь вместо добавления новых вмешательств. Само нажатие rollback не считается возвратом, пока A2 не проверено тем же наблюдением.
Decision table после canary
Сведите результат в схема ссылок «внешний атрибут → shadow host → reference target → наблюдаемый control». Для каждой строки используйте reproduced, not reproduced, stopped или unknown. Reproduced означает лишь локальное повторение при записанных входах; not reproduced означает, что именно этот контроль не повторил симптом. Stopped нужен, если нарушена стоп-линия или rollback. Для боли «внешний label или ARIA-ссылка указывает на host, но не достигает настоящего элемента управления внутри shadow tree» сравнивайте точное наблюдение, а не название возможности. Различайте unsupported, policy/token unavailable, invalid input и runtime failure: эти ветви требуют разных владельцев и не должны сливаться в общее «не работает».
Красные флаги и эскалация
Критерий остановки: не менять одновременно структуру компонента и ARIA-имена и не делать вывод по одному клику без клавиатурной проверки. Для обращения сохраните точную версию, короткие expected/actual, минимальные шаги A–B–A2, статус rollback и схема ссылок «внешний атрибут → shadow host → reference target → наблюдаемый control». Перед отправкой удалите имена, адреса, пути профиля, идентификаторы устройств, сетевые адреса, содержимое форм, ключи и полные логи. Укажите, что проверялся конкретный intent «как проверить referenceTarget для label и Shadow DOM в Edge 152», а массовость и поисковый спрос не измерялись. Не обещайте исправление или межбраузерную поддержку: пакет должен позволить владельцу воспроизвести границу с минимальным раскрытием данных.
Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения, статус stable/origin trial, источники и границы вывода постатейно сверены с указанными первичными документами 29 августа 2026 года.
Источники и проверка
- Microsoft Edge 152 web platform release notes проверено 2026-08-29
- MDN attachShadow reference проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.