Skip to content

[cssom-view-1] offsetParent spec says that we return elements from open shadow trees, no browser does. #12392

Open
@flackr

Description

@flackr

According to the cssom-view-1 spec, offsetParent should expose a containing element within an open shadow tree, however, on testing it seems that chrome, firefox and safari skip the shadow tree entirely.

If ancestor is not closed-shadow-hidden from the element and satisfies at least one of the following, terminate this algorithm and return ancestor.

See https://jsbin.com/negusux/edit?html,js,output
In particular, I think the offsetParent of <DIV id="openInnerElement" class="target"> should be the .shadow-scroller element in the <open-component> if browsers were following the spec, however every browser returns the same <DIV id="outerScroller" class="scroller"> for both the open and closed shadow trees, skipping the shadow tree entirely.

I propose we update the spec to match what browsers do, skipping elements from inner shadow trees, for both offsetParent and the new scrollParent.

@tabatkins FYI

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions