Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Things to do when we drop IE11 support someday #7374

Open
5 of 14 tasks
jelbourn opened this issue Sep 27, 2017 · 5 comments
Open
5 of 14 tasks

Things to do when we drop IE11 support someday #7374

jelbourn opened this issue Sep 27, 2017 · 5 comments
Labels
area: material/core feature This issue represents a new feature or feature request rather than a bug or bug fix ie11 This issue is specific to Internet Explorer 11 P4 A relatively minor issue that is not relevant to core functions refactoring This issue is related to a refactoring

Comments

@jelbourn
Copy link
Member

jelbourn commented Sep 27, 2017

Writing this issue to keep track of the things we can do / drop once we no longer support IE11. This issue is mainly for record-keeping. Eventually dropping will likely be based on Microsoft ending support for Windows 7, which is currently slated for January 2020.

  • Incorporate CSS custom properties into theming
  • Drop extra code for sticky positioning and just use position: sticky
  • Use IntersectionObserver for overlay positioning
  • Use WeakSet instead of WeakMap<T, boolean>
  • Second parameter to classList.toggle
  • Use element.remove() instead of element.parentNode.removeChild(element)
  • Start using CSS Grid, potentially deprecating mat-grid-list
  • Start using KeyboardEvent.key / KeyboardEvent.code (re-evaluate cdk/keycodes)
  • Explore possibly using native Shadow DOM
  • Remove re-implementations of matches and closest
  • Get rid of IE-specific cases in InteractivityChecker
  • Explore clip-path as a means of custom shapes for components
  • Remove IE11-specific fallback animation in mat-spinner
  • Can use unset CSS value
@lqc
Copy link

lqc commented Feb 27, 2019

I would like to comment on the keyCode part of the issue.

KeyboardEvent.key is widely supported. From what I could tell, Edge has fixed issues with key names (not sure about AltGr problem) and the same could be done in IE11 with a simple shim.

Would you consider going forward with dropping use of keyCode and document the shim for anyone that uses IE11 (similar to classlist, etc.) ?

@jelbourn
Copy link
Member Author

Our current stance is that we don't want to require users to polyfill anything for IE11 (that isn't already needed by Angular itself).

@andrewseguin andrewseguin added the ie11 This issue is specific to Internet Explorer 11 label Mar 13, 2019
@mina-skunk
Copy link
Contributor

I think you'd want to use code not key once you drop IE11 because code represents the physical key and key is the printable representation.

@mmalerba mmalerba added needs: discussion Further discussion with the team is needed before proceeding and removed discussion labels Mar 3, 2020
@mmalerba mmalerba added the needs triage This issue needs to be triaged by the team label May 20, 2020
@crisbeto crisbeto added area: material/core and removed needs triage This issue needs to be triaged by the team labels May 25, 2020
@jelbourn jelbourn added P4 A relatively minor issue that is not relevant to core functions and removed needs: discussion Further discussion with the team is needed before proceeding labels Jun 26, 2020
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Jul 29, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
zarend pushed a commit that referenced this issue Jul 30, 2021
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Aug 2, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
jelbourn added a commit to jelbourn/components that referenced this issue Sep 13, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to angular#7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
andrewseguin pushed a commit that referenced this issue Sep 14, 2021
With Angular dropping IE11 support in version 13, we can now use `classList.toggle` with the second `force` param. Related to #7374
@moniuch
Copy link

moniuch commented Dec 16, 2022

Now that the IE support is officially gone, I believe the keycode-related tickets (closed around 2018 and 2019) can be reopened.

@dzonatan
Copy link

It's getting more and more difficult to keep up with the use of deprecated keyCode property.
For example, a quite popular library called user event from testing-library does not fill the keyCode event since v14.0.0 (2022-03-29). Of course, there are always ways to patch something to make everything work but maybe it's time to move forward and switch away from using keyCode in the CDK? Maybe the community can help with this? I see there was an attempt some long time ago that was closed, which is understandable, at that time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: material/core feature This issue represents a new feature or feature request rather than a bug or bug fix ie11 This issue is specific to Internet Explorer 11 P4 A relatively minor issue that is not relevant to core functions refactoring This issue is related to a refactoring
Projects
None yet
Development

No branches or pull requests

8 participants