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

Safari Technology Preview 251: scrollTo внутри content-visibility hidden

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

Safari Technology Preview 251: scrollTo внутри content-visibility hidden. People-first диагностика: состояния «visibility → requested top → stored top → revealed marker»; синтетический fixture, независимый контроль, одно обратимое воздействие, stop-line и обезличенный handoff.

Короткий ответ и область проверки

Прямой ответ на запрос «как проверить element scroll и scrollTo внутри content visibility hidden subtree Safari Technology Preview 251» начинается с границы: проверяется только боль «element.scrollTo не меняет внутреннюю позицию scroller, пока его предок скрыт через content-visibility:hidden» на локальном fixture. Успех заранее определяется так: запрошенный scrollTop сохраняется и проявляется после раскрытия, контроль подтверждает ту же достижимую границу. Нельзя подменять его похожей картинкой, общей скоростью браузера или выводом о стабильном Safari. Отдельная ловушка — размонтирование subtree, ошибочно названное ограничением content-visibility. Исход получает один из статусов reproduced, not reproduced, unsupported, environment-blocked, invalid или unknown. Первое наблюдение не считается доказательством, пока контроль и возврат к baseline не подтвердили, что изменилась ровно одна причина.

Свежий факт и предел доказательства

Официальная страница WebKit от 26 августа 2026 года относит к Safari Technology Preview 251 следующий change item: исправлены element.scroll() и element.scrollTo() внутри subtree с content-visibility:hidden. Техническая ссылка — 319219@main. Release note и commit подтверждают наличие конкретного изменения в ветке, но не частоту жалоб, спрос, причинность для чужой страницы, результат на данном компьютере или перенос в стабильный выпуск. Публичная ветка MacRumors перепроверена только как community lead. Её текст, реакции и поисковые snippets не используются как фактологическое evidence и не дают права писать о массовости.

Паспорт воспроизведения

Fixture: локальный hidden subtree с внутренним scroller фиксированной высоты и маркерами начала/конца. До действия без интерпретации записываются content-visibility state, requested top, scrollTop до/после, scrollHeight и положение маркера после раскрытия. Рабочий артефакт — состояния «visibility → requested top → stored top → revealed marker». У каждой строки есть expected, observed, время, версия TP 251 и флаг валидности. Используются только синтетические данные. Запрещено сохранять cookie, IP, Authorization, токены, реальные URLs с query, имена профилей, пользовательские файлы и полные логи. Если нужное поле нельзя получить без персональных или секретных данных, тест останавливается: пробел не заполняют догадкой и не расширяют сбор.

Пара, способная опровергнуть гипотезу

Контрольная ветка готовится до canary: идентичный scroller, который остаётся visible на протяжении вызова. Она проверяет, не объясняется ли симптом общей средой или тестовой обвязкой. Риск «размонтирование subtree, ошибочно названное ограничением content-visibility» получает собственную колонку, потому что совпадение внешнего вида не означает совпадение причины. Если control отклоняется вместе с основной веткой, результат invalid и публикационная формулировка не утверждает воспроизведение. Такой контроль не обещает универсальной корректности; он лишь делает конкретный вывод опровержимым и не позволяет замаскировать соседний сбой вторым изменением.

Протокол одного воздействия

Основной шаг: вызвать scrollTo только в hidden-состоянии, затем переключить visibility на visible и считать позицию. Сначала фиксируется baseline, затем выполняется только указанное воздействие, после заранее выбранного settle-события повторно снимаются content-visibility state, requested top, scrollTop до/после, scrollHeight и положение маркера после раскрытия. Далее состояние полностью возвращается и baseline измеряется ещё раз. PASS возможен, когда запрошенный scrollTop сохраняется и проявляется после раскрытия, контроль подтверждает ту же достижимую границу. Production, реальные аккаунты, чужие сайты, VPN-конфиги, маршрутизация и пользовательские данные в процедуру не входят. Если rollback не возвращает исходные признаки, весь прогон помечается invalid независимо от привлекательности результата.

Решение и минимальный handoff

Финальное решение хранится как состояния «visibility → requested top → stored top → revealed marker». Reproduced означает только выполнение условия «запрошенный scrollTop сохраняется и проявляется после раскрытия, контроль подтверждает ту же достижимую границу» на этом стенде; not reproduced не опровергает проблему в других средах. Стоп-линия: остановиться, если DOM размонтирован, размеры вычисляются лениво иначе, вызывается window.scrollTo или framework сбрасывает scrollTop. Для передачи разработчику достаточно минимального fixture, версии, обезличенных значений «content-visibility state, requested top, scrollTop до/после, scrollHeight и положение маркера после раскрытия», результата контрольной ветки, отметки rollback и ссылки на 319219@main. Статья не обещает индексацию, позиции, спрос, стабильную поддержку или автоматическое исправление; сомнительный либо неполный прогон не должен становиться новым URL.

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

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

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

Ответы

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

Ваш ответ

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

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

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