Skip to content

Consistent guidelines spec links, especially in CSS #1785

@mirisuzanne

Description

@mirisuzanne

It seems like it might be useful to have some consistent guidelines for linking to specifications.

With CSS specs, there are several variations to consider. First, the publishing status:

  • Editor's Draft URLs start with drafts.csswg.org/…, and represent the latest thinking of the spec editors. However, these are drafts. While they're publicly visible, they are not necessarily stable, or agreed-on, and are not considered to be 'published' for public use.
  • Published specification URLs all start with www.w3.org/TR/…. While Working Drafts may still change, publishing those changes requires group consensus. At this point, even as the status moves from WD to Candidate Recommendation or beyond, the URL will remain more reliable.

I think we should always use TR links when they are available for a feature. Hopefully it's rare that browsers ship a feature before it reaches any published consensus. When looking at an Editor's Draft, there is always a link at the top to the Latest published version of that spec.

Which leads us to the fact that CSS specs are versioned. For every 'module' (eg css-cascade) there are several layers of link specificity:

I'm not exactly sure how the 'current' level is determined. For css-cascade that is currently pointing to css-cascade-4, even though levels 5 & 6 are well established (defining layers and scope). I imagine the 'current' spec is the lowest level that still has a Working Draft status?

I expect it's best to optimize for long-term accuracy. Years after a feature has shipped, the 'current' link should still give a relatively accurate and up-to-date definition of the feature.

My proposal:

When linking to a CSS specification:

  • Prefer the 'current' TR link, without any level version number.
  • If the feature does not yet appear in the 'current' level, prefer the versioned TR link where that feature is defined (e.g. css-cascade-5 for layers, and css-cascade-6 for scope)
  • If no published specification includes the feature, then link the Editor's Draft

Ideally, non-current links get updated over time. I don't know if that's something that can be automated?

I don't think this issue exists in the HTML specification, unless we want to specify linking to the single-page vs multi-page version? It's a massive page all together, so might be best pointing people to the multi-page URL? But I'm not sure if one is more stable than the other.

I have no experience with TC39.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions