Problem/Motivation
In #3155358: [policy, no patch] Drop IE11 support from Drupal 10.0.x it was agreed that we no longer need to support IE11 in the Drupal 10 branch. In this issue we will do the work required to remove code that explicitly supports it.
Tasks
Remove unnecessary polyfills:
- ?
Core CSS
- Determine which (if any) PostCSS plugins can be removed
Core JavaScript
- ?
Subsystem Specific
- Remove IE11 from Media
- Remove IE11 from ???
Completed
Remove unnecessary polyfills:
Core CSS
- #3253148: Remove IE from core's browserlist, remove non-essential CSS importing and recompile assets
- #3253153: Remove unneeded @import statements from all of core's *.pcss.cssfiles
- #3101620: Remove IE conditional comments support in Drupal 10
- #3309317: Remove normalize-fixes.css
- #3321006: Drop -ms- vendor prefixed CSS properties
Core JavaScript
Subsystem Specific
- #3253156: [meta] Remove IE11 Support from Olivero
- #3254202: Remove IE11 Support from Claro
- #3309316: Remove IE11 support from Umami
- #3291797: Refactor Drupal 10 settings tray / off-canvas to use modern CSS
- #3261585: Remove IE11 warning for CKEditor 5 in Drupal 10, since Drupal 10 does not support IE anyway
- #3540893: Remove IE11 Support from Claro
Comments
Comment #2
longwaveThis is likely too big to attempt in one patch, repurposing as a meta.
We need child issues at least for
Comment #3
mherchelYay! I was coming here to create this issue!
Here's a quick braindump:
postcssCustomPropertiesto false at https://git.drupalcode.org/project/drupal/-/blob/10.0.x/core/scripts/css...)@importstatements from each CSS file within Olivero and Claro (and other places that use*.pcss.cssfiles.If I have time later this week, i'll come back and edit the issue summary if anyone hasn't gotten to it yet.
Comment #4
mherchelAdded a list of polyfills
Comment #5
mherchelAdding CSS tasks
Comment #6
mherchelListing out some subsystems.
Comment #7
mherchelComment #8
mherchelComment #9
mherchelComment #10
mherchelComment #11
mherchelComment #12
droplet commentedIMO, all JS polyfill can be removed together in a single thread. This way you can perform batch SEARCH to find out what LEFT.
AFAIK, it should be a good pattern to SEARCH & REPLACE(REMOVE). If not, we really need to revisit how bad we've done before and improve/avoid it for the next level :)
Comment #13
mherchelComment #14
ckrinaComment #15
xjmJust getting this into the right place in the D10 issue tree.
Comment #16
xjmOops, some of the children can go in before alpha1, but not necessarily all of them.
Comment #17
mherchelUpdating polyfill issue to #3238501: Remove empty and deprecated IE11 polyfill library stub entries in 11.0.0
Comment #18
mherchelComment #19
gappleI've set these as child issues:
#3101620: Remove IE conditional comments support in Drupal 10
#3214211: Stop setting X-UA-Compatible header
Comment #20
cilefen commentedAlso this? #3256549: Deprecate core/drupal.date asset library in 9.4.0
Comment #21
longwaveComment #22
xjmComment #23
catch#3254202: Remove IE11 Support from Claro is close although it could use some help to get it over the line. A couple of Olivero issues still to go too.
The IS mentions settings tray and media, but there are no issues for those, should there be?
Comment #24
wim leersI think for Settings Tray, the issue was #3291797: Refactor Drupal 10 settings tray / off-canvas to use modern CSS.
Comment #25
catchChanging this to a beta 'should have' since most of these issues aren't actually beta blocking. Anything that is/was beta blocking should already have been surfaced separately.
Comment #26
longwaveOpened #3309316: Remove IE11 support from Umami
Comment #27
longwaveOpened #3309317: Remove normalize-fixes.css
Comment #28
longwaveOpened #3321006: Drop -ms- vendor prefixed CSS properties
Comment #29
catchMoving this down to major since it's not really time sensitive, we just need to finish off the child issues, some of which are 11.x only like dependency removals.
Comment #31
quietone commentedMade an issue for this, #3540893: Remove IE11 Support from Claro
Comment #32
quietone commentedComment #33
quietone commentedComment #34
quietone commentedThe last child issue is fixed. And there are no more instances of the text 'IE11' in core. However, there are still outstanding tasks in the issue summary.
Are there any more instances of IE11 support that need to be removed? Or can this be closed now?
Comment #35
dcam commentedRegarding this task:
The
postcss-preset-envplugin says this in its docs:This sounds like the relevant plugin configuration to look at in
core/scripts/css/compile.js. I don't know anything about PostCSS. I may be able to figure out which features were enabled for IE11 support, but due to my inexperience I wouldn't know without study.Here's the configuration from
compile.js:Comment #36
dcam commentedThe only mention of IE11 in the original issue that added
postcss-preset-envwas in regard to theautoprefixersetting.From that issue:
Comment #37
catchI think we might want a separate issue to revisit whether we need postcss at all these days.
Comment #38
longwavePostCSS currently makes a small number of changes, but nowhere near as much now nesting is supported natively:
pxmeasurements are converted torem-webkit-text-decoration: nonefor some reason)If we wanted to skip the build step we could enforce some of this with stylelint rules but e.g. inlining SVG manually seems a bit of a waste of time.
Comment #39
catchOK some of that sounds worth having so not worth trying to get rid of it entirely. Although shifting what we can to linting and checking if we're using the right supported browser configuration is probably worth it?
Comment #40
longwaveOpened #3568444: Simplify PostCSS config.
There are still several mentions of IE:
I think some of these should be cleaned up too if we can.
Comment #41
catchWhen we originally dropped IE6 support we made a decision not to actively remove XSS protection in PHP etc., but that was over a decade ago, so trying to clear a lot of that out now feels overdue.
Comment #42
longwaveOpened five child issues for various parts of #40. I think we should probably leave the XSS protection/tests alone to err on the side of caution.
Comment #43
longwaveLet's widen the scope of the meta slightly :)