Skip to content

[css-display] Clarify element tree definition #1810

Open

Description

@Loirooriol

CSS Display says

CSS takes a source document, organized as a tree of elements and text nodes, and renders it onto a canvas

This is confusing because the source document is organized as a DOM tree of DOM nodes. Not just elements and text nodes.

As far as I know, the CSS element tree is derived from the DOM tree as follows:

All of this should be properly defined in the spec.

Activity

  1. fantasai commented on Mar 22, 2018

    @fantasai
    Collaborator

    The existence and position of pseudo-elements in the tree is defined in Selectors L3 / CSS Pseudo-elements L4.

    What aspects of the DOM are expected to be rendered is probably more a question for the DOM spec than for CSS: e.g. it should be their decision that child text nodes of elements should be rendered, but the contents of a comment node or processing instruction should not.

  2. fantasai commented on Mar 22, 2018

    @fantasai
    Collaborator

    CSS can in theory render all of it, but not being rendered is what makes a comment a comment--so that shouldn't be our decision.

  3. Loirooriol commented on Mar 22, 2018

    @Loirooriol
    ContributorAuthor

    Well I don't mind if the decision of which CharacterData nodes should be rendered is deferred to the DOM spec. But I would like if all the algorithms for obtaining each tree from the previous one (DOM tree, flat tree, element tree, box tree, fragment tree) would be described in a single place. Possibly linking to some spec for details, like https://drafts.csswg.org/css-scoping/#flattening, which seems the only proper tree algorithm.

  4. css-meeting-bot commented on May 23, 2018

    @css-meeting-bot
    Member

    The Working Group just discussed Clarify element tree definition, and agreed to the following:

    • RESOLVED: Defer #1810 and #2365 to later
    The full IRC log of that discussion <dael> Topic: Clarify element tree definition
    <dael> github: https://github.com//issues/1810
    <dael> fantasai: Most information on how the DOM interaction is speced somewhere. It would be nice if we were more coherent and had an overview somewhere. But the interactions are defined so this is editorial issue
    <dael> fantasai: I'm not sure what goes into display spec. We have to figure out how to fit all the parts together to make understandable.
    <dael> fantasai: Proposal here is not to tackle that, but defer this and #2365 to later rather then block.
    <dael> Rossen: Reasonable
    <dael> Rossen: Other opinions?
    <fantasai> s/I'm not sure what goes/I'm not even sure what parts go/
    <dael> Rossen: Objections?
    <dael> RESOLVED: Defer #1810 and #2365 to later
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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