Firefox 151 – Versionshinweise für Entwickler
Dieser Artikel informiert über Änderungen in Firefox 151, die für Entwickler relevant sind. Firefox 151 wurde am 19. Mai 2026 veröffentlicht.
Änderungen für Webentwickler
>HTML
- Das Attribut
shadowrootslotassignmentwird jetzt für<template>-Elemente unterstützt. Damit lässt sich das Verhalten der Slot-Zuweisung für Shadow Roots deklarativ festlegen. In JavaScript wird das Attribut durchShadowRoot.slotAssignmentoderHTMLTemplateElement.shadowRootSlotAssignmentabgebildet (Firefox-Bug 2031295, Firefox-Bug 2023824).
CSS
-
Die CSS-At-Regel
@containerunterstütztstyle()-Abfragen. Damit können Sie prüfen, ob ein Container eine gültige CSS-Deklaration, eine CSS-Eigenschaft oder eine benutzerdefinierte Eigenschaft besitzt, und seine Kindelemente entsprechend gestalten. (Firefox-Bug 2016929, (Firefox-Bug 2019254), (Firefox-Bug 2024601), Firefox-Bug 2030645). -
Die CSS-Eigenschaft
position-anchorunterstützt jetzt den Wertnormal(Standardwert). Dadurch kann sie an die Eigenschaftposition-areaangepasst werden: Wenn die Eigenschaftposition-areaaktualisiert wird, wird auch die Eigenschaftposition-anchoraktualisiert. (Firefox-Bug 2030351).
JavaScript
Keine nennenswerten Änderungen.
APIs
- Die Methode
Sanitizer.replaceElementWithChildren()gibt jetztfalsezurück, wenn das zu ersetzende Element<svg>im SVG-Namespace oder<math>im MathML-Namespace ist. Dies gilt bereits für<html>, das seit Firefox 150 nicht mehr zulässig ist. (Firefox-Bug 2032359). - Die Document Picture-in-Picture API wird jetzt auf Desktop-Plattformen unterstützt. Damit lässt sich ein Fenster öffnen, das stets im Vordergrund bleibt und mit beliebigen HTML-Inhalten gefüllt werden kann. Darin können Inhalte angezeigt werden, die Benutzer getrennt von der aufrufenden Seite (oder sogar vom Browser) sehen möchten, etwa mehrere Videostreams mit den Teilnehmern einer Videokonferenz, ein Börsenticker oder ein Countdown. (Firefox-Bug 2006594).
- Die Eigenschaft
CanvasRenderingContext2D.langwird unterstützt, um die Sprache des Canvas-Zeichenkontexts festzulegen. Ein Canvas im DOM kann diese Sprache zwar vom Attributlangdes zugehörigen<canvas>-Elements erben. Die Eigenschaft ist jedoch nützlich, um die Sprache für ein Offscreen-Canvas festzulegen, das möglicherweise gerendert wird, bevor es einem<canvas>zugeordnet wird. (Firefox-Bug 1943070). - Die Eigenschaft
options.keyboardLockkann jetzt als Option anElement.requestFullscreen()übergeben werden. So können Websites eine Tastatursperre anfordern, während das Element im Vollbildmodus angezeigt wird. Dadurch beendet ein kurzer Druck auf Esc den Vollbildmodus nicht mehr; stattdessen ist ein langer Tastendruck erforderlich. Außerdem können einige zuvor für den Browser reservierte Tastenkombinationen jetzt abgefangen und ihre Standardaktionen verhindert werden. (Firefox-Bug 2032302). - Die Eigenschaften
maxStorageBuffersInFragmentStage,maxStorageBuffersInVertexStage,maxStorageTexturesInFragmentStageundmaxStorageTexturesInVertexStagevonGPUSupportedLimitswerden jetzt teilweise unterstützt. Beim Erstellen eines Geräts werden angeforderte Werte für diese Limits ignoriert. Stattdessen werden sie an die Werte der LimitsmaxStorageBuffersPerShaderStageundmaxStorageTexturesPerShaderStageangepasst. Derzeit gibt es in Firefox jedoch einen Bug, durch den diese Anpassungen nicht inGPUDevice.limitsangezeigt werden. (Firefox-Bug 2006720). - Die Eigenschaft
CSSContainerRule.conditionswird jetzt unterstützt. Sie entspricht der Unterstützung mehrerer kommagetrennter Container-Bedingungen durch die At-Regel@container. Die Eigenschaftconditionbildet die zugehörige@container-Regel als Array von Objekten ab, wobei jedes Objekt eine einzelne Container-Bedingung darstellt. (Firefox-Bug 2022827). - Die Web Serial API wird auf Desktop-Plattformen unterstützt und ermöglicht die Steuerung von Mikrocontrollern, die serielle Kommunikation unterstützen. Damit können Sie beispielsweise Mikrocontroller und Entwicklungsboards wie ESP-Geräte, BBCmicro:bit und Raspberry Pi Picos sowie 3D-Drucker, CNC-Maschinen und andere unterstützte Geräte programmieren. Zur Nutzung der API müssen Website-Benutzer ein synthetisch generiertes Add-on für Website-Berechtigungen installieren. Derselbe Ansatz wird verwendet, um den Zugriff auf WebMIDI sicher zu verwalten. (Firefox-Bug 2029625).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Unterstützung für
altitudeAngleundazimuthAnglebei Pointer-Aktionen des Untertypstouchwurde hinzugefügt. Mit diesen Eigenschaften lassen sich Berührungsinteraktionen mit präzisen Winkelangaben simulieren: Sie geben den Winkel an, in dem ein Zeiger eine Oberfläche berührt, sowie seine Drehrichtung. (Firefox-Bug 2022644). - Ein Bug wurde behoben, durch den
UnknownError-DOM-Ausnahmen von Inhaltsseiten fälschlicherweise als interne WebDriver-Fehler behandelt wurden. (Firefox-Bug 2032387).
WebDriver BiDi
- Der Befehl
browser.setClientWindowStatewurde implementiert. Damit können Clients den Fensterzustand eines Browserfensters auf Betriebssystemebene ändern, etwa auf maximiert, minimiert, Vollbild oder normal. Außerdem können sie das Fenster neu positionieren und seine Größe ändern. (Firefox-Bug 1855028). - Der Befehl
script.getRealmsunterstützt jetzt Worker-Realms für Dedicated Workers, Shared Workers und Service Workers. Zusätzlich zu Fensterkontexten gibt der Befehl nun Realm-Informationen für Worker-Skripte zurück. (Firefox-Bug 2016097). log.entryAdded-Ereignisse enthalten jetzt für alle Nachrichten der Console API den obersten Stack-Frame. (Firefox-Bug 1941813).- Das Feld
textdes Ereignisseslog.entryAddedwurde verbessert, damit es dem Verhalten der Firefox DevTools und der WebDriver-BiDi-Implementierung von Google Chrome besser entspricht. (Firefox-Bug 2005054). - Ein Bug wurde behoben, durch den Cookies in Netzwerkereignissen nur
nameundvaluestatt aller Eigenschaften enthielten. (Firefox-Bug 1887118). - Ein Bug wurde behoben, durch den beim Befehl
network.getDatafür Weiterleitungen eine Zeitüberschreitung auftrat. (Firefox-Bug 2009916). - Ein Bug wurde behoben, durch den der Befehl
browsingContext.reloaddie Position eines navigierten iframes nicht zurücksetzte. (Firefox-Bug 2023917). - Wenn kein Proxy angegeben ist, enthält die Antwort auf den Befehl
session.newnicht mehr die leere Capabilityproxy. (Firefox-Bug 1916463).
Marionette
- Unter Linux Wayland können Browserfenster jetzt auch im Headless-Modus neu positioniert werden. (Firefox-Bug 2023978).
Änderungen für Add-on-Entwickler
- Das Ereignis
webRequest.onErrorOccurredverwendet jetzt als FallbackNS_ERROR_NET_ON_RECEIVING_FROManstelle einer Zeichenfolge, die mitNS_ERROR_NET_ON_oderNS_ERROR_NET_UNKNOWN_beginnt. Diese Änderung ist Teil von Verbesserungen an der Leistung und Zuverlässigkeit des EreignissesonErrorOccurred. (Firefox-Bug 1881986) tabs.group()undtabs.ungroup()fügen eine geteilte Ansicht jetzt korrekt zu einer Gruppe hinzu beziehungsweise entfernen sie daraus, wenn ein Aufruf einen ihrer Tabs enthält. Zuvor schlug ein solcher Aufruf fehl oder trennte die geteilte Ansicht. (Firefox-Bug 2029099)tabs.move()verschiebt eine geteilte Ansicht jetzt korrekt nach rechts, wenn ein Aufruf einen ihrer Tabs enthält. Zuvor konnte ein solcher Aufruf die geteilte Ansicht nur nach links oder an das Ende der Tab-Liste verschieben. (Firefox-Bug 2027855)
Experimentelle Webfunktionen
Diese Funktionen sind in Firefox 151 enthalten, aber standardmäßig deaktiviert.
Um sie auszuprobieren, suchen Sie auf der Seite about:config nach der jeweiligen Einstellung und setzen Sie sie auf true.
Weitere solche Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
Abfragen mit Bereichssyntax für
@container style():layout.css.attr.enabledstyle()-Abfragen der CSS-At-Regel@containerunterstützen jetzt die Bereichssyntax. Damit können Sie prüfen, ob ein Container eine gültige benutzerdefinierte CSS-Eigenschaft besitzt, ihren Wert mit Vergleichsoperatoren wie>,<,>=und<=vergleichen und seine Kindelemente entsprechend gestalten. (Firefox-Bug 2024601). -
Eigenschaft
field-sizing:layout.css.field-sizing.enabledMit der CSS-Eigenschaft
field-sizingkönnen Sie steuern, wie die Größe von Formularsteuerelementen bestimmt wird. Die Eigenschaft hat zwei Werte:contentlässt Elemente ihre Größe an den Inhalt anpassen, währendfixedeine feste Größe für Elemente festlegt. (Firefox-Bug 1977176). -
MathML-
hrefauf anderen Elementen als<a>deaktivieren:mathml.href_link_on_non_anchor_element.disabledWenn diese Einstellung aktiviert ist, erzeugt das globale Attribut
hrefauf anderen MathML-Elementen als<a>keinen Hyperlink mehr. Dies entspricht der MathML-Core-Spezifikation. (Firefox-Bug 2026848). -
Korrektur für verschachtelte scrollbare Bereiche:
layout.css.fake-webkit-scrollbar.enabledDiese Implementierung behebt ein Problem, durch das scrollbare Inhalte unerreichbar waren. Wenn eine Scrollleiste auf
display: none;oderwidth: 0;gesetzt ist, können die Scrollleisten verschachtelter scrollbarer Bereiche übereinanderliegen. Dadurch sind möglicherweise Teile des Inhalts nicht erreichbar. (Firefox-Bug 1977511). -
<timeline-range-name>-Werte:layout.css.scroll-driven-animations.enabledDie CSS-Eigenschaften
animation-range-startundanimation-range-endsowie die Kurzschreibweiseanimation-rangeunterstützen jetzt<timeline-range-name>-Werte. Mit diesen<timeline-range-name>-Werten können Sie genau festlegen, innerhalb welchen Abschnitts eine scrollgesteuerte Animation abläuft. (Firefox-Bug 1804775). -
GeometryUtils-Methoden:
convertPointFromNode(),convertRectFromNode()undconvertQuadFromNode():layout.css.convertFromNode.enabledDie GeometryUtils-Methoden
convertPointFromNode(),convertRectFromNode()undconvertQuadFromNode()sind in Firefox Nightly nicht mehr standardmäßig aktiviert. (Firefox-Bug 2026051). -
GeometryUtils-Methode:
getBoxQuads():layout.css.getBoxQuads.enabledDie GeometryUtils-Methode
getBoxQuads()ist in Firefox Nightly nicht mehr standardmäßig aktiviert. (Firefox-Bug 2026051).