Firefox 88

Firefox 88 — второй весенний выпуск свободного веб-браузера.

CSS

  • Поддержка функции image-set() включена по умолчанию. image-set() позволяет исполь­зовать в CSS адаптивный подход к загрузке изобра­жений. По сравнению с экспери­ментальной реализацией, доступной начиная с Firefox 86, добавлена поддержка image-set() в свойствах content (баг 1695403) и cursor (баг 1695402).
  • Скругление внешней рамки, задаваемой свойством outline, теперь привязано к радиусу обычной рамки — border-radius. Параллельно отключена поддержка нестандартного свойства -moz-outline-radius, позволявшего явным образом управлять радиусом скругления outline-рамки — соответствующий скрытый параметр layout.css.moz-outline-radius.enabled на странице about:config теперь установлен в значение false.
  • Поддержка псевдо­классов :user-valid и :user-invalid для управления оформлением полей форм, заполненных соответственно правильно и неправильно в соответствии с HTML-атрибутами required, type и проч. Ранее функцио­нальность :user-invalid была доступна через нестандартное свойство :-moz-ui-invalid. От псевдо­классов :valid и :invalid новые псевдо­классы отличаются тем, что применяются только после взаимодействия пользователя с полем.
  • Удалено оформление по умолчанию для нестандартного псевдо­класса :-moz-ui-valid.
  • Поддержка нестандартного псевдо­класса :-moz-submit-invalid отключена по умолчанию, и оно теперь недоступно на веб-страницах.
  • Улучшения в отношении ruby-аннотаций:

    • поддержка ключевого слова collapse в значении свойства visibility. Такие элементы скрываются, а пространство, которые они заняли бы в противном случае, не резервируется;
    • поддержка ключевого слова alternate в значении свойства ruby-position, и это значение теперь является для этого свойства начальным (initial). alternate приводит к динами­ческому выбору положения аннотации над (over) или под (under) текстом в зависимости от уровня вложенности аннотаций.

    Ruby-аннотации — короткие вставки текста рядом (над, под или после) с основным текстом, которые обычно используются в восточно­азиатских текстах для обозначения произношения или добавления кратких пояснений.

JavaScript

  • Поддержка доступа по индексу к подстрокам, найденным с помощью регулярных выражений. Для этого служит свойство indices объекта, возвращаемого методом exec объекта RegExp, если задан флаг d. Свойство содержит массив, каждый элемент которого является массивом из начального и конечного индексов найденной подстроки. У этого массива также есть свойство groups, содержащее список подстрок, соответствующих именованным группам (named capturing groups).
  • Более строгая проверка пере­даваемых конструкторам Intl.DisplayNames() и Intl.ListFormat() параметров на предмет того, являются ли они объектами. Если передана строка или другое значение-примитив, теперь генерируется исключение (exception). Intl.DisplayNames() позволяет генери­ровать локализо­ванные варианты названия языка, региона и системы письма (script). Intl.ListFormat() предназначен для генерации локализованных пред­ставлений списков.
  • Поддержка нового статического метода AbortSignal.abort(), возвращающего объект AbortSignal, ранее помеченный как прерванный (aborted).
  • Очистка свойства window.name на сторонних сайтах для предотвращения их доступа к локальным для сайта данным, для хранения которых это свойство иногда используется. Данное изменение было включено по умолчанию в Firefox 86, но упомянуто и в официальном списке изменений Firefox 88.
  • Поддержка значения url в массиве свойств, при изменении которых требуется генерировать событие browser.tabs.onUpdated в расширениях. Ранее для этой цели можно было использовать значение status. Массив значений указывается в свойстве properties объекта, передаваемого в качестве второго аргумента методу browser.tabs.onUpdated.addListener().
  • Поддержка JavaScript в формах в PDF-документах.
  • Доступ к микрофону или камере от одной и той же страницы теперь запрашивается не чаще раза в 50 секунд.

Прочее

  • На панель «Сеть» инструментов веб-разработки добавлена возможность пере­ключения пред­ставления отправ­ленных на сервер или отданных сервером данных (JSON, заголовки запроса или ответа сервера) между отформати­рованным и исходным.
  • Отключена по умолчанию поддержка протокола FTP. Полное удаление поддержки планируется в Firefox 90. Временно включить поддержку FTP можно с помощью параметра network.ftp.enabled на странице скрытых настроек about:config. Параллельно параметр browser.browserSettings.ftpProtocolEnabled, доступный расширениям, сделан доступным только для чтения. Расширения теперь могут регистрировать себя в качестве обработчиков протокола FTP. Данные по протоколу FTP передаются в незашиф­рованном виде, поэтому он считается небезопасным и подверженным атакам типа MITM.
  • Моно­ширинный шрифт по умолчанию в Firefox для macOS изменён на Menlo. Аналогичным образом рассмат­ривается исполь­зование Consolas в качестве моно­ширинного шрифта по умолчанию в Firefox для Windows. По сравнению со шрифтами Courier и Courier New, исто­рически использо­вавшимися по умолчанию в качестве моно­ширинных, современные шрифты Menlo и Consolas имеют более высокую визуальную плотность (особенно заметно на HiDPI-дисплеях, в том числе 4K-мониторах) и лучшую различимость похожих символов (1/l, O/0 и проч).
  • Программы чтения с экрана (screen readers) теперь не читают визуально скрытый текст, например, список статей в панели Google Help.
  • Поддержка плавного масштабирования пальцами (pinch zooming) в Linux.
  • Пункт «Снять скриншот» удалён из меню «Действия на странице», открываемого кнопкой-пикто­граммой в виде жирного много­точия в конце адресной строки. Для снятия скрин­шота теперь следует исполь­зовать одно­имённый пункт контекстного меню страницы.
  • Из контекстного меню страницы удалены пункты:

    • «Открыть фоновое изображение» («View Background Image»);
    • «Информация о странице» («View Page Info»).

    Окно с информацией о странице теперь можно открыть:

    • сочетанием клавиш Ctrl+I;
    • с помощью кнопки «Подробнее» в окне, открываемом нажатием кнопки «Показать информацию о соединении» с пиктограммой «стрелка вправо» справа от надписи «Защищённое соединение» или «Незащищённое соединение» во всплывающем окне, открываемом нажатием кнопки-пиктограммы в виде замка перед URL-адресом в адресной строке;
    • с помощью пункта «Инструменты» → «Информация о странице» классического главного меню, скрытого по умолчанию и временно отобра­жаемого нажатием клавиши Alt.

См. также