w3c / csswg-drafts

CSS Working Group Editor Drafts
https://drafts.csswg.org/
Other
4.46k stars 657 forks source link

Anchors changed in CSS 2 in-place edit in 2016 #2551

Open gsnedders opened 6 years ago

gsnedders commented 6 years ago

914790fe62140c5deb389ac3dfea7b128b860fa8 changed almost all a few of the anchors in CSS 2.

This is problematic because not only does it break all links pointing at https://www.w3.org/TR/CSS2/ or https://www.w3.org/TR/CSS21/ (which has pointed to drafts of CSS 2.1 since 2002), but also all links pointing at the supposedly stable https://www.w3.org/TR/2011/REC-CSS2-20110607/ given the 2016 edit was in-place.

The edit was made to avoid duplicate anchors in the non-normative PDF edition, but changed anchors everywhere.

We have two options here:


EDIT TO ADD TO-DO LIST

svgeesus commented 6 years ago

I would assume that pre-2016 links into CSS 2.x would be more numerous and that not many would have been updated to the post-2016 ones.

tantek commented 6 years ago

There are likely 100x (if not more) links to CSS2.x fragment links from before 2016 than after, and thus it makes a lot more sense to restore the 2011 REC fragment anchors to keep more fragment links working on the web, especially those that were referencing /TR/CSS2/somepage.html#somefragment or /TR/CSS21/somepage.html#somefragment which redirect to the latest version.

PROPOSED: Restore fragment identifiers in CSS2.x to those in the CSS2.1 REC published in 2011.

(Originally published at: http://tantek.com/2018/102/t4/)

dbaron commented 6 years ago

It's also possible to have both sets of anchors my adding wrapper elements. (I've done this for animations and transitions specs, where the old anchor names were pretty awful in some cases.) Maybe too much work, though.

css-meeting-bot commented 6 years ago

The Working Group just discussed Anchors changed in CSS 2 in-place edit in 2016, and agreed to the following resolutions:

The full IRC log of that discussion <dael> Topic: Anchors changed in CSS 2 in-place edit in 2016
<dael> github: https://github.com/w3c/csswg-drafts/issues/2551
<dael> gsnedders: When css 2.1 was edited in place in 2016 all anchors were changed. This is bad.
<ChrisL> facepalm on edited-in-place
<dael> gsnedders: Because it was an in place edit the old 2011 URLs point to the 2016 copy of the spec. Ther'es noting in TR space with old anchors.
<ChrisL> q+
<dael> gsnedders: Question is do we want the pre or post 2016 anchors when we edit.
<dael> florian: Pre or both
<dael> ChrisL: Pre. Old links will be to pre ones. We should pretend this didn't happen.
<dael> florian: Both in case new links.
<dael> TabAtkins: Agree. both is easy.
<dael> ChrisL: Is it?
<dael> gsnedders: Not too bad
<dael> ChrisL: Messy, but okay.
<dael> gsnedders: Pre is easy
<dael> tantek: Editors prefer pre
<dael> gsnedders: I think we should look at how hard for both.
<dael> florian: I suspect most newer links might be ones we made from bikeshed so if can scan draft for new links nad fix that's okay.
<dael> tantek: That's the theory
<dbaron> I think whatever we do, we should publicly archive the two copies of the spec rather than just overwriting.
<dael> TabAtkins: A lot of 2.1 links ar emanual.
<dael> fantasai: Are all links broken? Looks like not all.
<dael> fantasai: When we link to 2.1 we do to section headings and those were manual choosen IDs.
<dael> florian: There's links to definitions.
<dael> gsnedders: Only manually spec ones ahve not changed.
<dael> fantasai: We rarely link to those so revert should be fine.
<dael> fantasai: Most links have been to section headings.
<dael> fantasai: 2.1 didn't have rigerous mark up or auto cross references so I think it's safe to revert.
<dael> plinss: True for test links?
<dael> fantasai: prop def I'm guessing didn't change.
<dael> florian: I don't think there's a lot of new 2.1 tests since 2016.
<dael> florian: Prop a handful of places but edit those is easier then reference both.
<tantek> yes please
<dael> fantasai: prop def & section headings have not changed.
<dael> astearns: If we rever that's a statement on IRC from dbaron that we should publically archieve a copy of the spec with these links. Will we have that?
<dael> ChrisL: Dated version was edited in place which should never have been done.
<dael> tantek: We're undoing damage to dated version.
<dael> gsnedders: 2011 dated will have 2016 anchors.
<dael> florian: Not ideal.
<dael> gsnedders: So we edit in place the 2011 to undo the anchors change?
<dael> tantek: Yes. Becaues they were around from 2011-2016 and referenced more.
<dael> fantasai: You might...if you want a copy of 2016 anchors then maybe ChrisL can you get exception to normal process and get 2016 date that corrisponds.
<dael> ChrisL: Mgith be. No promise.
<dael> fantasai: In that case you can copy and then revert.
<Rossen_> q?
<ChrisL> /TR/REC-css2-2016-broken/
<dael> astearns: 3 things. 1st is take current draft and revert to 2011 anchors. Obj?
<fantasai> :)
<tantek> yes that ChrisL
<dael> RESOLVED: take current draft and revert to 2011 anchors.
<Rossen_> ChrisL, do you still need to be on the queue?
<ChrisL> q-
<dael> astearns: take dated 2011 draft and revert link changes.
<dael> astearns: Obj?
<dael> gsnedders: draft or rec?
<dael> astearns: 2011 dated rec
<dael> RESOLVED: take dated 2011 rec and revert link changes.
<tantek> ChrisL: /TR/REC-css2-2016-fragged/
<dael> astearns: 3rd is produce a 2016 dated doc that retains those links.
<dael> gsnedders: Change 2011 back to original copy?
<dael> ChrisL: Think so.
<dael> florian: difference other then link?
<dael> gsnedders: Notice that we're working on other things, changes to process that effect PDF copy.
<dael> dbaron: Big obsoletion notice?
<dael> gsnedders: That's the big 2016 change.
<dael> florian: Want to keep that.
<dael> gsnedders: Add fixup.js that eerything else uses.
<dael> ChrisL: Yes.
<dael> gsnedders: Other small editorial changes made in 2016, but very minor.
<dael> ChrisL: Why changes made?
<dael> gsnedders: There's a min-height that in 2011 cross-ref to height and now it's correct.
<dael> ChrisL: Fixing broken link. I'd like to keep if can.
<dael> ChrisL: Revert, add js, patch in small editorial fix ups?
<dael> gsnedders: sure.
<dael> astearns: Preference to 2011?
<dael> ChrisL: 2016 dated.
<dael> ChrisL: 2011 should also have js added.
<dael> florian: Slightly confused. If adding 2016 dated I thought goal was preserve the new links. If it's later then 2011 the fixed is hidden by broken. Useful?
<dael> tantek: A new 2016 dated version will have 0 links so it doesn't matter fragments.
<dael> florian: New [missed]
<dael> gsnedders: Depends where /cc2 goes
<gsnedders> s/cc2/CSS2/
<dael> tantek: We won't link /css2 to that.
<dael> tantek: It's keep an archival copy. Not refer to that as latest.
<dael> florian: Okay with it under assumption that not latest can be where the undated link goes. If that's not possible then no.
<dael> dbaron: It wasn't a request to have it in TR space, but somewhere so you can figure out where a link went.
<dael> fantasai: I think having it in TR space is okay and you don't link to it.
<dael> astearns: Might be easier in draft space then deal with TR publication
<dael> fantasai: Leave it to ChrisL because it's much easier for him to do that.
<fantasai> he just has to convince webmaster to let him :)
<dael> florian: Can we resolve on havig an archival copy on TR or on drafts depending on ease?
<dael> ChrisL: Make sure there's good minutes and I'll discuss all of this with plh
<gsnedders> proposal: http://www.w3.org/TR/2011/REC-CSS2-20110607 has fixup.js and the original pre-2016 links
<dael> astearns: WE want a dated 2011 document with the js that says it's old and with the original links. We also want a 2016 dated document witht he original links and all the changes that went into 2016. And we want a dated doc somewhere that isn't the latest and has the weird links for posterity
<dael> astearns: Correct?
<gsnedders> porposal: http://www.w3.org/TR/TR/2016/REC-CSS2-20160412/ is what is currently at http://www.w3.org/TR/2011/REC-CSS2-20110607
<dael> florian: Seems acceptable. DOn't know if we need 11 and 16 on TR. What you said is okay.
<gsnedders> proposal: /TR/CSS2/ redirects to http://www.w3.org/TR/2011/REC-CSS2-20110607
<dael> fantasai: I think what gsnedders said is more sensible. WE just have 2011 draft restored and a copy of 2016 somewhere.
<dael> fantasai: I'd resolve on gsnedders in IRC
<dael> astearns: Is http://www.w3.org/TR/TR/2016/REC-CSS2-20160412/ is what is currently at http://www.w3.org/TR/2011/REC-CSS2-20110607 enough for you?
<dael> ChrisL: Yes.
<dael> tantek: If you want to add a warning to 2016 TR vresion noting fragments are different, that's okay.
<ChrisL> rrsagent, here
<RRSAgent> See https://www.w3.org/2018/04/25-css-irc#T17-03-24
<dael> RESOLVED: http://www.w3.org/TR/TR/2016/REC-CSS2-20160412/ is what is currently at http://www.w3.org/TR/2011/REC-CSS2-20110607 and /TR/CSS2/ redirects to http://www.w3.org/TR/2011/REC-CSS2-20110607 and ChrisL may add a warning note about the 2016 links as he sees necessary
gsnedders commented 6 years ago

So it turns out I'd got lost in far too many lines of diff to realise how little actually changed: the only thing that actually changed is the anchors of <h1> elements in each page and all of the changes.

gsnedders commented 6 years ago

My previous comment was wrong: all headers without explicit name/ids changed. It just happened that this is only the h1 elements of each page and every change in the App. C Changes and App G.4.

gsnedders commented 6 years ago

Just so I'm clear, because I'm not any more, "RESOLVED: take dated 2011 rec and revert link changes", meant replacing https://www.w3.org/TR/2011/REC-CSS2-20110607/ with… what? the 2016 edited-in-place version but with the old links?

I think having since managed to pull off https://github.com/w3c/csswg-drafts/commit/b11694edb816c5d1fb935dbc3dfd377a5c7cb312, we should revisit the above resolutions and do one of:

Given it is plausible to add both anchors after all, I think the former is probably the easier and more reasonable option (especially given it means we don't need to get permission to create a new 2016 URL to publish a document that complies with neither 2016 nor today's pubrules).