The example I gave isn't a versioning issue, it results from overloading
the id attribute.

The example I gave wouldn't be broken if view-transition-name was given an
ident. And it's less likely to happen if the name was pulled from a
dedicated attribute eg data-vtn via attr(), since that wouldn't also be
used for things like landmark links.

My advice to developers would be to avoid `auto`. `match-element` is good
for particular SPA (or later, scoped) cases.

I'm sad that Apple have forced a wart into this API.

On Mon, 24 Mar 2025, 20:04 Vladimir Levin, <vmp...@chromium.org> wrote:

> (feature author hat)
>
> I'd like to highlight that view-transition-name: auto does have a need in
> MPA, where match-element cannot match anything across different documents.
> I agree that the versioning problem that Jake mentioned exists in that
> case, but it seems similar to any other versioning problem where
> view-transition-name: <ident> is used to identify paired elements: those
> may or may not work if the version of the current page matches the version
> of the next page.
>
> The reason that we're advocating for shipping view-transition-name is in
> part, as Noam mentioned, interop. The other reason is that it does address
> a need to automatically match elements based on some criteria across
> document navigation. Because of this dependence of CSS on HTML, we likely
> do need documentation that highlights developer care required when changing
> IDs. However, I still think the value added by the feature exceeds the
> risks.
>
> Thanks,
> Vlad
>
> On Mon, Mar 24, 2025 at 2:31 PM Noam Rosenthal <nrosent...@chromium.org>
> wrote:
>
>>
>>
>> On Mon, Mar 24, 2025, 6:20 PM Alex Russell <slightly...@chromium.org>
>> wrote:
>>
>>> It seems like Jake's concern is well founded. Was this discussed at CSS
>>> WG? Do we understand why this problematic design is going forward in other
>>> engines?
>>
>>
>> It was discussed multiple times with the CSSWG. They seem to believe that
>> the ID-based approach is nice for simple cases.
>>
>> I personally agree with Jake's arguments, but since we had it in the
>> draft and Apple refused the request to unship, I believe that having a
>> non-interoperable support for this feature would be worse than shipping the
>> same thing, while advising people to use the less footgunny match-element
>> which we ship at the same time and Apple has implemented.
>>
>> I wanted to stress that addressing this issue of auto generating names
>> was a repeated request from multiple early adopters of view transitions,
>> and eg React rolled out their own solution to this problem.
>>
>>
>>
>>> Best,
>>>
>>> Alex
>>>
>>> On Monday, March 24, 2025 at 6:30:42 AM UTC-7 Mike Taylor wrote:
>>>
>>>> LGTM2
>>>> On 3/24/25 4:22 AM, Domenic Denicola wrote:
>>>>
>>>> Thanks for the quick responses! LGTM1.
>>>>
>>>> On Mon, Mar 24, 2025 at 4:37 PM Noam Rosenthal <nrosent...@chromium.org>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Mar 24, 2025 at 5:53 AM Domenic Denicola <dome...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Generally in good shape, but I have questions about potential open
>>>>>> spec issues.
>>>>>>
>>>>>> On Friday, March 21, 2025 at 4:09:17 AM UTC+9 Chromestatus wrote:
>>>>>>
>>>>>> Contact emails nrosent...@chromium.org, vmp...@chromium.org
>>>>>>
>>>>>> Explainer https://github.com/WICG/view-transitions/blob/main/auto-
>>>>>> name-explainer.md
>>>>>>
>>>>>> Specification https://drafts.csswg.org/css-
>>>>>> view-transitions-2/#auto-vt-name
>>>>>>
>>>>>> Summary
>>>>>>
>>>>>> This intent covers two new keywords for view-transition-name: -
>>>>>> 'match-element' generates a unique id based on the element's identity and
>>>>>> renames the same for this element. This is used in Single Page App cases
>>>>>> where the element is being moved around and the desire is to animate it
>>>>>> with a view transition - 'auto' generates a unique id based on the
>>>>>> element's id attribute. This value remains the same for the same ids
>>>>>> regardless of the element, but does not otherwise match the
>>>>>> view-transition-name named with the same ident as the id. This can be 
>>>>>> used
>>>>>> in both Single and Multi Page Apps to match elements based on their id
>>>>>> attributes. Allow the 'auto' keyword as a value for the
>>>>>> 'view-transition-name' CSS property. This generates a unique name for the
>>>>>> element, and reduces the burden of having to invent unique names for
>>>>>> participating elements.
>>>>>>
>>>>>>
>>>>>> Blink component Blink>CSS
>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>
>>>>>>
>>>>>> TAG review https://github.com/w3ctag/design-reviews/issues/1001
>>>>>>
>>>>>> TAG review status Issues addressed
>>>>>>
>>>>>> Risks
>>>>>>
>>>>>>
>>>>>> Interoperability and Compatibility
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> I guess there is some small compat risk in that people might have
>>>>>> previously named their view transitions "auto" or "match-element", but
>>>>>> we're hoping that's rare?
>>>>>>
>>>>>
>>>>> `auto` was an invalid value in view-transition-1 for this reason, so
>>>>> `@supports { view-transition-name: auto }` would discover this feature.
>>>>> `match-element` is a small enough compat risk.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *Gecko*: No signal (https://github.com/mozilla/
>>>>>> standards-positions/issues/1198)
>>>>>>
>>>>>> *WebKit*: Shipped/Shipping (https://webkit.org/blog/
>>>>>> 16301/webkit-features-in-safari-18-2)
>>>>>>
>>>>>>
>>>>>> Safari seems to have only shipped "auto" based on that blog post. Do
>>>>>> you know their thoughts on "match-element"? Maybe based on
>>>>>> https://wpt.fyi/results/css/css-view-transitions/match-element-name.html?label=master&label=experimental&aligned
>>>>>> they've also implemented match-element.
>>>>>>
>>>>>
>>>>> They've implemented it already.
>>>>> https://github.com/WebKit/WebKit/pull/35953
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> *Web developers*: Positive This is a highly requested feature to
>>>>>> prevent the need to uniquely identify each participating view transition
>>>>>> element.
>>>>>>
>>>>>> *Other signals*:
>>>>>>
>>>>>> WebView application risks
>>>>>>
>>>>>> Does this intent deprecate or change behavior of existing APIs, such
>>>>>> that it has potentially high risk for Android WebView-based applications?
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Debuggability
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)? Yes
>>>>>>
>>>>>> Is this feature fully tested by web-platform-tests
>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>> ? Yes
>>>>>>
>>>>>> https://wpt.fyi/results/css/css-view-transitions/auto-
>>>>>> name-from-id.html?label=experimental&label=master&aligned
>>>>>> https://wpt.fyi/results/css/css-view-transitions/
>>>>>> navigation/auto-name-from-id.html?label=experimental&label=
>>>>>> master&aligned
>>>>>>
>>>>>>
>>>>>> I guess
>>>>>> https://wpt.fyi/results/css/css-view-transitions/match-element-name.html?label=master&label=experimental&aligned
>>>>>> is also relevant.
>>>>>>
>>>>> Right.
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> Flag name on about://flags
>>>>>>
>>>>>> Finch feature name CSSViewTransitionAutoName
>>>>>>
>>>>>> Requires code in //chrome? False
>>>>>>
>>>>>> Tracking bug https://issues.chromium.org/issues/399877975
>>>>>>
>>>>>> Estimated milestones Shipping on desktop 136 Shipping on Android 136 
>>>>>> Shipping
>>>>>> on WebView 136
>>>>>>
>>>>>> Anticipated spec changes
>>>>>>
>>>>>> Open questions about a feature may be a source of future web compat
>>>>>> or interop issues. Please list open issues (e.g. links to known github
>>>>>> issues in the project for the feature specification) whose resolution may
>>>>>> introduce web compat/interop risk (e.g., changing to naming or structure 
>>>>>> of
>>>>>> the API in a non-backward-compatible way).
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Are any of these relevant?
>>>>>>
>>>>> They are, forgot to close some of them :)
>>>>>
>>>>>
>>>>>>
>>>>>>    - https://github.com/w3c/csswg-drafts/issues/11614
>>>>>>
>>>>>> Yes, this one is resolved and implemented.
>>>>>
>>>>>
>>>>>>
>>>>>>    - https://github.com/w3c/csswg-drafts/issues/11112
>>>>>>
>>>>>> A duplicate of the previous one.
>>>>>
>>>>>
>>>>>>
>>>>>>    - https://github.com/w3c/csswg-drafts/issues/10995
>>>>>>
>>>>>> This one is resolved and implemented. Jake Archibald expressed his
>>>>> reservations about the ID behavior after webkit had already shipped.
>>>>> We thought that he had some good points, but since this is already
>>>>> shipped in webkit, I believe that what the working group resolved here
>>>>> <https://github.com/w3c/csswg-drafts/issues/11614> is satisfactory.
>>>>>
>>>>>
>>>>>>
>>>>>>    - https://github.com/w3c/csswg-drafts/issues/10978
>>>>>>
>>>>>> Implemented, now closed.
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Link to entry on the Chrome Platform Status https://chromestatus.com/
>>>>>> feature/6575974796492800?gate=5170335230722048
>>>>>>
>>>>>> Links to previous Intent discussions Intent to Prototype:
>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-
>>>>>> dev/66fe6d9c.2b0a0220.d54b7.1136.GAE%40google.com
>>>>>>
>>>>>>
>>>>>> This intent message was generated by Chrome Platform Status
>>>>>> <https://chromestatus.com>.
>>>>>>
>>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_MKpO5%3DC%2B6O3C6v443Ywr8cjU-rHijm%2BvmZrLob5EW1w%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_MKpO5%3DC%2B6O3C6v443Ywr8cjU-rHijm%2BvmZrLob5EW1w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to blink-dev+unsubscr...@chromium.org.
>> To view this discussion visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYb_xqtyotWGQ1RvupmYz65DEG51igYe32qm-YSvBvy%2BTQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYb_xqtyotWGQ1RvupmYz65DEG51igYe32qm-YSvBvy%2BTQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "blink-dev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/a/chromium.org/d/topic/blink-dev/5LfSXRBkeAY/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> blink-dev+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NJq5G9PspB7EW4kQ3EbqB4PD4oF5uQ%3Du0WBRS2%2BuXVcQ%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NJq5G9PspB7EW4kQ3EbqB4PD4oF5uQ%3Du0WBRS2%2BuXVcQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJ5xic-nfvxj_igPSgEb8OXLxSW-Uw1k3Gqvp8ehzhSehXY0xg%40mail.gmail.com.

Reply via email to