Сервис развивается: тестируем формат, собираем идеи, улучшаем сервис. Есть идеи?

Написать
Войти
Дайджесты
Иллюстрация новых возможностей и API веб-разработки в Firefox 153

Новинки Firefox 153 для веб-разработчиков: Intl.Locale API, Text-модули и отладка

Вышел стабильный релиз браузера Firefox 153 с важными обновлениями для веб-инженеров. Выпуск включает официальные методы исследуемой локали Intl.Locale info, безопасный импорт текстовых модулей через ES-синтаксис with { type: "text" }, доработки Popover API и инспектора доступности.

Новинки Firefox 153 для веб-разработчиков: Intl.Locale API, Text-модули и отладка

Вышел официальный стабильный релиз браузера Firefox 153, содержащий обширный набор новых веб-API, улучшений для разработчиков расширений и обновлений инструментов отладки DevTools. Выпуск делает важный шаг в направлении стандартизации методов интернационализации и безопасного импорта внешних ресурсов.

Новые методы JavaScript и интернационализация Intl.Locale

Главным обновлением стандартов ECMAScript в релизе стало добавление методов спецификации Intl.Locale info. Теперь веб-приложения могут напрямую запрашивать у браузера региональные настройки пользователя без использования внешних тяжелых библиотек.

Новые доступные методы объекта Intl.Locale:

  • getCalendars() — список поддерживаемых календарей для заданной локали;
  • getHourCycles() — используемый формат времени (12-часовой или 24-часовой);
  • getNumberingSystems() — система нумерации и формат цифр;
  • getTimeZones() — ассоциированные часовые пояса;
  • getWeekInfo() — информация о первом дне недели и выходных днях.

Также в движке JavaScript появилась поддержка свойства Error.stackTraceLimit, позволяющего управлять максимальным числом кадров стека вызовов при отладке ошибок.

Безопасные текстовые модули: синтаксис with { type: "text" }

Firefox 153 внедряет поддержку импорта текстовых файлов через стандартный синтаксис JavaScript-модулей:

import textContent from "./templates/doc.txt" with { type: "text" };

Ключевая особенность нововведения заключается в безопасности: содержимое импортируемого текстового файла разбирается исключительно как обычная строка, даже если файл содержит внедренный JavaScript-код или HTML-теги. Это предотвращает риски исполнения сторонних скриптов при загрузке внешних шаблонов, шейдеров и текстовых ресурсов.

Разработчикам следует отличать этот API от фазовых импортов (import source): Firefox 153 поддерживает синтаксическую основу фазовых импортов, но представление для WebAssembly пока не реализовано, поэтому текстовые модули остаются основным практическим инструментом релиза.

Улучшения работы с хранилищем IndexedDB

Для работы с локальными базами данных IndexedDB добавлены методы IDBObjectStore.getAllRecords() и IDBIndex.getAllRecords(). Они позволяют мгновенно запрашивать список записей вместе с их ключами в рамках одной операции, что упрощает выборку данных без создания вручную курсоров навигации.

Обновления медиа, WebRTC и асинхронного WebAssembly

Среди ключевых изменений сетевого и медийного стека релиза:

  • Picture-in-Picture API. Официальная поддержка вызова режима «картинка в картинке» для элементов <video> на десктопных операционных системах;
  • Доработки Popover API. Улучшено поведение всплывающих элементов с атрибутами auto и hint, оптимизировано управление фокусом клавиатуры;
  • WebRTC метрики и сертификаты. Метод RTCDtlsTransport.getRemoteCertificates() открывает доступ к сертификатам удаленного пира, а MediaCapabilities позволяет оценивать плавность трансляции;
  • WebAssembly JS Promise Integration. Добавлена возможность приостановки Wasm-модулей при ожидании исполнения JavaScript Promise.

Инспектор доступности DevTools и автотесты

Панель инспектора доступности (Accessibility Inspector) в Firefox 153 получила отображение уровня заголовков (h1h6) непосредственно в дереве элементов. Это ускоряет проверку семантической структуры страниц на соответствие стандартам доступности (WCAG).

Для специалистов по автоматизации тестирования обновлен протокол WebDriver BiDi, улучшивший эмуляцию временных зон и локалей внутри контекста фоновых веб-воркеров.

Изменения для авторов расширений (Add-ons)

Важное изменение безопасности касается веб-расширений: доступ к локальным файлам по протоколу file:// теперь отключен по умолчанию и требует явного подтверждения пользователя в настройках браузера. Разработчикам расширений необходимо обновить документацию и корректно обрабатывать отсутствие прав доступа.

Экспериментальные возможности в about:config

В релизе также присутствуют экспериментальные функции, доступные через флаговые настройки: начальная поддержка графического формата JPEG XL, функции селекторного отсчета sibling-count() в CSS и распознавание селекторов ::-webkit-scrollbar для обратной совместимости.

Углубленный разбор ECMAScript-фич и управления стеком

Помимо основных методов интернационализации, добавление свойства Error.stackTraceLimit в движок SpiderMonkey в Firefox 153 дает инженерам удобный инструмент регулирования объема собираемой отладочной информации. При значении Error.stackTraceLimit = 0 трассировка стека полностью отключается, что может существенно повысить скорость генерации массовых системных исключений во высоконагруженных циклах.

В то же время при локальной отладке сложных асинхронных цепочек вызовов увеличение stackTraceLimit позволяет увидеть полную историю вызовов функции сквозь несколько слоев асинхронных Promise.

Стратегия проверки совместимости и паттерны Feature Detection

При внедрении любых новых веб-API, появившихся в Firefox 153, обязательным правилом продуктовой разработки является применение паттернов безопасной проверки (Feature Detection) до вызова соответствующих методов в производственном коде:

if ('Locale' in Intl && typeof Intl.Locale.prototype.getCalendars === 'function') {
    const locale = new Intl.Locale('ru-RU');
    console.log(locale.getCalendars());
} else {
    // Резервный вариант для старых версий браузеров
}

Такой подход защищает веб-приложение от некритических ошибок на браузерах пользователей, еще не обновившихся до актуальной версии Firefox 153.

Практический чек-лист миграции на Firefox 153

Для продуктовых инженерных команд релиз Firefox 153 предлагает четкий алгоритм проверки веб-приложений:

  1. Аудит локализации и дат. Проверьте корректность работы с Intl.Locale при динамическом определении формата первого дня недели и 12/24-часового формата времени.
  2. Проверка работы с хранилищами. Проведите бенчмарк операций чтения в IndexedDB с использованием getAllRecords() на больших объемах тестовых данных.
  3. Регресс для расширений. Проверьте права локального доступа file:// в ваших браузерных расширениях и добавьте явные подсказки для пользователей.
  4. Тесты доступности и автоматизация. Запустите сквозные тесты (E2E) через обновленный WebDriver BiDi и проверьте дерево заголовков в панели Accessibility.

Систематический подход к тестированию новых возможностей веб-платформы гарантирует стабильную и безопасную работу веб-сервисов для миллионов пользователей.