Skip to content

Conversation

@sabernhardt
Copy link

@sabernhardt sabernhardt commented Oct 28, 2025

This is a superset of #7452

Alternative:
In addition to removing the EOT, filter, and various hacks, this includes three extra changes to consider.

  1. Removes the TTF and SVG src references for all four themes.
  2. Removes all prefixes from transform in the rotate and flip classes available in Twenty Sixteen.
  3. Edits the values for prefixed transition properties in Twenty Fifteen and Twenty Sixteen.

Props: metodiew

Trac 62128


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

If these are retained, they should be wrapped in quotes:
Automattic/Genericons#83
@github-actions
Copy link

github-actions bot commented Oct 28, 2025

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props sabernhardt, westonruter, mukesh27, peterwilsoncc.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions
Copy link

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • The Plugin and Theme Directories cannot be accessed within Playground.
  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.



/**
* The font was graciously generated by Font Squirrel (http://www.fontsquirrel.com). We love those guys.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No more love? 🫶

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💔😢
I removed that sentence for WordPress guidelines, but Genericons is from Automattic. I'll leave it out for now because "graciously" should be enough.

src: url('Genericons.eot');
}

/* When the font is base64 encoded, cross-site embedding works in Firefox */
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this comment should just be removed now? It seems it was specifically here because of the previous four lines. It seems unnecessary now, since it's not contrasting with anything.

Suggested change
/* When the font is base64 encoded, cross-site embedding works in Firefox */

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way I read the full comment block, both IE9 and Firefox (at that time) required encoding the WOFF. It gave me a reason not to suggest replacing it with the external src URL.

That said, I do not mind removing the entire comment.

IE9 uses WOFF which is base64 encoded to allow cross-site embedding.
So unfortunately, IE9 will throw a console error, but it'll still work.
When the font is base64 encoded, cross-site embedding works in Firefox */
/* When the font is base64 encoded, cross-site embedding works in Firefox */
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/* When the font is base64 encoded, cross-site embedding works in Firefox */

sabernhardt and others added 2 commits October 28, 2025 11:33

@font-face {
font-family: 'Genericons';
src: url('Genericons.eot');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the Genericons.eot file if we don't need it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way we can check how many sites use child themes?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not aware of a way to count the sites.

I have built a number of sites using child themes of three of these four. I also have dequeued the Genericons stylesheet more than once, but then the site was not using a font for its icons. Someone else could have taken another step and created their own version of the Genericons stylesheet.

@westonruter
Copy link
Member

Copy link
Author

@sabernhardt sabernhardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automattic/Genericons#109 and Trac 43195 note that the zero-second transition-delay value is default anyway.

Props: manuel_84, GaryJ, SergeyBiryukov

Props: manuel_84, GaryJ, SergeyBiryukov
@sabernhardt
Copy link
Author

Would these changes be proposed upstream at https://github.com/Automattic/Genericons also?

The transition-delay issue was reported already, and I updated the PR accordingly.

Additional changes could be suggested upstream, but I doubt it will be updated anymore. Automattic/Genericons#105 and Automattic/Genericons#106 encouraged using Genericons Neue or Social Logos instead in 2016, and the last update to this project's repository was five years ago.

Copy link
Contributor

@peterwilsoncc peterwilsoncc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this, I've confirmed it prevents the font from loading twice in Firefox.

As noted by @mukeshpanchal27, the font files can be removed with the change to only include the encoded woff font. (eot, svg and ttf)

I might be having a silly but I can't actually see where the icons are used in 2016. Can I get a logic check on that?

In the other themes, the font is always been used when the stylesheet is included so I think leaving the file base64 encoded inline is good, it avoids an HTTP request.

@sabernhardt
Copy link
Author

the font files can be removed with the change to only include the encoded woff font. (eot, svg and ttf)

I prefer not to delete any files.

  1. Child themes and plugins can replace the stylesheet with one that still contains references to any of the font files (likely for reducing CSS). The Genericons readme files even describe creating your own styles.
  2. T13 and T14 have included the OTF as part of the package, and the stylesheet did not use that.

I might be having a silly but I can't actually see where the icons are used in 2016

T16 uses the icons in several places, anywhere the content value starts with "\f. That includes navigation toggle buttons and arrow links, social navigation, etc.

@peterwilsoncc
Copy link
Contributor

peterwilsoncc commented Oct 30, 2025

I prefer not to delete any files.

  1. Child themes and plugins can replace the stylesheet with one that still contains references to any of the font files (likely for reducing CSS). The Genericons readme files even describe creating your own styles.

  2. T13 and T14 have included the OTF as part of the package, and the stylesheet did not use that.

OK, I'm happy to follow your advice on this as you work on the bundled themes heaps more than I do.

Copy link
Member

@westonruter westonruter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sabernhardt I'm happy to commit this for you if you like.

@sabernhardt
Copy link
Author

I'm happy to commit this for you if you like.

Thanks!

pento pushed a commit that referenced this pull request Nov 1, 2025
This updates Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, and Twenty Sixteen as follows:

* Remove legacy Internet Explorer support by deleting EOT file rules from CSS.
* Remove IE hacks from the version included in Twenty Thirteen and Twenty Fourteen.
* Remove `filter` rules from the CSS included in Twenty Sixteen.
* Remove the TTF and SVG `src` references for all four themes.
* Remove all prefixes from transform in the rotate and flip classes available in Twenty Sixteen.
* Edit the values for prefixed transition properties in Twenty Fifteen and Twenty Sixteen.
* Update CSS comments.

Developed in #10427

Props sabernhardt, metodiew, peterwilsoncc, mukesh27, westonruter.
See #56699, #58836.
Fixes #62128.


git-svn-id: https://develop.svn.wordpress.org/trunk@61109 602fd350-edb4-49c9-b593-d223f7449a82
@westonruter
Copy link
Member

Committed in r61109.

@westonruter westonruter closed this Nov 1, 2025
markjaquith pushed a commit to WordPress/WordPress that referenced this pull request Nov 1, 2025
This updates Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, and Twenty Sixteen as follows:

* Remove legacy Internet Explorer support by deleting EOT file rules from CSS.
* Remove IE hacks from the version included in Twenty Thirteen and Twenty Fourteen.
* Remove `filter` rules from the CSS included in Twenty Sixteen.
* Remove the TTF and SVG `src` references for all four themes.
* Remove all prefixes from transform in the rotate and flip classes available in Twenty Sixteen.
* Edit the values for prefixed transition properties in Twenty Fifteen and Twenty Sixteen.
* Update CSS comments.

Developed in WordPress/wordpress-develop#10427

Props sabernhardt, metodiew, peterwilsoncc, mukesh27, westonruter.
See #56699, #58836.
Fixes #62128.

Built from https://develop.svn.wordpress.org/trunk@61109


git-svn-id: http://core.svn.wordpress.org/trunk@60445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
@sabernhardt sabernhardt deleted the Genericons-additional branch November 1, 2025 02:45
github-actions bot pushed a commit to platformsh/wordpress-performance that referenced this pull request Nov 1, 2025
This updates Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, and Twenty Sixteen as follows:

* Remove legacy Internet Explorer support by deleting EOT file rules from CSS.
* Remove IE hacks from the version included in Twenty Thirteen and Twenty Fourteen.
* Remove `filter` rules from the CSS included in Twenty Sixteen.
* Remove the TTF and SVG `src` references for all four themes.
* Remove all prefixes from transform in the rotate and flip classes available in Twenty Sixteen.
* Edit the values for prefixed transition properties in Twenty Fifteen and Twenty Sixteen.
* Update CSS comments.

Developed in WordPress/wordpress-develop#10427

Props sabernhardt, metodiew, peterwilsoncc, mukesh27, westonruter.
See #56699, #58836.
Fixes #62128.

Built from https://develop.svn.wordpress.org/trunk@61109


git-svn-id: https://core.svn.wordpress.org/trunk@60445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants