angular / angular/components

Things to do when we drop IE11 support someday

Open
#7,374 5 comments 90 reactions 0 assignees View on GitHub
area: material/core feature ie11 P4 refactoring
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

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](https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet).

- [ ] Incorporate CSS custom properties into theming
- [x] Drop extra code for sticky positioning and just use `position: sticky`
- [ ] Use `IntersectionObserver` for overlay positioning
- [ ] Use WeakSet instead of WeakMap
- [x] Second parameter to `classList.toggle`
- [x] 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`
- [x] Get rid of IE-specific cases in `InteractivityChecker`
- [ ] Explore `clip-path` as a means of custom shapes for components
- [x] Remove IE11-specific fallback animation in mat-spinner
- [ ] Can use `unset` CSS value

Contributor guide

Open the contributing guide

Research direction

This issue is a record-keeping checklist for changes after IE11 support ends, including CSS custom properties, IntersectionObserver, CSS Grid, keyboard APIs, Shadow DOM, and other browser features. No files, tests, or entry points are named; start by selecting one unchecked item and locating its related component code. Done means evaluating or completing that item and updating its checklist status.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.