Подсказка смещена внутри textarea в Edge 152: проверка OpaqueRange без mirror div. People-first инструкция: отдельный baseline, один обратимый тест, журнал геометрии «offsets × scrollTop × range rect × control rect × popover delta» и стоп-линия без персональных данных.
Отдельный проверяемый вопрос
Материал решает один вопрос: как проверить OpaqueRange и позицию подсказки в textarea Edge 152. Наблюдаемая боль сформулирована отдельно: inline-подсказка или popover привязывается не к тому фрагменту текста внутри form control. Совпадение со временем обновления не доказывает причину. До настроек запишите expected и actual одним предложением, точную версию браузера и value length, start/end offsets, scrollTop, direction, font metrics, rect результата и позиция popover относительно control. Не добавляйте соседние проблемы сети, аккаунта, расширений или устройства, если они не меняют этот контроль. Цель — получить журнал геометрии «offsets × scrollTop × range rect × control rect × popover delta», а не объявить Edge виновным по одному случаю. Неизвестное значение помечается unknown; память пользователя о прежнем поведении не заменяет зафиксированное состояние.
Свежий первичный сигнал
Официальные web platform release notes указывают: Edge 152 включает OpaqueRange — живой диапазон текста в textarea или текстовом input с getBoundingClientRect/getClientRects и Custom Highlight integration; startContainer и endContainer при этом возвращают null для сохранения инкапсуляции. Это заявленная возможность Edge 152, но наличие API проверяется на фактической четырёхчастной версии и в конкретном контексте. Документ подтверждает область функции, но не популярность запроса, частоту ошибки, поддержку каждым сайтом или выигрыш производительности. Второй первичный источник — «Microsoft Edge OpaqueRange demo» — задаёт независимую модель проверки: Официальный репозиторий демонстраций Microsoft Edge показывает применение OpaqueRange к form control; пример используется только как модель API, не как результат конкретного сайта. Форумный пост или поисковый сниппет может быть лишь поводом открыть документацию; здесь он не используется как доказательство причины.
Минимальный набор наблюдений
Контрольный снимок включает: value length, start/end offsets, scrollTop, direction, font metrics, rect результата и позиция popover относительно control. Снимайте его до воздействия и сразу после, с одинаковой тестовой страницей и одним профилем. Запишите время, канал и полный номер версии, но не профиль пользователя, историю, IP, cookie, токены или содержимое рабочих полей. Для сценария «inline-подсказка или popover привязывается не к тому фрагменту текста внутри form control» отдельно отметьте вход, который реально наблюдается, и ожидаемый безопасный fallback. Если обязательный вход недоступен или нельзя очистить данные, не продолжайте: статус остаётся unknown, а не превращается в догадку.
Контроль и обязательный rollback
Выполните одно воздействие: на одном обезличенном textarea выделить фиксированные offsets, получить rect через OpaqueRange, прокрутить control на известное значение и сравнить новое положение без mirror div. Порядок фиксированный: A — исходное состояние, B — единственное изменение, затем A2 — возврат. Между шагами не обновляйте ОС, браузер, драйвер, framework и тестовый код одновременно. Наблюдайте только поля baseline и заранее определённый outcome. Практическая запись идёт в журнал геометрии «offsets × scrollTop × range rect × control rect × popover delta». Если возврат не восстанавливает исходное поведение, связь не подтверждена; остановитесь вместо добавления новых вмешательств. Само нажатие rollback не считается возвратом, пока A2 не проверено тем же наблюдением.
Критерии reproduced и unknown
Сведите результат в журнал геометрии «offsets × scrollTop × range rect × control rect × popover delta». Для каждой строки используйте reproduced, not reproduced, stopped или unknown. Reproduced означает лишь локальное повторение при записанных входах; not reproduced означает, что именно этот контроль не повторил симптом. Stopped нужен, если нарушена стоп-линия или rollback. Для боли «inline-подсказка или popover привязывается не к тому фрагменту текста внутри form control» сравнивайте точное наблюдение, а не название возможности. Различайте unsupported, policy/token unavailable, invalid input и runtime failure: эти ветви требуют разных владельцев и не должны сливаться в общее «не работает».
Что передать владельцу системы
Критерий остановки: не записывать содержимое пользовательского поля и не возвращаться к скрытой зеркальной копии без отдельного сравнения доступности. Для обращения сохраните точную версию, короткие expected/actual, минимальные шаги A–B–A2, статус rollback и журнал геометрии «offsets × scrollTop × range rect × control rect × popover delta». Перед отправкой удалите имена, адреса, пути профиля, идентификаторы устройств, сетевые адреса, содержимое форм, ключи и полные логи. Укажите, что проверялся конкретный intent «как проверить OpaqueRange и позицию подсказки в textarea Edge 152», а массовость и поисковый спрос не измерялись. Не обещайте исправление или межбраузерную поддержку: пакет должен позволить владельцу воспроизвести границу с минимальным раскрытием данных.
Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения, статус stable/origin trial, источники и границы вывода постатейно сверены с указанными первичными документами 29 августа 2026 года.
Источники и проверка
- Microsoft Edge 152 web platform release notes проверено 2026-08-29
- Microsoft Edge OpaqueRange demo проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.