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

View Transitions Level 1 #437

Closed
1 of 3 tasks
lukewarlow opened this issue Sep 17, 2023 · 4 comments
Closed
1 of 3 tasks

View Transitions Level 1 #437

lukewarlow opened this issue Sep 17, 2023 · 4 comments
Labels
focus-area-proposal Focus Area Proposal

Comments

@lukewarlow
Copy link
Member

Description

View Transitions are a new API that web developers are particularly excited about. It would be good to get level 1 of the spec cross browser.

Specification

https://drafts.csswg.org/css-view-transitions

Open Issues

All open issues are editorial and don't affect implementations or are aimed at Level 2 of the spec which this issue isn't addressing.

Tests

https://wpt.fyi/results/css/css-view-transitions

Current Implementations

  • Blink
  • Gecko
  • WebKit

Standards Positions

WebKit/standards-positions#48 - Supportive

mozilla/standards-positions#677 - Supportive

Browser bug reports

No response

Developer discussions

No response

Polls & Surveys

No response

Existing Usage

https://chromestatus.com/metrics/css/timeline/popularity/712

Workarounds

No response

Accessibility Impact

No response

Privacy Impact

No response

Other

No response

@lukewarlow lukewarlow added the focus-area-proposal Focus Area Proposal label Sep 17, 2023
@maxch-aa
Copy link

maxch-aa commented Oct 5, 2023

The sheer amount of workarounds and libraries that have been made to enable transitions between layouts speaks for the high demand for View Transitions.

Some of the WORKAROUNDS are below.

  • In the React world a commonly used library is framer-motion that implements layout animations. When DOM changes, framer-motion will animate the element from the last DOM into the element in the next DOM with the same layout id, effectively retaining a snapshot of a portion of the old page.
  • Transition libraries, e.g. highway.js, taxi.js, work by orchestrating the inclusion of the DOM of the next page into the current one. For some portion of the time, DOM from both pages is present at the same time allowing for transition animations.
  • Vanilla implementation for tricky transitions is an option. Again it amounts to handling two DOM states at the same time, and in majority of cases across different pages. History API is used to detect URL changes, but then DOM removal from the old page is delayed until transition is complete.

View Transitions will absolutely ease and speed up implementation of page transitions by allowing developers to focus on transitions themselves instead of dealing with DOM manipulations.

@maxch-aa
Copy link

maxch-aa commented Oct 5, 2023

View Transitions will have a positive impact on ACCESSIBILITY.

Preserving two DOM snapshots for the sake of transitions has unpredictable effect on screen readers. Proper implementation requires extra care with attribute management and focus states, which are commonly neglected.

Standardising view transitions will certainly alleviate some of accessibility pain points.

@foolip
Copy link
Member

foolip commented Oct 5, 2023

For survey data and web developer demand, in preliminary results from State of HTML 2023, View Transitions was a very common response to the freeform question "Which existing HTML features or browser APIs are you unable to use because of browser differences or lack of support?"

@wpt-interop
Copy link

Thank you for proposing View Transitions Level 1 for inclusion in Interop 2024.

We wanted to let you know that this proposal was not selected to be part of Interop this year.

This is because we got many more proposals than we could include in this year's project. Note that individual vendors may nevertheless choose to advance work in this area during the forthcoming year. We would welcome this proposal being resubmitted again next year if necessary.

For an overview of our process, see proposal selection. Thank you again for contributing to Interop 2024!

Posted on behalf of the Interop team.

@foolip

This comment was marked as duplicate.

@foolip foolip closed this as completed Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
focus-area-proposal Focus Area Proposal
Projects
Status: Done
Development

No branches or pull requests

4 participants