[wp-trac] [WordPress Trac] #45985: Twenty Nineteen: Introduce better theme support for responsive images
WordPress Trac
noreply at wordpress.org
Mon Jan 14 17:11:10 UTC 2019
#45985: Twenty Nineteen: Introduce better theme support for responsive images
---------------------------+----------------------------
Reporter: kjellr | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: Future Release
Component: Bundled Theme | Version: 5.0.3
Severity: normal | Keywords:
Focuses: performance |
---------------------------+----------------------------
As originally reported by @mor10, in the Twenty Nineteen GitHub
repository:
https://github.com/WordPress/twentynineteen/issues/50
----
Currently, for images inserted within posts, the sizes attribute of the
responsive images markup does not map to the actual displayed width of
images.
According to my tests (using a `1920x1080px` non-aligned image, inserted
via Gutenberg (and set to `Image Size: Full`):
The `sizes` markup is output as:
`(max-width: 1920px) 100vw, 1920px`
- At viewports `<300px`: A `300px` image is loaded
- At viewports `>300px`: A `768px` image is loaded
- At viewports `>768px`: A `1024px` image is loaded
- At viewports `>1024px`: A `1568px` image is loaded
- At viewports `>1568px`: The original `1980px` image is loaded
Since this is not a full-width image, each of those image sizes is
actually wider than necessary, resulting in a larger file size.
For a more specific example: at a screen width of `1024px`, this non-
aligned sample image is loaded in at `1568px` wide. As per theme rules, it
actually appears only `700px` wide in the layout. On a non-retina screen,
there's no need to load a `1568px` image for a `700px` space.
Twenty Nineteen should include some theme-specific markup to properly
assign `sizes` values that map to theme styles. This was done in Twenty
Seventeen for instance:
https://github.com/WordPress/WordPress/blob/master/wp-
content/themes/twentyseventeen/functions.php#L491-L517
At the time of writing, this issue is blocked by Gutenberg: We can
currently issue a custom `sizes` attribute for non-aligned images like the
example above, but it is not currently possible to have the theme
customize the `sizes` attritbute for full/wide images. See the following
GitHub issues for reference:
https://github.com/WordPress/gutenberg/issues/6131
https://github.com/WordPress/gutenberg/issues/6177
https://github.com/WordPress/gutenberg/pull/11973
----
I'm including patches ported over from two of @mor10's PRs on the original
Twenty Nineteen repository:
**Modifying the `sizes` attribute for non-aligned body images** (This
currently causes negative results for `full` and `wide` images)
https://github.com/WordPress/twentynineteen/pull/701
**Adding custom `sizes` attributes, including `wide` and `full` variants**
(This is dependent on Gutenberg #11973 being merged):
https://github.com/WordPress/twentynineteen/pull/629
--
Ticket URL: <https://core.trac.wordpress.org/ticket/45985>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list