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

CSS ident() создаёт неожиданное имя в Safari Technology Preview 251: проверка generated identifier

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

CSS ident() создаёт неожиданное имя в Safari Technology Preview 251: проверка generated identifier. Практическая проверка Safari Technology Preview 251: паспорт «вход ident × сериализованное имя × определение × ссылка × literal fallback», обратимый canary и ясный критерий остановки.

Симптом и граница CSS-функция ident()

Вопрос здесь один: как проверить css ident в safari technology preview 251 и сохранить явное имя. Наблюдаемое расхождение — сгенерированный identifier не связывает ожидаемые CSS-конструкции или сериализуется иначе, чем ручное имя. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «event start → transition state → completion → released listener». Любая другая ошибка остаётся за пределами этого URL.

Два первичных источника для 319049@main

Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет CSS-функция ident(). Эта строка ссылается на 319049@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.

Поля контроля: паспорт «вход ident × сериализованное имя × определение × ссылка × literal fallback»

Базовый набор для этой задачи: входные компоненты ident(), итоговая сериализация, место определения, место ссылки и ручной identifier-контроль. Поле «входные компоненты ident()»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «итоговая сериализация»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «место определения»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Поле «место ссылки»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «ручной identifier-контроль»: повторите после отката; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.

Обратимый опыт для CSS-функция ident()

Одиночный canary: в изолированном примере создать одно имя через ident() и одно буквальное имя с тем же ожидаемым значением, затем удалить генерацию. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Сравнивайте не только картинку, но и сериализованное имя в CSSOM, место определения и место ссылки. Буквальный identifier служит oracle для связи. Если generated name отличается, не переименовывайте все зависимости: минимальный пример должен показать одну пару definition-reference. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.

Как принять решение: паспорт «вход ident × сериализованное имя × определение × ссылка × literal fallback»

Практический итог — паспорт «вход ident × сериализованное имя × определение × ссылка × literal fallback». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «сгенерированный identifier не связывает ожидаемые CSS-конструкции или сериализуется иначе, чем ручное имя» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.

Красная линия и минимальный report 319049@main

Стоп-линия: не переименовывать production identifiers массово и не полагаться на визуальное совпадение без чтения CSSOM. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, паспорт «вход ident × сериализованное имя × определение × ссылка × literal fallback» и ссылки на 319049@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.

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

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

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

Ответы

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

Ваш ответ

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

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

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