Обзор стабильных и экспериментальных функций
Ноябрь 2025 принёс существенные пополнения в набор стандартов, поддерживаемых современными браузерами. Большинство нововведений уже доступны в стабильных версиях Chrome, Edge и Safari, а Firefox продолжает их тестировать в бета‑канале. Расширения охватывают CSS, HTML, JavaScript, новые API для работы с мультимедиа, а также улучшения безопасности и производительности.
Расширения возможностей CSS
CSS Typed OM v2
Новый уровень CSS Typed Object Model (Typed OM) предоставляет типизированный доступ к стилям, позволяя манипулировать свойствами без строковых парсингов. В Typed OM v2 добавлены методы setProperty, removeProperty и getComputedStyleMap, работающие с объектами CSSStyleValue. Это упрощает динамическое изменение стилей и повышает скорость их применения, особенно в интерактивных UI‑компонентах.
Позиционирование с contain-intrinsic-size
Введённый в Chrome 119 и Safari 17, свойство contain-intrinsic-size позволяет задавать размер контент‑контейнера заранее, уменьшая перерасчёт макета при загрузке асинхронных ресурсов. Это особенно полезно для списков с бесконечной прокруткой и ленивой загрузкой изображений, где предсказуемый размер контента снижает «скачки» макета (layout shift).
Улучшения в grid и flex
grid-template-areasтеперь поддерживает синтаксис с двойными кавычками, упрощая запись сложных шаблонов.- В
flexдобавлен параметрflex-basis: content, позволяющий элементу автоматически подстраиваться под размер своего содержимого без явного указания ширины/высоты.
Обновления в HTML
<dialog> в режиме modal без JavaScript
Новый атрибут modal у тега <dialog> делает диалоговое окно модальным без необходимости в вызове showModal() из скриптов. Это упрощает создание подтверждающих окон и форм, улучшая доступность за счёт автоматического фокус‑менеджмента.
<slot> с поддержкой fallback‑контента
В Web Components <slot> теперь поддерживает элемент <fallback>, который рендерится, если слот остаётся пустым. Это позволяет задавать более гибкие шаблоны без дополнительных проверок в JavaScript.
JavaScript и новые возможности языка
Объекты Temporal в стабильных браузерах
Библиотека Temporal, представляемая в качестве стандарта ECMA‑402, теперь полностью реализована в Chrome 120, Edge 120 и Safari 17. Temporal предоставляет типы PlainDate, PlainTime, ZonedDateTime и Duration, избавляя разработчиков от проблем с Date и сторонними библиотеками. Пример использования:
const meeting = Temporal.ZonedDateTime.from('2025-12-01T10:00:00+03:00[Europe/Moscow]');
const inTwoWeeks = meeting.add({ weeks: 2 });
Поддержка импортов JSON‑модулей
Стандартный импорт JSON теперь доступен без флага --experimental-json-modules. Файлы .json могут быть импортированы как модули:
import config from './config.json' assert { type: 'json' };
Это упрощает конфигурацию и локализацию, устраняя необходимость в отдельном сборщике.
Новые API для мультимедиа и графики
WebGPU 2.0
В Chrome 120 и Safari 17 реализована вторая версия WebGPU, вводящая поддержку compute pipelines и indirect draw. Это расширяет возможности браузерных игр и научных визуализаций, позволяя выполнять сложные вычисления без обращения к WebAssembly.
MediaCapabilities API v2
Обновлённый API предоставляет методы decodingInfo и encodingInfo с поддержкой HDR‑видео, AV1‑кодека и 10‑битного цвета. Браузеры могут заранее оценить возможность воспроизведения или записи контента, адаптируя битрейт и разрешение в реальном времени.
Безопасность и конфиденциальность
Политика document.domain — отказ
В целях усиления изоляции контекстов, document.domain теперь считается устаревшим и полностью игнорируется в новых версиях браузеров. Вместо него рекомендуется использовать Cross‑Origin‑Opener‑Policy (COOP) и Cross‑Origin‑Embedder‑Policy (COEP) для безопасного взаимодействия между окнами и фреймами.
Permission‑Policy — новый директив camera
Добавлена директива camera в Permission-Policy, позволяющая явно ограничивать доступ к камере на уровне страницы. Пример заголовка:
Permissions-Policy: camera=()
Это упрощает реализацию политик конфиденциальности без необходимости писать дополнительный JavaScript.
Инструменты разработчика
DevTools Performance Panel v3
Новый панель Performance в Chrome 120 отображает метрики Layout Shift и CLS (Cumulative Layout Shift) в реальном времени, а также предоставляет автоматический отчёт о «плохих» анимациях. Поддержка аналогичного интерфейса уже реализована в Edge и Safari.
Lighthouse 13
Lighthouse обновлён до версии 13, включающей проверки WebGPU‑совместимости, Temporal‑использования и новых рекомендаций по contain-intrinsic-size. Интеграция с CI‑пайплайнами упрощена за счёт нового CLI‑флага --json-output.
Заключительные мысли
Ноябрь 2025 стал вехой в эволюции веб‑платформы: новые возможности CSS и HTML делают разметку более выразительной и предсказуемой, а расширения в JavaScript и WebGPU открывают путь к более сложным клиентским приложениям. Усиленные механизмы безопасности и улучшенные инструменты разработки позволяют создавать продуктивные, быстрые и защищённые веб‑решения без необходимости в сторонних библиотеках. Поддержка этих возможностей уже доступна в основных браузерах, что делает их готовыми к использованию в текущих проектах.