Hi there,

Yes, I'm now (finally) working on this again :) Will send a longer
response once I have a more meaningful update to give.

Thanks

Alice

On 2024-08-08 02:04, Daniel Bratell wrote:
> Hi from the future! 
> 
> About Element Reflection, I'm curious if anyone is still working on
> this or if we should let go of this intent until some future time? 
> 
> /Daniel
> On 2024-02-01 01:16, 'Vladimir Levin' via blink-dev wrote:
> 
>> On Wed, Jan 31, 2024 at 6:14 PM Alice Boxhall <al...@igalia.com>
>> wrote:
>> 
>> On Thursday, February 1, 2024 at 6:52:13 AM UTC+11
>> vmp...@google.com wrote:
>> 
>> On Wed, Jan 31, 2024 at 10:10 AM alice <al...@igalia.com> wrote:
>> Contact emails
>> al...@igalia.com, mere...@chromium.org
>> 
>> Explainer
>>
> https://github.com/WICG/aom/blob/gh-pages/aria-reflection-explainer.md#reflecting-element-references
>> 
>> Specification
>>
> https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#reflecting-content-attributes-in-idl-attributes:element
>> https://w3c.github.io/aria/#ARIAMixin
>> 
>> Summary
>> This feature allows for ARIA relationship attributes to be reflected
>> in
>> IDL as element references rather than DOMStrings.
>> 
>> Note: This intent specifically concerns the ARIA attributes using
>> Element Reflection, i.e. the attributes in the ARIAMixin interface
>> with
>> a type of Element or FrozenArray<Element>. popoverTargetElement,
>> which
>> also uses Element Reflection, is already shipping in Blink and
>> WebKit.
>> 
>> Blink component
>> Blink>DOM
>> 
>> TAG review
>> https://github.com/w3ctag/design-reviews/issues/134
>> 
>> TAG review status
>> Issues addressed
>> 
>> Risks
>> 
>> Interoperability and Compatibility
>> 
>> Gecko: Under consideration 
>> https://github.com/mozilla/standards-positions/issues/200
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1769586
>> 
>> WebKit: Shipped/Shipping
>>
> (https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-151)
>> Mentioned in STP release notes:
>>
> https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-151
>> Was shipped in Safari 16.4 but wasn't mentioned in release notes
>> there.
>> 
>> Web developers: Requested by Web Component authors in particular as
>> a
>> means to implement ARIA relationships for elements inside of Shadow
>> DOM.
>> 
>> I wonder if you had any feedback from framework authors that use
>> VDOM. For context, we were considering using element references for
>> a different feature, and couldn't overcome the fact that when
>> frameworks change DOM, sometimes Nodes and Elements are removed or
>> reused for a different purpose than when initially constructed (ie
>> the element that used to represent the first item in the list is now
>> used to represent the third item in the list). 
>> 
>> I realize that this is asking a question very late in the design
>> process, but I'm just curious if that's a case that you considered
>> and if so how you reasoned about it.
> 
> To be honest, no, we didn't take VDOM into account.  
> 
> I'd be curious to hear what specific cases you were running into
> difficulty with, but it does seem like these paradigms are
> fundamentally at odds with one another - if elements are unpredictably
> destroyed and recreated, then it seems like using the string ID-based
> version is going to be a better fit. This API is, at least, designed
> to work with using the `setAttribute()` version, in that setting the
> content attribute will cause any value set via the IDL attribute to be
> discarded (and vice-versa). 
> 
> The main use case for us was just matching elements automatically
> across DOM mutations with a caveat that we were using CSS, not
> attributes. We couldn't really get a sense of how stable our proposals
> were because of the VDOM type of reordering. It might be worthwhile
> for us to revisit that plan. I agree with you that I think your case
> is a lot better, since it affects attributes being set, instead of
> being some ephemeral state that the browser keeps track of.  
> 
>> (VDOM has always made me anxious for similar reasons - if elements
>> are unpredictably moved or destroyed, what happens if an assistive
>> technology was visiting those nodes in the accessibility tree when
>> that happens? But I have essentially no experience actually using
>> it, so presumably that can be managed in practice.)
> 
> I also agree with this sentiment. It seems like we want to rely on the
> persistence of elements and their identity, but at the same time there
> are a lot of optimized frameworks that are fast because they don't. 
> 
>> Activation
>> This feature is not completely polyfillable; ID references across
>> shadow
>> root boundaries are not possible to implement on top of existing
>> APIs.
>> 
>> WebView application risks
>> None
>> 
>> Debuggability
>> Developers can use console.log to access the value for IDL
>> attributes
>> set via this API, and the Accessibility pane to confirm that the
>> attributes are correctly reflected in the accessibility tree.
>> 
>> 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://wpt.fyi/results/html/dom/aria-element-reflection.html tests
>> that
>> the reflection part of the API works correctly.
>> WPT doesn't yet offer a way to test the relevant accessibility tree
>> mappings.
>> 
>> Flag name on chrome://flags
>> None
>> 
>> Finch feature name
>> None
>> 
>> Non-finch justification
>> None
>> 
>> Requires code in //chrome?
>> False
>> 
>> Tracking bug
>> https://crbug.com/981423
>> 
>> Measurement
>> Per-attribute UseCounters: 
>> V8Element_AriaActiveDescendantElement_AttributeGetter 
>> V8Element_AriaActiveDescendantElement_AttributeSetter 
>> V8Element_AriaControlsElements_AttributeGetter 
>> V8Element_AriaControlsElements_AttributeSetter (etc) 
>> 
>> V8ElementInternals_AriaActiveDescendantElement_AttributeGetter 
>> V8ElementInternals_AriaActiveDescendantElement_AttributeSetter 
>> V8ElementInternals_AriaControlsElements_AttributeGetter 
>> V8ElementInternals_AriaControlsElements_AttributeSetter (etc)
>> 
>> Estimated milestones
>> 123 or 124
>> 
>> Anticipated spec changes
>> None
>> 
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/6244885579431936
>> 
>> Links to previous Intent discussions
>> Ready for Trial:
>>
> https://groups.google.com/a/chromium.org/g/blink-dev/c/yecxBLmRVQI/m/d7YOe_nYAgAJ
>> 
>> -- 
>> 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+...@chromium.org.
>> To view this discussion on the web visit
>>
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/865bf3bd2e6a58da9fc3424ed957ceee%40igalia.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 on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2Nixz41KJKXtd7TWQOrS%3DBWVOjSVKQJfqF_9OH6Cjqomg%40mail.gmail.com
> [1].
> 
>  -- 
> 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/j8nZWueWc1s/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a9ad1774-7794-4d93-a26d-21e618748016%40gmail.com
> [2].
> 
> 
> Links:
> ------
> [1] 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2Nixz41KJKXtd7TWQOrS%3DBWVOjSVKQJfqF_9OH6Cjqomg%40mail.gmail.com?utm_medium=email&amp;utm_source=footer
> [2] 
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a9ad1774-7794-4d93-a26d-21e618748016%40gmail.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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9ed7612668cdf2986ba5b8f16e0f35a7%40igalia.com.

Reply via email to