Fonctionnalités expérimentales dans Firefox

Cette page détaille les fonctionnalités expérimentales ou partiellement implémentées présentes dans Firefox. Cela inclut les fonctionnalités concernées par les standards web très récents ou en cours de construction. Les informations de cette page permettent de savoir quelles versions contiennent ces fonctionnalités, si elles sont activées par défaut et la préférence qui peut être utilisée pour les activer ou les désactiver. Cela vous permet de tester les fonctionnalités avant leur sortie « générale ».

Les nouvelles fonctionnalités sont d'abord introduites dans Firefox Nightly où elles sont activées par défaut la plupart du temps. Elles passent ensuite sur la version Firefox Developer Edition puis enfin dans la version finale (release). Lorsqu'une fonctionnalité est activée par défaut dans une version release, elle n'est plus considérée comme expérimentale et devrait être retiré de cette liste.

Les fonctionnalités expérimentales peuvent être activées ou désactivées via l'éditeur de configuration Firefox (accessible en saisissant about:config dans la barre d'adresse de Firefox) en modifiant la ou les préférence(s) indiquées ci-après.

HTML

L'élément <dialog>

L'élément HTML <dialog> et les API du DOM associées permettent de créer des boîtes de dialogue modales en HTML. L'implémentation actuelle manque de finesse mais permet les fonctionnalités de base. Voir le bug 840640 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 53 Oui
Developer Edition 53 Non
Beta 53 Non
Release 53 Non
Nom de la préférence dom.dialog_element.enabled

Attribut global inputmode

L'implémentation de l'attribut global inputmode a été mise à jour afin de suivre la spécification WHATWG (le bug 1509527), mais d'autres changements sont encore nécessaires (par exemple, le rendre disponible pour le contenu contenteditable), voir le bug 1205133 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 75 Oui
Developer Edition 75 Non
Beta 75 Non
Release 75 Non
Nom de la préférence dom.forms.inputmode

Attribut inert

La propriété HTMLElement.inert de HTMLElement est un booléen qui, lorsqu'il est présent, peut permettre au navigateur d'ignorer l'élément pour les technologies d'assistance, la recherche sur la page et la sélection de texte. Pour plus de détails sur cette fonctionnalité, voir le bug 1655722.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Non
Developer Edition 81 Non
Beta 81 Non
Release 81 Non
Nom de la préférence html5.inert.enabled

La mise en forme des éléments input type="search" a été mise à jour. Il y a désormais une icône qui apparaît après une saisie pour permettre d'effacer le champ. Ce comportement permet de rejoindre celui des autres navigateurs. Voir le bug 558594 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Non
Developer Edition 81 Non
Beta 81 Non
Release 81 Non
Nom de la préférence layout.forms.input-type-search.enabled

CSS

Affichage des caractères de contrôle (rectangle avec valeur hexadécimale)

Cette fonctionnalité affiche les caractères de contrôle (catégorie Unicode Cc) autres que tab (U+0009), saut de ligne (U+000A), saut de page (U+000C) et retour chariot (U+000D) sous la forme d'un rectangle avec leur valeur hexadécimale à l'intérieur lorsque ces caractères sont inattendus. Voir le bug 1099557 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 43 Oui
Developer Edition 43 Non
Beta 43 Non
Release 43 Non
Nom de la préférence layout.css.control-characters.enabled ou layout.css.control-characters.visible

Propriété initial-letter

La propriété CSS initial-letter fait partie du module de spécification CSS3 Inline et permet d'indiquer l'élévation (entre autres) des lettres initiales. Voir le bug 1223880 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 50 Non
Developer Edition 50 Non
Beta 50 Non
Release 50 Non
Nom de la préférence layout.css.initial-letter.enabled

Propriété aspect-ratio

La propriété CSS aspect-ratio est décrite dans le module de spécification CSS4 Sizing et permet de créer des boîtes qui respectent des proportions (aspect ratio en anglais) données. Voir le bug 1639963 et le bug 1646096 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Oui
Developer Edition 81 Non
Beta 81 Non
Release 81 Non
Nom de la préférence layout.css.aspect-ratio.enabled

Descripteur size-adjust

Le descripteur CSS @font-face/size-adjust est décrit dans le module de spécification CSS5 Fonts et définit un facteur de multiplication pour les contours des glyphes et les métriques associées à la police. Cela facilite l'harmonisation lorsqu'on utilise plusieurs polices qui sont affichées avec le même corps. Voir le bug 1698495 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 89 Oui
Developer Edition 89 Non
Beta 89 Non
Release 89 Non
Nom de la préférence layout.css.size-adjust.enabled

Nombres seuls pour les proportions dans les requêtes média

Il s'agit ici de la prise en charge permettant d'utiliser un seul nombre (number) pour exprimer le ratio lors de la définition d'une requête média. Voir le bug 1565562 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 70 Non
Developer Edition 70 Non
Beta 70 Non
Release 70 Non
Nom de la préférence layout.css.aspect-ratio-number.enabled

Propriété backdrop-filter

La propriété backdrop-filter permet d'appliquer des effets de filtre à la zone située derrière un élément. Voir le bug 1178765 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 70 Non
Developer Edition 70 Non
Beta 70 Non
Release 70 Non
Nom de la préférence layout.css.backdrop-filter.enabled

Grilles : disposition en maçonnerie

Cette fonctionnalité ajoute la prise en charge pour les dispositions « en maçonnerie » basées sur les grilles où un axe est organisé avec une disposition donnée et où l'autre suit une disposition de grille normale. Cela permet aux développeuses et développeurs de créer plus facilement des dispositions pour des galeries. Voir le bug 1607954 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 77 Oui
Developer Edition 77 Non
Beta 77 Non
Release 77 Non
Nom de la préférence layout.css.grid-template-masonry-value.enabled

Caractéristique média prefers-contrast

La caractéristique média prefers-contrast est utilisée afin de déterminer si une utilisatrice ou un utilisateur indiqué une préférence pour un contraste élevé ou non. Voir le bug 1506364 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 80 Non
Developer Edition 80 Non
Beta 80 Non
Release 80 Non
Nom de la préférence

layout.css.prefers-contrast.enabled

Propriété math-style

La propriété math-style indique si les équations MathML doivent être affichées avec une hauteur normale ou compacte. Voir le bug 1665975 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 83 Non
Developer Edition 83 Non
Beta 83 Non
Release 83 Non
Nom de la préférence layout.css.math-style.enabled

JavaScript

Méthode at() pour l'indexation relative

La méthode at() qui permet d'utiliser une indexation relative a été ajoutée aux objets Array, String et TypedArray. L'utilisation d'un entier positif comme argument renverra l'élément situé à cet index tandis qu'un entier négatif permettra de récupérer un élément à partir de la fin du tableau ou de la chaîne. Ainsi 1 fournira le deuxième élément tandis que -1 renverra le dernier élément. Voir Array.prototype.at(), String.prototype.at() et TypedArray.prototype.at() pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 85 Oui
Developer Edition 85 Non
Beta 85 Non
Release 85 Non

Champs de classe privés

Voir la page sur les champs de classe privés pour plus d'informations.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Non
Developer Edition 81 Non
Beta 81 Non
Release 81 Non
Noms des préférences javascript.options.experimental.private_fields
javascript.options.experimental.private_methods

Fonctionnalités des API Web

Graphismes : Canvas, WebGL, WebGPU

CanvasRenderingContext2D.createConicGradient()

L'interface CanvasRenderingContext2D rattachée à l'API Canvas fournit désormais une méthode createConicGradient(). Celle-ci renvoie une valeur CanvasGradient à la façon des méthodes existantes pour les dégradés linéaires et radiaux mais pour les dégradés coniques. Voir le bug 1627014 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 86 Non
Developer Edition 86 Non
Beta 86 Non
Release 86 Non
Nom de la préférence canvas.createConicGradient.enabled

Interface OffscreenCanvas

L'interface OffscreenCanvas fournit un canevas dont le rendu est effectué en dehors de l'écran. Il est disponible dans les contextes de la fenêtre et des workers. Voir le bug 1390089 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 44 Non
Developer Edition 44 Non
Beta 44 Non
Release 44 Non
Nom de la préférence gfx.offscreencanvas.enabled

API Hit Regions

Déterminer si les coordonnées de la souris sont situées dans une région donnée d'un canevas est un problème courant. L'API Hit Regions permet de définir une zone du canevas et fournit d'autres outils pour exposer le contenu interactif d'un canevas aux outils d'accessibilité.

Canal Ajouté dans la version Activé par défaut
Nightly 30 Non
Developer Edition 30 Non
Beta 30 Non
Release 30 Non
Nom de la préférence canvas.hitregions.enabled

WebGPU API

Cette nouvelle API fournit une prise en charge bas niveau pour les calculs et le rendu graphique en utilisant le GPU de l'appareil. La spécification est toujours en cours d'écriture. Voir le bug 1602129 pour l'état de l'implémentation pour cette API.

Canal Ajouté dans la version Activé par défaut
Nightly 73 Non
Developer Edition 73 Non
Beta 73 Non
Release 73 Non
Nom de la préférence dom.webgpu.enabled

API HTML DOM

Méthode setSinkId() pour HTMLMediaElement

HTMLMediaElement.setSinkId() permet de définir l'identifiant d'un « sink » d'un appareil de sortie audio sur un HTMLMediaElement ce qui permet de modifier l'endroit où l'audio sort. Voir le bug 934425 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 64 Non
Developer Edition 64 Non
Beta 64 Non
Release 64 Non
Nom de la préférence media.setsinkid.enabled

Propriétés audioTracks et videoTracks pour HTMLMediaElement

Cette fonctionnalité ajoute les propriétés HTMLMediaElement.audioTracks et HTMLMediaElement.videoTracks aux éléments HTML qui sont des médias. Toutefois, comme Firefox ne prend actuellement pas en charge les pistes audio et vidéo multiples, les cas d'usage de ces propriétés ne fonctionnent pas et elles sont donc désactivées par défaut. Voir le bug 1057233 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 33 Non
Developer Edition 33 Non
Beta 33 Non
Release 33 Non
Nom de la préférence media.track.enabled

DOM

ClipboardItem

L'interface ClipboardItem, rattachée à l'API Clipboard API est désormais prise en charge et Clipboard.write() accepte une série d'éléments de presse-papier (ClipboardItem) plutôt que l'implémentation précédente avec des objets DataTransfer. Elle est disponible avec la préférence dom.events.asyncClipboard.clipboardItem qui était précédemment intitulée dom.events.asyncClipboard.dataTransfer. Voir le bug 1619947 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 87 Non
Developer Edition 87 Non
Beta 87 Non
Release 87 Non
Nom de la préférence dom.events.asyncClipboard.clipboardItem

API HTML Sanitizer

L'API HTML Sanitizer permet aux développeuses et développeurs de prendre en entrée des chaînes de caractères HTML non sécurisées et de les nettoyer afin de pouvoir les insérer dans le DOM d'un document. Les éléments par défaut pour chaque propriété de configuration sont toujours en cours d'étude. Pour cette raison, le paramètre de configuration n'a pas été implémenté. Voir la documentation du constructeur pour plus d'informations et le bug 1673309 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 84 Non
Developer Edition 84 Non
Beta 84 Non
Release 84 Non
Nom de la préférence dom.security.sanitizer.enabled

Propriété autoplayPolicy pour Document

La propriété autoplayPolicy, rattachée à document, renvoie une chaîne de caractères indiquant la façon dont le navigateur gère les requêtes pour la lecture automatique des médias (déclenchée avec l'utilisation de la propriété autoplay ou via le déclenchement de la lecture depuis du code JavaScript). La spécification de cette API est en cours d'écriture. La valeur de cette propriété évolue selon les actions de l'utilisateur, leurs préférences/configurations et de l'état du navigateur. Les valeurs possibles sont allowed (la lecture automatique est possible), allowed-muted (la lecture automatique est possible mais sans audio), et disallowed (la lecture automatique n'est pas possible). Voir le bug 1506289 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 66 Non
Developer Edition 66 Non
Beta 66 Non
Release 66 Non
Nom de la préférence dom.media.autoplay.autoplay-policy-api

Méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() pour GeometryUtils

Les méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() effectuent la correspondance entre un point, un rectangle ou un quadrilatère donné et le Node depuis lequel ils sont appelés vers un autre nœud. Voir le bug 918189 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 31 Oui
Developer Edition 31 Non
Beta 31 Non
Release 31 Non
Nom de la préférence layout.css.getBoxQuads.enabled

Méthode getBoxQuads() pour GeometryUtils

La méthode getBoxQuads() pour GeometryUtils renvoie les boîtes CSS d'un objet Node relatif à un autre nœud ou à la zone d'affichage. Voir le bug 917755 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 31 Oui
Developer Edition 31 Non
Beta 31 Non
Release 31 Non
Nom de la préférence layout.css.convertFromNode.enable

API Payment Request

Gestion de la méthode de paiement principale

L'API Payment Request permet de gérer les paiements au sein de contenu ou d'application web. En raison d'un bug lors des tests de l'interface utilisateur, il a été décidé de suspendre la sortie de cette API tant que des discussions sont en cours sur des changements potentiels à cette API. Le travail est en cours. Voir le bug 1318984 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 55 Non
Developer Edition 55 Non
Beta 55 Non
Release 55 Non
Nom de la préférence dom.payments.request.enabled et dom.payments.request.supportedRegions

API Basic Card

Il s'agit d'étendre l'API Payment Request avec des dictionnaires définissant les structures de données qui décrivent les types de cartes de paiement et les réponses de paiement. Voir BasicCardRequest et BasicCardResponse.

Canal Ajouté dans la version Activé par défaut
Nightly 56 Non
Developer Edition 56 Non
Beta 56 Non
Release 56 Non
Nom de la préférence dom.payments.request.enabled and
dom.payments.request.supportedRegions

API Visual Viewport

L'API Visual Viewport (qu'on peut traduire en « zone d'affichage visuelle ») donne accès à des informations décrivant la position de la zone d'affichage visuelle relative au document et à la zone de contenu de la fenêtre. Elle contient également des évènements pour surveiller les évolutions. Voir le bug 1550390 pour plus de détails. Il n'est pas prévu de fournir cette API sur la version pour ordinateur de bureau, voir le bug 1551302 si besoin.

Canal Ajouté dans la version Activé par défaut
Nightly 63 Non
Developer Edition 63 Non
Beta 63 Non
Release 63 À partir de Firefox 68, sur Android uniquement
Nom de la préférence dom.visualviewport.enabled

Constructeur pour les feuilles de style

Cette fonctionnalité ajoute un constructeur pour l'interface CSSStyleSheet et d'autres modifications permettant de créer de nouvelles feuilles de style sans avoir à ajouter la feuille au HTML. Cela permet de créer des feuilles de style réutilisables beaucoup plus facilement afin de les utiliser avec Shadow DOM. L'implémentation actuelle n'est pas encore terminée. Voir le bug 1520690 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 73 Non
Developer Edition 73 Non
Beta 73 Non
Release 73 Non
Nom de la préférence layout.css.constructable-stylesheets.enabled

WebRTC et média

Les fonctionnalités expérimentales qui suivent incluent celles relatives aux API suivantes WebRTC, Web Audio, Media Source Extensions, Encrypted Media Extensions, et Media Capture and Streams.

Méthodes asynchrones pour l'ajout et le retrait sur SourceBuffer

Cette fonctionnalité ajoute les méthodes appendBufferAsync() et removeAsync() qui fonctionnent avec des promesses et permettent d'ajouter et de retirer des tampons de source média à l'interface SourceBuffer. Voir le bug 1280613 et le bug 778617 pour plus d'informations.

Canal Ajouté dans la version Activé par défaut
Nightly 62 Non
Developer Edition 62 Non
Beta 62 Non
Release 62 Non
Nom de la préférence media.mediasource.experimental.enabled

Prise en charge du format AVIF (AV1 Image File)

Avec cette fonctionnalité, Firefox prend en charge le format AV1 Image File (AVIF). Il s'agit d'un format d'image tirant parti des algorithmes de compression vidéo AV1 pour réduire la taille des images. Voir le bug 1443863 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 77 Non
Developer Edition 77 Non
Beta 77 Non
Release 77 Non
Nom de la préférence image.avif.enabled

Prise en charge d'AV1 pour Firefox sur Android

Cette fonctionnalité permet à Firefox sur Android d'utiliser le format AV1. Cette fonctionnalité est disponible pour les versions nightly pour Firefox sur Android à partir de la version 81. Elle est activée par défaut.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Oui
Developer Edition
Beta
Release
Nom de la préférence

Sécurité et confidentialité

Block plain text requests from Flash on encrypted pages

Afin d'atténuer le risque d'attaque de l'homme du milieu (MitM) pour le contenu Flash sur les pages chiffrées, une préférence a été ajoutée afin de traiter OBJECT_SUBREQUEST comme du contenu actif. Voir le bug 1190623 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 59 Non
Developer Edition 59 Non
Beta 59 Non
Release 59 Non
Nom de la préférence security.mixed_content.block_object_subrequest

Indication des pages non-sécurisées

Les deux préférences suivantes permettent d'ajouter un libellé « Non-sécurisé » dans la barre d'adresse à côté de l'icône de cadenas lorsqu'une page est chargée de façon non-sécurisée (via HTTP plutôt qu'avec HTTPS). Voir le bug 1335970 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 60 Non
Developer Edition 60 Non
Beta 60 Non
Release 60 Non
Nom de la préférence security.insecure_connection_text.enabled pour la navigation en mode normale, security.insecure_connection_text.pbmode.enabled pour la navigation en mode privé

Mise à niveau pour les médias chargés avec une sécurité mixte

Lorsque la préférence correspondante est activée, Firefox passe les requêtes des contenus média HTTP en HTTPS pour les pages sécurisées. L'objectif est d'éviter des conditions de contenu mixte où du contenu serait chargé de façon sécurisée tandis qu'un autre contenu serait chargé de façon non-sécurisée. Si la bascule en HTTPS échoue (par exemple si l'hôte qui sert le média ne prend pas en charge HTTPS), le média n'est pas chargé. Voir le bug 1435733pour plus de détails.

Cela modifie également l'avertissement de la console : si la mise à niveau réussit, un message indiquant que la requête a été mise à niveau est affiché plutôt qu'un avertissement.

Canal Ajouté dans la version Activé par défaut
Nightly 84 Oui
Developer Edition 60 Non
Beta 60 Non
Release 60 Non
Nom de la préférence security.mixed_content.upgrade_display_content

En-tête Feature-Policy

Feature-Policy est un en-tête HTTP qui permet de choisir l'activation, la désactivation ou certaines des fonctionnalités et API dans le navigateur. Cet en-tête est similaire au CSP mais permet de contrôler des fonctionnalités plutôt que des traits liés à la sécurité.

Note :

L'en-tête Feature-Policy a été renommé en Permissions-Policy dans la spécification. Cet article sera mis à jour afin de refléter ce changement.

Canal Ajouté dans la version Activé par défaut
Nightly 65 Non
Developer Edition 65 Non
Beta 65 Non
Release 65 Non
Nom de la préférence dom.security.featurePolicy.header.enabled

Outils de développement

Sélecteur pour le contexte d'exécution

Cette fonctionnalité affiche un bouton sur la ligne de commande de la console qui permet de changer le contexte dans lequel l'expression saisie est exécutée. Voir le bug 1605154 et le bug 1605153 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 75 Non
Developer Edition 75 Non
Beta 75 Non
Release 75 Non
Nom de la préférence devtools.webconsole.input.context

Prise en charge des gestes mobiles en vue adaptative

Les gestes à la souris peuvent être utilisés pour simuler des gestes tactiles sur mobiles comme le défilement, le zoom en pinçant, l'appui long ou l'appui double. Voir le bug 1621781, le bug 1245183, et le bug 1401304 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 76[1] Oui
Developer Edition 76[1] Oui
Beta 76[1] Oui
Release 76[1] Non
Nom de la préférence n/a

[1] La prise en charge pour le geste de double toucher a été ajouté avec Firefox 76. Les autres gestes ont été ajoutés avec Firefox 79.

Évènements émis par le serveur dans le moniteur réseau

Cette fonctionnalité permet au moniteur réseau d'afficher des informations sur les évènements émis par le serveur. Voir le bug 1405706 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 80 Oui
Developer Edition 80 Oui
Beta 80 Non
Release 80 Non
Nom de la préférence devtools.netmonitor.features.serverSentEvents

Bulles d'informations pour la compatibilité CSS des navigateurs

La vue pour les règles CSS peut afficher des bulles d'informations pour la compatibilité des navigateurs pour les propriétés qui ont des problèmes connus. Pour plus d'informations, voir : Examiner et éditer le HTML > Avertissements de compatibilité navigateur.

Canal Ajouté dans la version Activé par défaut
Nightly 81 Non
Developer Edition 81 Non
Beta 81 Non
Release 81 Non
Nom de la préférence devtools.inspector.ruleview.inline-compatibility-warning.enabled

Interface utilisateur (UI)

Zoom (version bureau)

Cette fonctionnalité permet, pour les ordinateurs de bureau, un zoom doux avec le geste de pincement sans qu'il y ait de redessin de l'écran, à la façon des appareils mobiles. Voir le bug 1245183 et le bug 1620055 pour plus de détails.

Canal Ajouté dans la version Activé par défaut
Nightly 42 Oui
Developer Edition 42 Non
Beta 42 Non
Release 42 Non
Nom de la préférence apz.allow_zooming et pour Windows : apz.windows.use_direct_manipulation

Voir aussi