Firefox 87

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

CSS

  • Псевдо­элемент ::first-letter теперь учитывает, что в некоторых языках в сочетаниях двух букв принято писать в верхнем регистре обе буквы. Например, объявление text-transform: capitalize для ::first-letter теперь приводит к верхнему регистру обе буквы в сочетании «ij» вначале слов в текстах на нидер­ландском языке.
  • HTML-элемент LINK теперь не соот­вет­ствует псевдо­классам :link, :visited, :any-link. Это едино­образно с текущим поведением браузера Chrome и соответствует недавнему изменению спецификации.
  • Отключена поддержка на веб-страницах ряда нестандартных ключевых слов в условиях @media-правил:

    • -moz-mac-*;
    • -moz-maemo-classic;
    • -moz-windows-*;
    • -moz-scrollbar-*;
    • -moz-menubar-drag.
  • Отключена по умолчанию поддержка нестандартных значений свойства caption-side:

    • left;
    • right;
    • top-outside;
    • bottom-outside.

    За это отвечает булев параметр layout.css.caption-side-non-standard.enabled на странице скрытых настроек about:config. Свойство caption-side позволяет изменить визуальное расположение HTML-элемента CAPTION в таблице либо произвольного элемента с display: table-caption внутри элементов с display: table.

JavaScript

  • Поддержка события beforeinput и метода getTargetRanges(). Они позволяют пере­опре­делить поведение при редакти­ровании текста до того, как браузер изменит DOM-дерево, более тонко управлять вводом текста и делать это эффективнее с точки зрения быстро­действия. Глобальное событие beforeinput отправляется элементу INPUT или любому элементу с атрибутом contenteditable="true" сразу же, как изменяется значение элемента. Метод getTargetRanges() интерфейса InputEvent возвращает массив-список статических диапазонов (ranges), которые будут затронуты изменением DOM, если событие ввода не будет отменено.

Инструменты веб-разработки

Улучшения вкладки «Инспектор» инструментов веб-разработки Firefox.

  • Теперь можно временно включить:

    • светлую или тёмную цветовую схему, отражаемую в @media-правилах prefers-color-scheme, без необходимости реальной смены цветовой схемы на уровне опера­ционной системы;
    • псевдо­класс :target для выделенного элемента. Псевдо­класс :target соответствует элементу, идентификатор (значение атрибута id) которого указан в «якорной» части (хэше) URL-адреса страницы после знака #.
  • CSS-свойство table-layout у нетабличных элементов теперь помечается как неактивное.
  • CSS-свойства семейства scroll-padding у непро­кручиваемых элементов теперь помечаются как неактивные.
  • Исправлена ошибка, из-за которой CSS-свойство text-overflow ошибочно помечалось как неактивное при использовании свойств overflow-x/overflow-y вместо стено­графи­ческого (shorthand) свойства overflow.

Доступность

  • Видео­роликами (VIDEO) и аудио­записями (AUDIO) теперь можно управлять с помощью клавиатуры.
  • HTML-элемент METER теперь доступен программам чтения с экрана (screen readers).
  • В окне «Управление дополнениями» (about:addons) фокус теперь изначально устанавливается на область контента, содержащую список дополнений. Это стало результатом преобразования всего интерфейса «Управление дополнениями» в HTML-документ.
  • При изменении атрибутов aria-labelledby и describedby теперь возникает событие изменения имени/описания (name/description change).
  • Полная поддержка VoiceOver — программы чтения с экрана, встроенной в опера­ционную систему macOS. Это касается навигации как по веб-страницам, так и по интерфейсу браузера.

Прочее

  • Разрешение nativeMessaging в расширениях теперь можно использовать как необяза­тельное (optional permission), запрос относительно которого выдаётся пользователю не при установке расширения, а лишь при исполь­зовании соответ­ствующей функцио­нальности. Механизм «Native messaging» предназначен для обмена данными со сторонними программами, установ­ленными на компьютер пользователя. Поддержка необяза­тельных разрешений и Permissions API доступна начиная с Firefox 77.
  • Функция SmartBlock — вместо наиболее распрост­ранённых отслежи­вающих скриптов, блокируемых в приватном режиме, теперь подста­вляются скрипты-заглушки, позволяющие предот­вратить блокировку загрузки страницы из-за ожидания загрузки заблоки­рованных ресурсов.
  • Отключён переход на предыдущую страницу при нажатии клавиши Backspace. Такое нажатие часто приводило к потере набранного в форме текста из-за ошибочного перехода на предыдущую страницу. За это отвечает параметр browser.backspace_action на странице скрытых параметров about:config. Для перехода на предыдущую страницу рекомендуется использовать сочетание клавиш Alt+Влево. Теперь бы ещё аналогичным образом отключить столь же деструктивные сочетания типа Alt+Влево и Alt+Home, когда Влево или Home нажимается как клавиша 4 или 7 соответ­ственно на цифровой части клавиатуры при наборе спец­символов вида Alt+0187 при случайно выключенном режиме NumLock.
  • Из подменю «Библиотека», «Веб-разработка» и «Справка» главного «бургер»-меню Firefox удалены редко используемые пункты и пункты, ведущие туда же, куда можно попасть другими способами.
  • При активной булевой кнопке «Подсветить все» на панели поиска теперь позиции найденных совпадений помечаются цветом на полосах прокрутки. Но у автора этих строк в Firefox Developer Edition 88 эта функция, похоже, не работает.
  • Теперь при междоменных (cross-origin) запросах URL-адрес в HTTP-заголовке запроса Referer фигурирует в усечённом виде — без части после домена, включающей путь и строку запроса.

См. также