[wp-trac] [WordPress Trac] #59352: Inline images inserted in the block editor can erroneously get fetchpriority=high

WordPress Trac noreply at wordpress.org
Thu Sep 14 21:54:48 UTC 2023


#59352: Inline images inserted in the block editor can erroneously get
fetchpriority=high
--------------------------+----------------------------
 Reporter:  westonruter   |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Future Release
Component:  Media         |    Version:  6.3
 Severity:  normal        |   Keywords:  needs-patch
  Focuses:  performance   |
--------------------------+----------------------------
 I found that inserting an inline image in the block editor can result in
 it erroneously getting `fetchpriority=high` even though it is normally
 rendered as a small image. When inserting an inline image, the default
 size (width) is 150 pixels. Nevertheless, the originally uploaded image is
 actually chosen for the `src` (along with its `width` and `height` and the
 user-supplied size is added as an inline `width` CSS style. Here is the
 rendered markup for an inline image appearing as the first image in the
 content:

 {{{
 <img
   decoding="async"
   fetchpriority="high"
   width="534"
   height="534"
   class="wp-image-143"
   style="width: 30px"
   src="http://example.org/wp-content/uploads/2023/09/u1f629_u1f973.png"
   alt="Anguished partygoer emoji"
   srcset="
     http://example.org/wp-content/uploads/2023/09/u1f629_u1f973.png
 534w,
     http://example.org/wp-
 content/uploads/2023/09/u1f629_u1f973-300x300.png 300w,
     http://example.org/wp-
 content/uploads/2023/09/u1f629_u1f973-150x150.png 150w
   "
   sizes="(max-width: 534px) 100vw, 534px"
 />
 }}}

 The `fetchpriority=high` attribute is added to this image even if the
 immediately-following image is a large image block.

 To address this, `wp_get_loading_optimization_attributes()` could take
 into account `$attr['style']` and parse out any `width` property which
 would override `$attr['width']`. This should address inline images from
 the block editor, but note it would not account for images that are
 resized by CSS style rules.

 Aside: The `sizes` attribute here, at least in Twenty Twenty-Three, is
 causing the full size image to be rendered even though the thumbnail size
 is included in the `srcset`. It seems like whatever the user supplied as
 the size of the image (e.g. 30px here) should be mirrored between the
 inline `style` attribute's `width` and the `sizes` attribute. So here it
 could be `sizes="30px"`.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/59352>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list