README.md
Microsoft Edge Explainers
Welcome! This repo is home to "explainers" and related documents originating from the Microsoft Edge team.
Jump to section: Active Explainers | Alumni | DevTools | Other documents | Withdrawn
Introduction
Explainers are documents focused on describing a user/ developer/ customer problem (at a high level) and exploring potential solutions. These documents are starting points for engaging in discussion with you and other members of the community. Explainers should address their stated problems in clear and easy to understand language. Proposed solutions should be easy to follow and not too deep in technical details. When you read an explainer, we hope the stated problem is compelling and you can form an opinion for whether the proposed solution would address the problem.
Please provide feedback
We are looking for feedback! Are the stated problems relevant to you? How have they impacted your experience? Do the proposed solutions seem reasonable? Do they follow good web principles? Would they solve a problem you currently have? (We love to hear that; tell us more about your scenario!) Do you have related use-cases we hadn't considered?
We appreciate you taking the time to offer feedback; it helps to improve the explainers, validate the problem and solutions they describe, and show evidence that there is potential momentum to move an idea to the next stage. We desire to see all our explainers make the journey to become cross-browser supported web standards.
Start a new issue here, or join in the discussion on existing issues. We also welcome PRs on the explainer documents themselves. Note: we use labels to filter the issues to specific explainers.
Have a product bug?
If you're looking to file a product bug on Microsoft Edge and the bug is unique to Edge, please use the in-browser "Send Feedback" tool (Alt+Shift+i in Windows, or "..." > "Help and feedback"). If the bug reproduces in another Chromium-based browser, please file the issue upstream in the Chromium bug database. Thanks!
Active Explainers 📣
These are the proposals we are currently investigating in this repo. Use the links below to read the explainers, review the current issues, and file new issues specifically for the given explainer(s). We hope they will all "graduate" and begin their journey along the standards-track as they gain sufficient interest; each explainer has a "status of this document" section that indicates what standards venue they expect to go to next (if known). When they graduate, we move them into the Alumni section below.
Alumni 🎓
Awesome! These explainers have moved on to bigger and better things! We've archived the original explainers here for posterity and updated their document status section to help you find where the latest discussions are happening. Please continue to participate and follow the links below to the current standards communities. Thanks for your continued interest!
DevTools 🧰
⭐Our DevTools explainers have moved to their own repo for improved tracking and update frequency!⭐
For explainers that were hosted in this repo, an achived copy remains here, and the related explainers link to their new location.
- Closeable tabs
- CSS Grid Tooling
- Customizable Keyboard Shortcuts
- Dual-screen Emulation
- Focus Mode (archive)
- High Contrast Simulation
- Infobar UI Refresh
- Localization
- Movable tabs
- Redux for State
- Search Console (archive)
- Service Worker Improvements
- Settings Discoverability and Telemetry
- Settings Search
- Stackable Overlays
- Updated 3D View (archive, original)
- webhint (archive)
Other Documents
A collection of explainers documenting platform enhancements (not web developer-facing features), implementation designs, and other public documents related to the construction of Microsoft Edge.
Accessibility
- Native Caret Browsing explainer and Design Doc
- Tagged PDFs support explainer
- UI Automation Provider Mappings explainer and intent-to-implement
- WebVTT Caption Styling explainer
Editing
- Streamlined Text Input (TSF1) explainer
- PenEvents design document
Fonts
- End User Defined Characters (EUDC) explainer
HTML
- HTML Modules intent-to-prototype
- JSON Modules intent-to-prototype
- Synthetic Module Record design document
Media
- Hardware-offloaded Audio Processing explainer
- Media Cache Reduction explainer
Privacy
- Auditing Privacy on the Web a principles document describing our commitment to privacy through the principles of transparency, control, respect, and protection for our users.
Testing & Trials
User Interaction
- Impl Threaded Scrollbar scrolling intent-to-implement
Web Performance Measurement
- Frame Timing use cases
Withdrawn
When at first you don't succeed… don't give up! We're no longer pursuing the solutions described in these explainers at this time, but that doesn't mean the problem isn't worth solving. Have an idea for an alternate solution? We'd love to hear your feedback!
Explainer | Notes | Date |
---|---|---|
Set and Reset Clip | This feature proved technically infeasable during implementation due to shortcoming in the underlying Canvas technology stack, namely that Skia only had a way to restrict clip but not to expand it. Given additional compelling use cases, or changes in the implementation stack, this proposal could be re-considered. | 2022-04-21 |
Custom Dialog on Close | This design conflicted with the philosophy of keeping tab close as fast as possible. Work is ongoing to describe a way to meet the needs that this design aimed to address. | 2020-03-25 |
Arbitrary Text Fragments | We are now directing our efforts into providing feedback on the similar proposal ScrollToTextFragment already being incubated in the W3C Web Incubator Community Group. | 2019-10-31 |
Password Reveal | Rather than working on this HTML controls feature in isolation, we have rolled this effort into the larger Open UI project of the Web Incubator Community Group in an effort to provide a standardized set of form controls for the web, including password. | 2019-06-17 |
Range innerText | 2023-07-17 | |
Enabling Custom Control UI | Originally driven by Microsoft, the project has since been handed off to the Open UI project and implementation handled by Google | 2023-07-17 |
Time-limited Permissions | 2023-07-17 | |
Cache API Response Metadata | 2023-07-17 | |
First Run Permissions Prompt | 2023-07-17 | |
Version History | 2023-07-17 | |
Confirmation of Action | This effort is being pursued in a similar proposal, AriaNotify | 2023-11-13 |
PerformanceNavigationTiming Protocol Launch | 2024-04-22 |