It's unconvincing re: deprecation risk that Apple has decided in the short 
run that they don't want to unship to deliver a better feature (without the 
benefits of developer-oriented quality protections that our process 
provides). We should always be trying to answer the question "*does this 
solve an important problem well?"*

If Safari has to take some first-mover disadvantage in this case for doing 
a bad job, so be it.

Best,

Alex


On Tuesday, March 25, 2025 at 8:30:22 PM UTC-7 Vladimir Levin wrote:

> On Tue, Mar 25, 2025 at 1:52 PM Mike Taylor <miketa...@chromium.org> 
> wrote:
>
>> On 3/25/25 1:39 PM, Yoav Weiss (@Shopify) wrote:
>>
>> On Tue, Mar 25, 2025 at 10:37 AM Vladimir Levin <vmp...@chromium.org> 
>> wrote:
>>
>>> I'm not convinced this is a huge footgun. Yes, it's a convenience value 
>>> that allows auto matching in MPA where there is no other way to 
>>> automatically match without changes to the dom (for a custom attribute). 
>>> Doing these modification is not far from just giving unique names to 
>>> view-transition-name, albeit with less typing.
>>>
>>> Is it perfect? No. I suspect that the dynamic id case that Jake gave in 
>>> conjunction with auto naming is the only problematic case in that the 
>>> transition won't match to what the author may want (although it's also 
>>> wrong to say it isn't what they want -- it's something of which they have 
>>> to be cognizant). 
>>>
>>> I agree with Noam that the discrepancy in Interop is likely cause more 
>>> confusion in these cases. I'm not using Interop as justification for 
>>> shipping this, but only pointing out that IMHO the problem with auto is not 
>>> as severe as described in this thread.
>>>
>>> As for the next steps, I'm fine with continuing the discussion with TAG. 
>>> With respect to CSSWG, my sense is that the discussion in this thread won't 
>>> sway the decision.
>>>
>>> I'd like to understand what decision we would make here if TAG agrees 
>>> with Jake's concern. Again to reiterate, the concern is valid, but is the 
>>> risk of this developer confusion great enough to prevent us from adding 
>>> this feature?
>>>
>>
>> I don't think the risk here is developer confusion. The risk is that 
>> adding a unique ID attribute becomes an unsafe operation.
>>
>> In my experience, there's always a non-zero specificity foot gun risk for 
>> non-trivial sites, depending on how your CSS is written (or more likely, 
>> legacy of CSS you inherited). It sucks when you run into it, but I don't 
>> think this change is novel in that sense.
>>
>> That would mean that e.g. CMSes that have multiple actors contributing 
>> code to the page (e.g. the developer, the theme and plugins) would now need 
>> to police/prevent all actors from using `view-transition-name: auto` 
>> because some combinations of code would result in weird and hard to 
>> figure-out bugs.
>>
>> That seems like a fundamental shift, which I'd argue we need to make only 
>> if we have very good reasons to go that path.
>>
>> On the front of interop risk of not shipping this - what happens today if 
>> developers are using `auto`? Do we expect them to feature detect it? And if 
>> so, what do we expect them to do in the fallback case? 
>>
>> Currently in Blink, use of auto would have no effect as it is a reserved 
> keyword (in `view-transition-name`) and would not act as a custom ident.
>
> With respect to fallbacks: 
> In the MPA cases, `view-transition-name` matching, without `auto`, can 
> only happen by idents. To avoid the need to code unique names in CSS, the 
> developer can write something along the lines of `view-transition-name: 
> attr(id type(<custom-ident>))` or `view-transition-name: attr(data-vtn 
> type(<custom-ident>))` as Jake suggested. Of course, if they choose `id` as 
> the attribute to mirror, it would be exactly the same as saying `auto` with 
> all the same concerns for multiple developers stepping on each others' toes.
>  
> In SPA cases, I imagine `match-element` suffices, unless the author 
> explicitly wants the `auto` behaviour of prioritizing `id` and falling back 
> to `match-element`, in which case they can write something like 
> `view-transition-name: attr(id type(<custom-ident>), match-element)`. The 
> latter may be a valid case for situations in which DOM is recycled
>
> Thanks,
> Vlad
>
>>
>>  
>>
>>>
>>> Thanks,
>>> Vlad
>>>
>>> On Tue, Mar 25, 2025, 7:37 a.m. Jake Archibald <jaffathec...@gmail.com> 
>>> wrote:
>>>
>>>> I've summarised the issues with this proposal in the TAG thread 
>>>> <https://github.com/w3ctag/design-reviews/issues/1001#issuecomment-2750966335>
>>>> .
>>>>
>>>> On Tue, 25 Mar 2025 at 10:44, Noam Rosenthal <nrosent...@chromium.org> 
>>>> wrote:
>>>>
>>>>>
>>>>>>
>>>>>> *Until this feature (correct me if I'm wrong), adding a unique ID to 
>>>>>> an element was safe. With this feature, that's no longer the case.* 
>>>>>>
>>>>>>
>>>>>> This seems like a worthwhile question to bring back to the TAG and/or 
>>>>>> the CSSWG. Looking at the TAG review, it doesn't seem like it was 
>>>>>> discussed.
>>>>>>
>>>>>
>>>>> Happy to take this back to TAG, but would defer to Vlad for next steps.
>>>>> Not counting on this leading to anything actionable though as Apple 
>>>>> were very adamant about keeping things as is in the last few discussions 
>>>>> about this,
>>>>> following the CSSWG process that things can stay in the spec unless 
>>>>> there is a consensus to remove them.
>>>>>
>>>>> This should 100% *not* be the reasoning for shipping a feature we 
>>>>>> think is bad.
>>>>>>
>>>>>
>>>>> If API owners think that this is "bad" then we definitely shouldn't 
>>>>> ship it, or ship only match-element which everyone seems to agree on.
>>>>> I would describe this as "not ideal" and that keeping interop on this 
>>>>> is the lesser evil.
>>>>>  
>>>>>
>>>>>> Are we seeing real-life interop pressure? How many sites are already 
>>>>>> using `auto`? What's the user experience in Chromium for ones that do?
>>>>>>
>>>>>
>>>>> It's not an existing backwards compat issue. But we'd be introducing a 
>>>>> slight inconsistency from the get go which IMO is arguably worse than 
>>>>> shipping the whole thing.
>>>>> As a web developer I'd probably end up being confused by this whole 
>>>>> thing if Webkit and chromium end up shipping something slightly different 
>>>>> with a lack of consensus attached to it.
>>>>>  
>>>>>
>>>> -- 
>>> 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/CADsXd2NQKc%2Bh_JK4sDxYKN0YDLJbff8qL1facbxZipvsYw0v2Q%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NQKc%2Bh_JK4sDxYKN0YDLJbff8qL1facbxZipvsYw0v2Q%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/54fc599d-3e1a-4d0b-88c5-4a2db9f93410%40chromium.org
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/54fc599d-3e1a-4d0b-88c5-4a2db9f93410%40chromium.org?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/2440bb50-7fb4-480f-9022-460bebed2a62n%40chromium.org.

Reply via email to