{"id":123364,"date":"2026-05-21T23:57:46","date_gmt":"2026-05-21T23:57:46","guid":{"rendered":"https:\/\/make.wordpress.org\/core\/?p=123364"},"modified":"2026-05-21T23:57:46","modified_gmt":"2026-05-21T23:57:46","slug":"media-editor-modal-call-for-testing","status":"publish","type":"post","link":"https:\/\/make.wordpress.org\/core\/2026\/05\/21\/media-editor-modal-call-for-testing\/","title":{"rendered":"Media Editor Modal: Call for Testing"},"content":{"rendered":"<p class=\"wp-block-paragraph\">The addition of a free-form image cropper in the <span tabindex='0' class='glossary-item-container'>Block<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Block<\/span> <span class='glossary-item-description'>Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.<\/span><\/span><\/span> Editor has been a <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/22582\">long-standing feature request<\/a>. A <span tabindex='0' class='glossary-item-container'>Gutenberg<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Gutenberg<\/span> <span class='glossary-item-description'>The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses \u2018blocks\u2019 to add richness rather than shortcodes, custom HTML etc.\r<a href=\"https:\/\/wordpress.org\/gutenberg\/\">https:\/\/wordpress.org\/gutenberg\/<\/a><\/span><\/span><\/span> experiment that integrates this and other image editing features in a <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/73771\">\u201cMedia Editor<\/a> <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/73771\">Modal\u201d<\/a> is ready for testing and feedback.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is it?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Media Editor Modal replaces the existing inline cropping tool in the Block Editor. The modal pattern keeps the familiar Crop button entry point, and brings freeform and aspect-ratio cropping, flip, fine-grained and snap rotation, and metadata editing into one dedicated workflow.<\/p>\n\n\n\n<figure style=\"margin-bottom:var(--wp--preset--spacing--20)\" class=\"wp-block-video\"><video height=\"1654\" style=\"aspect-ratio: 2496 \/ 1654;\" width=\"2496\" controls poster=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-poster-featured-scaled.png\" src=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/2026-05-20-16.06.40.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Under the hood, the modal consumes a <span tabindex='0' class='glossary-item-container'>core<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Core<\/span> <span class='glossary-item-description'>Core is the set of software required to run WordPress. The Core Development Team builds WordPress.<\/span><\/span><\/span> collection custom tools and components that will eventually live in a WordPress package. This will remove the reliance on third-party cropping libraries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why the Change?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Image cropping in the Block Editor hasn\u2019t changed much since its <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/pull\/21024\">introduction<\/a>. The existing inline image cropper is built on top of the <a href=\"https:\/\/github.com\/ValentinH\/react-easy-crop\">react-easy-crop<\/a> library. This implementation has a couple of constraints:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>it\u2019s limited by what\u2019s achievable in the editor canvas and block toolbar, and <\/li>\n\n\n\n<li>the library itself has a narrow set of features.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Why build our own library? Well-maintained, <span tabindex='0' class='glossary-item-container'>open source<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Open Source<\/span> <span class='glossary-item-description'>Open Source denotes software for which the original source code is made freely available and may be redistributed and modified.  Open Source **must be** delivered via a licensing model, see GPL.<\/span><\/span><\/span> alternatives that do most of what users expect are few and far between. Furthermore, there\u2019s a general preference for a WordPress-native surface that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>has all the features we want \u201cout of the box\u201d such as aspect ratios, freeform cropping handles, intuitive zooming, flip and rotation,<\/li>\n\n\n\n<li>includes all the usability features we\u2019d expect such as touch and keyboard support, and<\/li>\n\n\n\n<li>is <span tabindex='0' class='glossary-item-container'>extensible<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Extensible<\/span> <span class='glossary-item-description'>This is the ability to add additional functionality to the code. Plugins extend the WordPress core software.<\/span><\/span><\/span> in ways idiomatic to the WordPress ecosystem.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">There was an attempt to build a custom, <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/pull\/63335\">editor-first cropper component<\/a>, but it was abandoned. Rather than developing separate, one-off flows across blocks, the Media Editor Modal aims to provide a consistent foundation for both a <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/55238\">new Media Library experience<\/a> and various <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/72734\">editor contexts<\/a>, and also serve as platform for building more sophisticated experiences later.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Test<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re familiar with the <a href=\"https:\/\/github.com\/WordPress\/gutenberg\">Gutenberg plugin<\/a> development environment, you can check out <span tabindex='0' class='glossary-item-container'>trunk<span class='glossary-item-hidden-content'><span class='glossary-item-header'>trunk<\/span> <span class='glossary-item-description'>A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running \"trunk\", then you are on the latest revision.<\/span><\/span><\/span> right now and enable the Media Modal experiment from the experiments page at <code>\/wp-admin\/admin.php?page=experiments-wp-admin<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1322\" height=\"176\" data-attachment-id=\"123375\" data-permalink=\"https:\/\/make.wordpress.org\/core\/2026\/05\/21\/media-editor-modal-call-for-testing\/media-modal-experiment-settings\/#main\" data-orig-file=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings.png\" data-orig-size=\"1322,176\" data-comments-opened=\"1\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\",\"alt\":\"\"}' data-image-title=\"media-modal-experiment-settings\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings-1024x136.png\" src=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings.png\" alt=\"Media Modal experiment settings\" class=\"wp-image-123375\" srcset=\"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings.png 1322w, https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings-1024x136.png 1024w, https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings-300x40.png 300w, https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-experiment-settings-766x102.png 766w\" sizes=\"auto, (max-width: 1322px) 100vw, 1322px\"><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The quickest way to test is via Playground. Here\u2019s a link that loads up Playground with Gutenberg Trunk and the Media Editor Modal experiment already active:<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-36078703 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/playground.wordpress.net\/?gutenberg-branch=trunk#ewoJIiRzY2hlbWEiOiAiaHR0cHM6Ly9wbGF5Z3JvdW5kLndvcmRwcmVzcy5uZXQvYmx1ZXByaW50LXNjaGVtYS5qc29uIiwKCSJwbHVnaW5zIjogW10sCgkic3RlcHMiOiBbCgkJewoJCQkic3RlcCI6ICJta2RpciIsCgkJCSJwYXRoIjogIi90bXAvZ3V0ZW5iZXJnIgoJCX0sCgkJewoJCQkic3RlcCI6ICJ3cml0ZUZpbGUiLAoJCQkicGF0aCI6ICIvdG1wL2d1dGVuYmVyZy9hcnRpZmFjdC56aXAiLAoJCQkiZGF0YSI6IHsKCQkJCSJyZXNvdXJjZSI6ICJ1cmwiLAoJCQkJInVybCI6ICIvcGx1Z2luLXByb3h5LnBocD9vcmc9V29yZFByZXNzJnJlcG89Z3V0ZW5iZXJnJndvcmtmbG93PUJ1aWxkJTIwR3V0ZW5iZXJnJTIwUGx1Z2luJTIwWmlwJmFydGlmYWN0PWd1dGVuYmVyZy1wbHVnaW4mYnJhbmNoPXRydW5rIiwKCQkJCSJjYXB0aW9uIjogIkRvd25sb2FkaW5nIEd1dGVuYmVyZyBicmFuY2ggdHJ1bmsiCgkJCX0KCQl9LAoJCXsKCQkJInN0ZXAiOiAidW56aXAiLAoJCQkiemlwUGF0aCI6ICIvdG1wL2d1dGVuYmVyZy9hcnRpZmFjdC56aXAiLAoJCQkiZXh0cmFjdFRvUGF0aCI6ICIvdG1wL2d1dGVuYmVyZyIKCQl9LAoJCXsKCQkJInN0ZXAiOiAiaW5zdGFsbFBsdWdpbiIsCgkJCSJwbHVnaW5EYXRhIjogewoJCQkJInJlc291cmNlIjogInZmcyIsCgkJCQkicGF0aCI6ICIvdG1wL2d1dGVuYmVyZy9ndXRlbmJlcmcuemlwIgoJCQl9CgkJfSwKCQl7CgkJCSJzdGVwIjogIndyaXRlRmlsZSIsCgkJCSJwYXRoIjogIi90bXAvd2MtY2hpY2xhbmEtMjAxNy1zd2FnLmpwZWciLAoJCQkiZGF0YSI6IHsKCQkJCSJyZXNvdXJjZSI6ICJ1cmwiLAoJCQkJInVybCI6ICJodHRwczovL3BkLncub3JnLzIwMjEvMTIvODc4NjFiMWNiNWJkNjVlMTUuNjczMjkxMDcuanBlZyIKCQkJfQoJCX0sCgkJewoJCQkic3RlcCI6ICJydW5QSFAiLAoJCQkiY29kZSI6ICI8P3BocFxucmVxdWlyZSAnL3dvcmRwcmVzcy93cC1sb2FkLnBocCc7XG5yZXF1aXJlX29uY2UgQUJTUEFUSCAuICd3cC1hZG1pbi9pbmNsdWRlcy9maWxlLnBocCc7XG5yZXF1aXJlX29uY2UgQUJTUEFUSCAuICd3cC1hZG1pbi9pbmNsdWRlcy9tZWRpYS5waHAnO1xucmVxdWlyZV9vbmNlIEFCU1BBVEggLiAnd3AtYWRtaW4vaW5jbHVkZXMvaW1hZ2UucGhwJztcblxuJGV4cGVyaW1lbnRzID0gKGFycmF5KSBnZXRfb3B0aW9uKCAnZ3V0ZW5iZXJnLWV4cGVyaW1lbnRzJywgYXJyYXkoKSApO1xuJGV4cGVyaW1lbnRzWydndXRlbmJlcmctbWVkaWEtZWRpdG9yLW1vZGFsJ10gPSB0cnVlO1xudXBkYXRlX29wdGlvbiggJ2d1dGVuYmVyZy1leHBlcmltZW50cycsICRleHBlcmltZW50cyApO1xuXG4kaW1hZ2VfcGF0aCA9ICcvdG1wL3djLWNoaWNsYW5hLTIwMTctc3dhZy5qcGVnJztcbiRhbHQgPSAnQ0MwIGxpY2Vuc2VkIHBob3RvIGJ5IFBhYmxvIE1vcmF0aW5vcyBmcm9tIHRoZSBXb3JkUHJlc3MgUGhvdG8gRGlyZWN0b3J5OiBodHRwczovL3dvcmRwcmVzcy5vcmcvcGhvdG9zL3Bob3RvLzg3ODYxYjFjYjUnO1xuXG4kYXR0YWNobWVudF9pZCA9IG1lZGlhX2hhbmRsZV9zaWRlbG9hZChcblx0YXJyYXkoXG5cdFx0J25hbWUnID0+ICd3Yy1jaGljbGFuYS0yMDE3LXN3YWcuanBlZycsXG5cdFx0J3RtcF9uYW1lJyA9PiAkaW1hZ2VfcGF0aCxcblx0KSxcblx0MCxcblx0J01lZGlhIEVkaXRvciBNb2RhbCdcbik7XG5cbmlmICggaXNfd3BfZXJyb3IoICRhdHRhY2htZW50X2lkICkgKSB7XG5cdHRocm93IG5ldyBFeGNlcHRpb24oICRhdHRhY2htZW50X2lkLT5nZXRfZXJyb3JfbWVzc2FnZSgpICk7XG59XG5cbnVwZGF0ZV9wb3N0X21ldGEoICRhdHRhY2htZW50X2lkLCAnX3dwX2F0dGFjaG1lbnRfaW1hZ2VfYWx0JywgJGFsdCApO1xuXG4kaW1hZ2Vfc3JjID0gd3BfZ2V0X2F0dGFjaG1lbnRfaW1hZ2Vfc3JjKCAkYXR0YWNobWVudF9pZCwgJ2xhcmdlJyApO1xuJGltYWdlX3VybCA9ICRpbWFnZV9zcmMgPyAkaW1hZ2Vfc3JjWzBdIDogd3BfZ2V0X2F0dGFjaG1lbnRfdXJsKCAkYXR0YWNobWVudF9pZCApO1xuXG4kcG9zdF9pZCA9IDEyMzQ7XG4kcG9zdF9jb250ZW50ID0gc3ByaW50Zihcblx0JzwhLS0gd3A6cGFyYWdyYXBoIC0tPjxwPkNsaWNrIG9uIHRoZSBpbWFnZSBibG9jayBhbmQgdGhlbiBvbiB0aGUgY3JvcCBpY29uIGluIHRoZSBibG9jayB0b29sYmFyIHRvIG9wZW4gdGhlIG1vZGFsLjwvcD48IS0tIC93cDpwYXJhZ3JhcGggLS0+PCEtLSB3cDppbWFnZSB7XCJpZFwiOiUxJGQsXCJzaXplU2x1Z1wiOlwibGFyZ2VcIixcImxpbmtEZXN0aW5hdGlvblwiOlwibm9uZVwifSAtLT48ZmlndXJlIGNsYXNzPVwid3AtYmxvY2staW1hZ2Ugc2l6ZS1sYXJnZVwiPjxpbWcgc3JjPVwiJTIkc1wiIGFsdD1cIiUzJHNcIiBjbGFzcz1cIndwLWltYWdlLSUxJGRcIi8+PC9maWd1cmU+PCEtLSAvd3A6aW1hZ2UgLS0+Jyxcblx0JGF0dGFjaG1lbnRfaWQsXG5cdGVzY191cmwoICRpbWFnZV91cmwgKSxcblx0ZXNjX2F0dHIoICRhbHQgKVxuKTtcblxud3BfaW5zZXJ0X3Bvc3QoXG5cdGFycmF5KFxuXHRcdCdpbXBvcnRfaWQnID0+ICRwb3N0X2lkLFxuXHRcdCdwb3N0X3RpdGxlJyA9PiAnTWVkaWEgRWRpdG9yIE1vZGFsJyxcblx0XHQncG9zdF9zdGF0dXMnID0+ICdwdWJsaXNoJyxcblx0XHQncG9zdF9hdXRob3InID0+IDEsXG5cdFx0J3Bvc3RfY29udGVudCcgPT4gJHBvc3RfY29udGVudCxcblx0KSxcblx0dHJ1ZVxuKTtcbiIKCQl9CgldLAoJInByZWZlcnJlZFZlcnNpb25zIjogewoJCSJwaHAiOiAiOC4zIiwKCQkid3AiOiAibGF0ZXN0IgoJfSwKCSJmZWF0dXJlcyI6IHt9LAoJImxhbmRpbmdQYWdlIjogIi93cC1hZG1pbi9wb3N0LnBocD9wb3N0PTEyMzQmYWN0aW9uPWVkaXQiLAoJImxvZ2luIjogdHJ1ZQp9\" target=\"_blank\" rel=\"noopener nofollow\">Test the Media Editor Modal in Playground<\/a><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Suggested Testing Flows<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The steps are provided just in case you need structure. Don\u2019t feel any need to follow any or all of them.<em> <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>The important question is whether the modal is solid enough as a replacement for the Image block crop flow, and whether you notice any bugs, <span tabindex='0' class='glossary-item-container'>UX<span class='glossary-item-hidden-content'><span class='glossary-item-header'>UX<\/span> <span class='glossary-item-description'>User experience<\/span><\/span><\/span> gaps or unexpected behaviors.<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Basic Crop Flow<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the modal from an Image block.<\/li>\n\n\n\n<li>Resize the crop area.<\/li>\n\n\n\n<li>Pan and zoom the image.<\/li>\n\n\n\n<li>Rotate or flip the image.<\/li>\n\n\n\n<li>Save.<\/li>\n\n\n\n<li>Confirm the block updates to use the edited image.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Details Editing<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In a saved post with a title, upload or insert an image.<\/li>\n\n\n\n<li>Open the modal from the Image block.<\/li>\n\n\n\n<li>Switch to the <strong>Details<\/strong> tab. <\/li>\n\n\n\n<li>Confirm Author and Attached to fields are populated with your author handle and the current post\u2019s title.<\/li>\n\n\n\n<li>Update alt text and caption.<\/li>\n\n\n\n<li>Save.<\/li>\n\n\n\n<li>Confirm the media item updates.<\/li>\n\n\n\n<li>Confirm the Image block updates when its existing alt\/caption values were empty or matched the original media values.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Existing Custom Block Values<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add an Image block.<\/li>\n\n\n\n<li>Manually enter custom alt text or a custom caption in the block.<\/li>\n\n\n\n<li>Open the media editor modal.<\/li>\n\n\n\n<li>Change the attachment\u2019s alt text or caption.<\/li>\n\n\n\n<li>Save.<\/li>\n\n\n\n<li>Confirm custom block-level values are not unexpectedly overwritten.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">Keyboard<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the modal.<\/li>\n\n\n\n<li>Use Tab to move through the crop area, crop handles, toolbar controls, <span tabindex='0' class='glossary-item-container'>sidebar<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Sidebar<\/span> <span class='glossary-item-description'>A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.<\/span><\/span><\/span> controls, Save, Cancel, and Close.<\/li>\n\n\n\n<li>Use arrow keys to move or resize the crop area.<\/li>\n\n\n\n<li>Confirm focus is visible and does not get lost.<\/li>\n\n\n\n<li>Try undo\/redo with keyboard shortcuts.<\/li>\n\n\n\n<li>Confirm Escape behaves as expected when there are unsaved changes.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Touch Gesture<\/strong>s<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On a touch device, open the modal from an Image block.<\/li>\n\n\n\n<li>Test drag panning, pinch zoom, and crop area handle dragging for responsiveness and smoothness.<\/li>\n\n\n\n<li>Ensure toolbar actions like rotate, flip, undo, redo, and reset are tappable.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Sharing your Feedback<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comments on this post are a great way to share feedback, but if you\u2019d like to jump into Gutenberg feel free to leave feedback on <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/issues\/73771\">this tracking issue<\/a> as it\u2019s the main one covering current tasks for the experimental modal. We\u2019d love to know for example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Did the modal open where you expected it to?<\/li>\n\n\n\n<li>Was cropping understandable without extra instruction?<\/li>\n\n\n\n<li>Did anything feel slower, confusing, or broken?<\/li>\n\n\n\n<li>Did the image tools, including Save and Cancel behave as you\u2019d expect?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Out of Scope<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The goal is to make the basic crop\/edit workflow solid first, not to ship every image editing feature. Some related work is still being explored separately, for example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manual pixel crop controls.<\/li>\n\n\n\n<li>Restoring original image.<\/li>\n\n\n\n<li>Improving undo\/redo history states.<\/li>\n\n\n\n<li>Broader image editor extensibility for image <span tabindex='0' class='glossary-item-container'>filter<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Filter<\/span> <span class='glossary-item-description'>Filters are one of the two types of Hooks <a href=\"https:\/\/codex.wordpress.org\/Plugin_API\/Hooks\">https:\/\/codex.wordpress.org\/Plugin_API\/Hooks<\/a>. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.<\/span><\/span><\/span> and\/or AI integration options.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you for making it this far, and thanks in advance for testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Props to <a href=\"https:\/\/profiles.wordpress.org\/andrewserong\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>andrewserong<\/a> and <a href=\"https:\/\/profiles.wordpress.org\/isabel_brison\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>isabel_brison<\/a> for helping to write this post.<\/p>\n<p class=\"o2-appended-tags\"><a href=\"https:\/\/make.wordpress.org\/core\/tag\/core-editor\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>core-editor<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/gutenberg\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>gutenberg<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/media\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>media<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/media-modal\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>media-modal<\/a><\/p><nav class='o2-post-footer-actions'><ul class='o2-post-footer-action-row'><li class='o2-post-footer-action'><a href=\"https:\/\/login.wordpress.org\/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcore%2F2026%2F05%2F21%2Fmedia-editor-modal-call-for-testing%2F%23respond&#038;locale=en_US\" title=\"Login to Reply\"  class=\"genericon  genericon-reply\"  data-action=\"login-to-reply\"  data-actionstate=\"default\" >Login to Reply<\/a><\/li><\/ul><div class='o2-post-footer-action-likes'><\/div><ul class='o2-post-footer-action-row'><\/ul><\/nav>","protected":false},"excerpt":{"rendered":"<p>The Media Editor Modal is an experimental feature that brings freeform cropping, flip, rotation, and metadata into one workflow.<\/p>\n","protected":false},"author":15635902,"featured_media":123402,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1175,1174],"tags":[2321,2417,1397,775],"class_list":["post-123364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-proposals","tag-core-editor","tag-gutenberg","tag-media","tag-media-modal","mentions-andrewserong","mentions-isabel_brison","author-ramonopoly"],"revision_note":"","jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/make.wordpress.org\/core\/files\/2026\/05\/media-modal-poster-featured-scaled.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2AvED-w5K","_links":{"self":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/123364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/users\/15635902"}],"replies":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/comments?post=123364"}],"version-history":[{"count":29,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/123364\/revisions"}],"predecessor-version":[{"id":123524,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/123364\/revisions\/123524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/media\/123402"}],"wp:attachment":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/media?parent=123364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/categories?post=123364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/tags?post=123364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}