Shared Element Transitions is a proposal for a new script API that allows a simple set of transitions in both Single-Page Applications (SPAs) and Multi-Page Applications (MPAs).
This feature enhances the visual polish of pages without requiring a large development effort from developers to make transitions look nice. By selecting from a set of user-agent implemented transition effects, the developers can achieve a polished transition look with minimal effort.
Please see the explainer linked above for a more detailed description.
This feature allows developers to add polished transitions both to their Single- and Multi- page Apps with a simple API. Without this, the Single-Page App transitions are hard to do, since they require a careful coordination of animations and DOM manipulations to achieve the desired effect. Furthermore, the Multi-page app animated transitions are, for the most part, not possible since each page can only control the contents of its own view.
This type of ability is already present in native mobile apps (e.g. Android Activity Transitions); this proposal aims to bring this type of functionality to the web platform.
Initial public proposalhttps://github.com/WICG/proposals/issues/12
TAG reviewNone; it is pretty early in the process, and I think the API has a good chance of evolving as we prototype and discover edge cases. For this reason, I think the TAG review is premature at this point.
Interoperability and Compatibility
None that I'm aware of. As a new API, this doesn't break existing pages. Its availability will be feature-detectable, so the page can use the feature if its present.Gecko
: No signalWebKit
: No signalWeb developers
: No signals
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
YesNot yet, but it should be as we prototype
Link to entry on the Chrome Platform Statushttps://chromestatus.com/feature/5193009714954240