Пульс веб-платформы 13.04.2026


Новости

HTML video/audio lazy-loading стал стандартом — Chrome 148: loading="lazy" теперь работает для <video> и <audio>, не только для <img>. Firefox и WebKit на подходе. Разбор от Scott Jehl (Squarespace) с polyfill для старых браузеров.

BCD: новые фичи в Chrome и Firefox — Chrome: all: revert-layer, text-decoration-skip-ink: all (3/3 движка), getSecurePaymentConfirmationCapabilities. Firefox: img[sizes=auto]. За неделю — 5 новых поддержек, 15 новых BCD-записей.

Статьи, мнения, туториалы

CSS

CSS Containment от first principles — Harry Roberts: containment позволяет браузеру пропускать layout, paint и style-recalc для изолированных поддеревьев. Доступен годами, но недоиспользуем. Практические примеры когда contain: layout paint даёт выигрыш.

position:sticky per-axis scroll tracking — 9-летний spec issue закрыт: sticky-элементы теперь могут отслеживать разные scroll-контейнеры по горизонтали и вертикали. Ранее невозможные лейауты, первыми в Chromium.

light-dark() скоро научится работать с изображениями — light-dark() расширяется с цветов на изображения: одна декларация для swap фонов light/dark. Скоро в Chromium и Firefox.

JS/TS

Скрытая цена копипаста кода в ChatGPT — Исследование METR: опытные разработчики на сложных задачах стали на 19% медленнее с AI. Причина не в качестве генерации, а в workflow — постоянные переключения контекста, объяснение того, что IDE уже знает.

400 MiB пропали в Node.js контейнере — После рестарта подов память росла дискретными шагами и не возвращалась. Анализ через /proc и V8 inspector: рост в private dirty anonymous memory, heap не виноват. Нужно смотреть реальную картину аллокаций.

Security

Minimum Release Age — underrated supply chain defense — Одна конфигурация package manager блокирует быстрое supply-chain-атаки: запретить зависимости моложе N дней. Simple, но эффективный щит.

Инструменты

view-transitions-toolkit — Утилиты от Chrome Labs для View Transitions: паттерны, хелперы и демо из многолетних экспериментов Bramus Van Damme.

JSON import vs fetch: руководство по выборуimport data from './file.json' with { type: 'json' } не замена fetch(): пожизненный кэш, нет AbortController, минимум информации об ошибках. Чек-лист когда что использовать.