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

Safari Technology Preview 251 удаляет positioned element при подтверждении IME

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

Safari Technology Preview 251 удаляет positioned element при подтверждении IME. Локальная диагностическая процедура, timeline «composition events × DOM connected × value × focus × rect», отрицательный контроль и безопасный критерий остановки без production-данных.

Короткий ответ и точная граница симптома

Для запроса «как проверить сохранность positioned input после IME composition confirm в Safari Technology Preview 251» проверяется ровно одна ситуация: подтверждение IME composition приводит к исчезновению positioned-контейнера с редактируемым элементом. Контейнер должен оставаться connected и измеримым после compositionend. Потеря только видимости из-за CSS не называется удалением без DOM-проверки. Это вывод только для Safari Technology Preview 251 и минимального примера; стабильный Safari, другие браузеры и конкретный сайт требуют отдельного прогона. Ключевой риск ложного вывода: IME availability зависит от локальной системы; отсутствие composition events означает blocked environment, а не отсутствие дефекта. Поэтому ожидаемое состояние формулируется до действия, а неизвестный результат остаётся unknown.

Доказательная опора: Release 251 и 319167@main

Официальные release notes WebKit опубликованы 26 августа 2026 года и прямо сообщают: подтверждение IME composition больше не удаляет содержащий её positioned element. Пункт ведёт на 319167@main, то есть на первичную запись изменения в WebKit. Связка release page и commit подтверждает наличие технического изменения, но не его распространённость, поисковую частоту или результат на пользовательском проекте. Google News и публичные community-страницы остаются leads: их сниппеты, голоса и отдельные ответы не используются как доказательство причины.

Диагностический паспорт: timeline «composition events × DOM connected × value × focus × rect»

До воздействия заполните поля: compositionstart/update/end, input value, connected state контейнера, position mode, activeElement, mutation records и rect после подтверждения. Рабочий артефакт — timeline «composition events × DOM connected × value × focus × rect». Отрицательный или сравнительный контроль: обычный ввод без composition показывает, сохраняется ли контейнер вне IME-пути. К каждому наблюдению добавляются точная сборка TP 251, время, zoom и короткие expected/observed; сведения из памяти не подставляются. Не сохраняются имя профиля, IP, cookie, токены, Authorization, локальные пути, полные URL с приватными query и содержимое рабочих документов. Если обязательное поле нельзя измерить безопасно, статья предписывает остановку, а не догадку.

Пошаговый canary, контроль и полный возврат

На отдельной локальной странице нужно на локальном поле внутри position:absolute контейнера ввести короткую синтетическую строку через установленный IME, подтвердить composition, затем очистить поле и вернуть раскладку. Сначала снимается baseline, затем меняется только одна названная переменная и выполняется один заранее определённый ввод. После записи результата применяется контроль: обычный ввод без composition показывает, сохраняется ли контейнер вне IME-пути. Затем исходное состояние полностью восстанавливается и baseline измеряется ещё раз. Прогон получает invalid test, если rollback не вернул исходные значения, вмешалось расширение, не пришло доверенное пользовательское событие или среда не предоставляет нужный API/UI. В таком случае не добавляют второе изменение и не объявляют браузер неисправным.

Развилка решения, красная линия и пакет воспроизведения

Контейнер должен оставаться connected и измеримым после compositionend. Потеря только видимости из-за CSS не называется удалением без DOM-проверки. Практический результат хранится как timeline «composition events × DOM connected × value × focus × rect». Статус reproduced ставится только после одинакового повторения и успешного rollback; not reproduced относится лишь к текущему fixture; unsupported и environment-blocked не смешиваются с unknown. Красная линия: не записывать реальные набираемые фразы и не автоматизировать смену системного источника ввода. Для передачи в поддержку достаточно версии, минимального HTML/CSS/JS, таблицы expected/observed, контрольного результата и ссылки на 319167@main. Перед отправкой удаляются идентификаторы и реальные данные. Материал не обещает исправление, индексацию, позицию или универсальное поведение другой версии Safari.

Материал подготовлен редакцией VOne с помощью ИИ; дата, первичный WebKit commit, техническая граница, контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.

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

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

Ответы

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

Ваш ответ

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

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

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