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

Подсказка смещена внутри textarea в Edge 152: проверка OpaqueRange без mirror div

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

Подсказка смещена внутри 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 года.

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

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

Ответы

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

Ваш ответ

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

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

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