Aller au contenu
Gutenberg 23.7 : les nouveautés de l’éditeur de blocs
Camille Dubois
Camille Dubois 7 August 2026 · 13 min de lecture

Gutenberg 23.7 : les nouveautés de l’éditeur de blocs

Gutenberg 23.7 est disponible au téléchargement. Cette version affine surtout l’éditeur de blocs, clarifie le mode dynamique de la galerie et ajoute plusieurs corrections destinées aux auteurs comme aux développeurs d’extensions et de thèmes.

Vous pouvez aussi essayer Gutenberg 23.7 dans WordPress Playground.

Améliorations visibles dans l’éditeur de blocs :

Les ajustements de cette version corrigent plusieurs détails de mise en page qui gênaient l’édition quotidienne. Les blocs flottants ne recouvrent plus les blocs positionnés en sticky, et l’ajouteur de bloc vide reprend sa place dans les blocs qui capturent leur propre barre d’outils.

Le bloc Exergue respecte désormais une hauteur de ligne personnalisée dans l’éditeur, afin de correspondre au rendu côté public. Les aperçus mobile et tablette retrouvent aussi une hauteur fixe.

Corrections visuelles apportées à l’éditeur de blocs Gutenberg
Gutenberg 23.7 corrige notamment le chevauchement des blocs flottants et le positionnement de l’ajouteur de bloc. — Forrás: WordPress.org

Mode dynamique du bloc Galerie : un détachement plus explicite

Le mode dynamique du nouveau bloc Galerie, introduit avec Gutenberg 23.6, remplace son bouton ambigu « Convertir en images » par « Détacher ». Une fenêtre modale explique maintenant les conséquences de ce choix avant de détacher les images.

La conversion du mode dynamique en images ne crée par ailleurs qu’un seul niveau dans l’historique d’annulation. Vous pouvez donc annuler l’opération en une seule action.

Bouton Détacher dans la barre d’outils du bloc Galerie
Le libellé du bouton indique désormais clairement l’action de détachement. — Forrás: WordPress.org
Fenêtre modale expliquant le détachement des images d’une galerie dynamique
La modale précise ce qui se produira lorsque vous détachez les images. — Forrás: WordPress.org

Fonctions et composants à connaître

L’interface d’héritage des styles globaux devient expérimentale et facultative. Activez-la depuis la page des expériences de Gutenberg si vous souhaitez la tester. L’inspecteur de blocs reflète également les valeurs héritées des styles globaux et résout les styles de liens pour les blocs qui sont eux-mêmes des liens.

Le bloc Math utilise maintenant ValidatedTextareaControl pour saisir du LaTeX. Les erreurs d’analyse ne s’affichent plus à chaque frappe : le contrôle attend que le champ perde le focus une première fois, et il ne déclenche plus d’annonce au lecteur d’écran pour chaque caractère.

Les composants Combobox, Select et SelectControl reçoivent les sous-composants Group et GroupLabel. Ils permettent de composer des options groupées de façon cohérente dans les familles de sélecteurs à fenêtre contextuelle.

Journal des changements pour les développeurs

Améliorations

Styles, widgets et tableau de bord

Les styles de base permettent de remplacer la couleur de l’anneau de focus dans outset-ring__focus. Le tableau de bord des widgets mesure l’ajustement de son en-tête et documente son chrome. Les primitives de widgets sont désormais livrées sous forme de module de script.

Composants

  • Combobox, Select et SelectControl ajoutent Group et GroupLabel.
  • Les champs de recherche de DataViews et de la bibliothèque de polices reçoivent une largeur fixe pour éviter les décalages de mise en page.
  • DataViewsPicker prend en charge la sélection d’une plage avec Maj+clic dans les dispositions tableau, grille et activité.
  • Le composant sandbox accepte une propriété sandbox.
  • Les champs input de type number masquent leurs contrôles numériques natifs.
  • SearchControl n’affiche son suffixe que lorsqu’il existe.
  • L’interface ajoute la primitive Autocomplete.Row.

Bibliothèque de blocs et éditeur de publication

  • La couverture des scénarios utilisateur de bout en bout du bloc Table des matières s’étend.
  • Le bloc Math utilise ValidatedTextareaControl pour l’entrée LaTeX.
  • Le réglage d’éditeur responsiveEditingEnabled permet de masquer l’option Styles responsifs.
  • La page de navigation de la bibliothèque de polices aligne sa taille de police sur DataViews.

Collaboration et styles globaux

La collaboration en temps réel (RTC) désactive l’édition rapide lorsqu’une publication est déjà en cours d’édition. La gestion commune des préréglages est extraite des ombres et des tailles de police.

Correctifs

Éditeur, configuration des vues et rendu

  • Les blocs flottants ne chevauchent plus les blocs sticky.
  • Le versionnage de l’API de configuration des vues est mis à jour.
  • Les fusions de configurations de vue dont la forme ne correspond pas sont rejetées ; la sémantique des tableaux vides est définie et les valeurs null sont retirées des membres ajoutés.
  • createInterpolateElement gère correctement les balises fermantes sans correspondance.

Bibliothèque de blocs

  • render_block_core_video() traite les balises VIDEO qui ne sont pas en minuscules.
  • Les blocs Couverture et Accordéon quittent correctement l’édition avec Entrée.
  • Le bloc Galerie dynamique renomme son bouton en « Détacher » et explique l’opération dans une modale.
  • Le bloc Exergue applique la hauteur de ligne personnalisée dans l’éditeur.
  • La conversion du mode dynamique de Galerie ne crée qu’un seul niveau d’annulation.
  • Le bloc Liste préserve son type ordonné lors d’une indentation.
  • L’éditeur de médias affiche un état de chargement pendant celui du fichier recadré.
  • Le drapeau redondant __heicUploadSupport est supprimé.
  • L’interface des liens du bloc Navigation retrouve l’option « Ajouter un bloc » à l’intérieur des parties de modèle.
  • Le libellé du bouton de barre d’outils d’une piste de playlist est raccourci.
  • Le réglage « Décalage » du bloc Boucle de requête reçoit un contexte de traduction.
  • Le balisage de l’icône Tumblr du bloc Liens sociaux ne contient plus de balise fermante superflue.

Éditeur de blocs

  • Le contrôle d’image d’arrière-plan ne dessine plus deux anneaux de focus.
  • L’ajouteur de bloc vide se positionne correctement dans les blocs qui capturent les barres d’outils.
  • La suppression avant conserve la position du curseur dans les blocs vides.
  • Les imports des tests aller-retour de préréglages sont corrigés après la consolidation des utilitaires.
  • Les panneaux Styles globaux valident et affichent le bon préréglage quand deux préréglages de couleurs partagent le même hexadécimal.
  • La synchronisation RTC des blocs contrôlés n’intercepte plus l’annulation.
  • Les éléments éditables de texte enrichi retirent à nouveau tabIndex pour corriger la sélection avec Maj+clic.
  • Maj+flèche étend la sélection de blocs quand aucune sélection native n’existe.
  • Maj+clic est identifié comme un geste de sélection multiple.
  • Le déplacement du curseur dans un bloc plus haut que la zone d’affichage ne fait plus défiler la page.
  • RichText n’applique pas de transformation d’entrée sans onReplace.
  • Le collage de fichiers ne fait plus planter le gestionnaire de collage de RichText.

Éditeur de publication

  • Les champs qui gèrent leur propre historique d’annulation laissent le navigateur gérer l’annulation.
  • Les aperçus mobile et tablette récupèrent leur hauteur fixe.
  • Les boîtes meta alignent le style de leurs titres sur les panneaux Gutenberg.
  • Les notes capturent le bloc cible avant d’enregistrer une note de niveau bloc.
  • Le format de note en ligne s’enregistre au moment de l’import.
  • Les actions sur les notes signalent systématiquement le succès de l’enregistrement.
  • La sélection de la barre latérale se synchronise avec le marqueur en ligne situé sous le curseur.
  • La modale de verrouillage de publication ne bascule plus à tort vers « Quelqu’un d’autre a pris le contrôle » pour un lecteur exclu du verrouillage.
  • Les notifications sont encapsulées dans ThemeProvider avec un rayon de bordure nul.
  • Sur iOS, le hack de saut est supprimé et un comportement de machine à écrire est ajouté.

Composants et médias côté client

  • DataForm empêche les validations des cartes et des détails de voler le focus.
  • La surcharge racine de .prettierrc.js est corrigée.
  • GradientPicker sélectionne par slug afin que deux préréglages partageant un dégradé conservent leur identité.
  • Storybook corrige jsxImportSource pour Emotion.
  • ToolsPanel migre ses styles vers un module SCSS.
  • La conversion de GIF animés longs ne bloque plus les envois : seuls les premiers frames sont décodés pour les sorties fixes.
  • Les modèles de médias ne forcent plus crossorigin sur les balises IMG.
  • wp-build synchronise la liste des champs de préchargement du modèle de page avec core-data.

Collaboration, API média et thème

  • Les tests de suppression de référence de base des notes détachent le filtre KSES des mentions du core.
  • RTC compacte les données durant leur sérialisation.
  • L’API REST des médias récupère le contrôle de taille des envois depuis un chemin d’URL.
  • Theme JSON aligne la spécificité des classes de préréglages au niveau bloc avec :where().
  • La couche de données RTC conserve les modifications non enregistrées des collaborateurs lorsqu’un autre utilisateur enregistre.

Accessibilité et performances

Les contrôles d’alignement améliorent la gestion de leurs propriétés. Dans le bloc Navigation, aria-expanded se met correctement à jour lors du survol d’un sous-menu placé dans une superposition.

  • Le texte enrichi lit l’attribut contentEditable dans ownsSelection afin d’éviter un calcul forcé de mise en page.
  • Un correctif tente de résoudre une régression des performances de saisie.
  • FlatTermSelector évite les récupérations inutiles de termes.
  • Core Data déplace le composant EntitiesSavedState hors de l’éditeur.

Expériences

Les widgets du tableau de bord renforcent l’assainissement des attributs href de leurs actions et de leurs liens d’aide. L’interface d’héritage des styles globaux reste protégée par une expérience Gutenberg.

Documentation

  • AGENTS.md documente l’utilisation de nvm use.
  • La documentation ajoute un modèle de découverte progressive pour les instructions et compétences d’agent.
  • La documentation globale manquante est ajoutée dans table-of-contents/index.php.
  • WP_Icon_Collections_Registry reçoit les docblocks manquants au niveau fichier et classe.
  • La découverte des consignes pour agents est clarifiée.
  • Le comportement de getBlock avec les contrôleurs de blocs internes est précisé.
  • Le guide de rétroportage vers le core de WordPress est développé.
  • Les callbacks de filtre de configuration de vue doivent retourner le conteneur.
  • Les recommandations sur les iframe sont mises à jour pour Gutenberg 23.6.
  • Les exemples de schéma de couleurs d’administration dans Storybook sont actualisés.
  • La documentation de conception distingue dialogue et panneau latéral.
  • La documentation des filtres de configuration de vue côté serveur est mise à jour.
  • La documentation en ligne utilise un lien pour les URL.

Qualité du code

  • ESLint ajoute les composants manquants et non recommandés à sa liste d’interdiction.
  • webpack-dev-server passe à ^5.2.1 pour réduire les alertes de dépendances.
  • Les workflows GitHub corrigent les vérifications de journal des modifications pour les pull requests issues de forks.
  • L’API Interactivité remanie ses directives en modules qui s’enregistrent eux-mêmes.
  • RTC utilise array_any() pour vérifier une compaction plus récente sur le serveur de synchronisation par interrogation.
  • RTC utilise str_contains() dans WP_Sync_Config.
  • Storybook construit le spécificateur de résolution comme une chaîne au format URL.
  • Les outils résolvent les dépendances indépendamment de l’organisation de node_modules.

Composants et blocs

  • Autocomplete référence la liste de suggestions avec aria-controls et aria-haspopup.
  • ExternalLink utilise le mixin commun d’anneau de focus.
  • Le hook useSelectionProps devient indépendant de la disposition.
  • Disabled, FormTokenField et SearchControl migrent vers des modules SCSS.
  • Les paquets mettent à jour date-fns vers 4.4.0 et memize vers 2.1.1.
  • Le thème met à jour Color.js vers 0.7.1, actualise colorjs.io et retire une solution de contournement de bug.
  • L’interface améliore la lisibilité du code de composants dans Storybook en utilisant des tableaux pour les enfants.
  • Le paquet publié du thème interdit src.
  • La bibliothèque de blocs se protège contre les valeurs d’attributs qui lèvent des erreurs.
  • editableRoot devient un réglage privé de bloc plutôt qu’un support public.
  • Plusieurs correctifs accompagnent les fusions WordPress-Develop 7.0.
  • La Liste des pages utilise l’opérateur de coalescence nulle pour l’attribut parentPageID.
  • La pragma redondante @jest-environment jsdom est supprimée et interdite par lint.
  • Les contrôles de formulaire retirent les propriétés __next40pxDefaultSize inutiles.
  • Le bloc Table des matières utilise str_contains() au lieu d’un contrôle strpos().
  • Le modèle du panneau d’onglet ne crée plus de paragraphe par défaut.

Éditeur, site et collaboration

  • Les utilitaires duotone sont dédupliqués dans global-styles-engine.
  • Les implémentations dupliquées d’utilitaires de préréglages sont réduites.
  • URLInput devient un composant fonctionnel.
  • Les icônes SVG de l’éditeur de publication doivent inclure un viewBox.
  • Les notes annulent la surbrillance de survol en cours lorsque le focus quitte un fil de discussion.
  • Les fichiers de tests unitaires des styles globaux sont renommés et perdent le suffixe .spec.js.
  • L’éditeur de site remplace l’usage de Theme dans le chargeur de canevas par du CSS.
  • Le code de collaboration en temps réel est déplacé vers lib/experimental/collaboration.

Outils, build et tests

  • La documentation met à jour la capture d’écran du formulaire de publication pour la nouvelle interface des libellés de version GitHub.
  • La publication exige une GitHub CLI fonctionnelle pour appliquer des commits avec cherry-pick.
  • La chaîne de build ajoute un paquet fournisseur React 18 indépendant.
  • Le script de développement traite les chemins de projet contenant des espaces.
  • Les composants ignorent les typages de propriété polymorphe sur les intersections.
  • DependencyExtractionWebpackPlugin inclut les styles extraits dans le hash de version des ressources.
  • Un test de compatibilité de bout en bout vérifie l’attribut booléen inert avec React 19.
  • Prettier est résolu explicitement dans une disposition isolée.
  • Storybook ne définit plus Emotion comme source d’import JSX.
  • WP Build évite une boucle infinie de build des workers.
  • Les vérifications préalables d’accès à npm sont améliorées.
  • Jest corrige son motif d’exclusion pour les fichiers de déclaration TypeScript.
  • Jest passe à la version 30, un changement incompatible.
  • Flakiness.io n’est utilisé que dans le dépôt Gutenberg canonique.
  • Les tests de performance corrigent la métrique « Selecting blocks », qui rapportait 0 ms.
  • RTC corrige un test d’utilisateur supprimé en multisite.
  • L’éditeur de site ajoute une couverture de bout en bout pour l’extensibilité de la configuration de vue.

Ajustements divers

Les styles de base retirent le paramètre de couleur d’accent de input-control. Le composant Theme privé est supprimé.

Préparer vos tests

Installez Gutenberg 23.7 sur un environnement de développement et vérifiez en priorité les galeries dynamiques, les styles globaux hérités si vous activez l’expérience, les formulaires qui emploient les primitives de sélection et les parcours d’édition collaborative. Si votre thème ou votre extension s’appuie sur les configurations de vues, Theme JSON, les composants d’interface ou les outils de build concernés, exécutez aussi votre suite de tests avant tout deploy.

Rejoignez la communauté HelloWP !

Discutez avec nous de WordPress, du développement web et partagez vos expériences avec d’autres développeurs.

- membres
- en ligne
Rejoindre

Nous utilisons des cookies pour améliorer votre expérience. En continuant, vous acceptez notre Politique relative aux cookies.