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

Iframe не получает фокус в Edge 152: матрица user activation и Permissions Policy

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

Iframe не получает фокус в Edge 152: матрица user activation и Permissions Policy. People-first инструкция: отдельный baseline, один обратимый тест, матрица «policy × activation × focus call × activeElement × keyboard fallback» и стоп-линия без персональных данных.

Отдельный проверяемый вопрос

Материал решает один вопрос: как проверить focus-without-user-activation policy в iframe Edge 152. Наблюдаемая боль сформулирована отдельно: встроенный dialog, popover или autofocus не получает программный фокус без понятной причины. Совпадение со временем обновления не доказывает причину. До настроек запишите expected и actual одним предложением, точную версию браузера и top/frame origin, effective Permissions Policy, наличие user activation, вызванный focus API, activeElement в frame и возврат фокуса. Не добавляйте соседние проблемы сети, аккаунта, расширений или устройства, если они не меняют этот контроль. Цель — получить матрица «policy × activation × focus call × activeElement × keyboard fallback», а не объявить Edge виновным по одному случаю. Неизвестное значение помечается unknown; память пользователя о прежнем поведении не заменяет зафиксированное состояние.

Свежий первичный сигнал

Официальные web platform release notes указывают: Edge 152 перечисляет origin trial focus-without-user-activation: при запрете policy программные focus(), autofocus, window.focus(), dialog.showModal() и popover focusing внутри frame блокируются без user activation или делегирования. Это origin trial, а не стабильное обещание платформы: требуются регистрация origin, действующий token, feature detection и рабочая деградация. Документ подтверждает область функции, но не популярность запроса, частоту ошибки, поддержку каждым сайтом или выигрыш производительности. Второй первичный источник — «Microsoft Edge focus policy origin trial» — задаёт независимую модель проверки: Прямая trial-страница перечисляет блокируемые focus-вызовы, исключения для user activation/delegation и экспериментальный статус с регистрацией origin. Форумный пост или поисковый сниппет может быть лишь поводом открыть документацию; здесь он не используется как доказательство причины.

Минимальный набор наблюдений

Контрольный снимок включает: top/frame origin, effective Permissions Policy, наличие user activation, вызванный focus API, activeElement в frame и возврат фокуса. Снимайте его до воздействия и сразу после, с одинаковой тестовой страницей и одним профилем. Запишите время, канал и полный номер версии, но не профиль пользователя, историю, IP, cookie, токены или содержимое рабочих полей. Для сценария «встроенный dialog, popover или autofocus не получает программный фокус без понятной причины» отдельно отметьте вход, который реально наблюдается, и ожидаемый безопасный fallback. Если обязательный вход недоступен или нельзя очистить данные, не продолжайте: статус остаётся unknown, а не превращается в догадку.

Контроль и обязательный rollback

Выполните одно воздействие: на тестовом iframe сравнить один вызов focus после явного клика и один автоматический вызов при denied policy, сохраняя доступную ручную навигацию. Порядок фиксированный: A — исходное состояние, B — единственное изменение, затем A2 — возврат. Между шагами не обновляйте ОС, браузер, драйвер, framework и тестовый код одновременно. Наблюдайте только поля baseline и заранее определённый outcome. Практическая запись идёт в матрица «policy × activation × focus call × activeElement × keyboard fallback». Если возврат не восстанавливает исходное поведение, связь не подтверждена; остановитесь вместо добавления новых вмешательств. Само нажатие rollback не считается возвратом, пока A2 не проверено тем же наблюдением.

Критерии reproduced и unknown

Сведите результат в матрица «policy × activation × focus call × activeElement × keyboard fallback». Для каждой строки используйте reproduced, not reproduced, stopped или unknown. Reproduced означает лишь локальное повторение при записанных входах; not reproduced означает, что именно этот контроль не повторил симптом. Stopped нужен, если нарушена стоп-линия или rollback. Для боли «встроенный dialog, popover или autofocus не получает программный фокус без понятной причины» сравнивайте точное наблюдение, а не название возможности. Различайте unsupported, policy/token unavailable, invalid input и runtime failure: эти ветви требуют разных владельцев и не должны сливаться в общее «не работает».

Что передать владельцу системы

Критерий остановки: не перехватывать фокус пользователя циклом и не включать разрешение для всех third-party frames. Для обращения сохраните точную версию, короткие expected/actual, минимальные шаги A–B–A2, статус rollback и матрица «policy × activation × focus call × activeElement × keyboard fallback». Перед отправкой удалите имена, адреса, пути профиля, идентификаторы устройств, сетевые адреса, содержимое форм, ключи и полные логи. Укажите, что проверялся конкретный intent «как проверить focus-without-user-activation policy в iframe Edge 152», а массовость и поисковый спрос не измерялись. Не обещайте исправление или межбраузерную поддержку: пакет должен позволить владельцу воспроизвести границу с минимальным раскрытием данных.

Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения, статус stable/origin trial, источники и границы вывода постатейно сверены с указанными первичными документами 29 августа 2026 года.

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

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

Ответы

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

Ваш ответ

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

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

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