User:Enterprisey/signature rfc drafting

Motivation
Custom signatures are difficult to understand for new editors. Just from skimming the current version of WT:SIG, we have WT:SIG (permalink, contains two examples), Special:Diff/1027705784, and Special:Diff/1027480740. See also this long comment by Jorm (diff).

Goals

 * Minimal change for existing accounts. Zero change to page appearance; minimal (unavoidable) change to wikitext.
 * Logged-out readers and accounts created after a certain date don't see custom signatures.
 * Minimize MediaWiki PHP work. Takes forever.

Implementation

 * 1) Change ~ to insert what it does now, plus some extra syntax as shown in the table. The resulting HTML will then contain HTML for both the custom and standard signatures.
 * 2) Develop a "show custom signatures" gadget to hide the standard signature and show the custom signature using CSS. Otherwise (without the gadget), the default CSS will show the standard signature and hide the custom signature.
 * 3) Turn the "show custom signatures" gadget on for everyone - once. For new accounts (accounts created after a certain date), don't automatically turn it on.

Details

 * Don't change any archives or current discussions. Too much work.
 * Non-Latin usernames specify a romanization in preferences, or have one auto-generated. New default sig will display it in parentheses (or whatever we decide on).

Answers to some questions

 * "There's already a script that displays a standard signature instead of custom ones. This would then just make that enabled by default?"
 * Yes. It will also make it "enabled" for logged-out users and users who browse without JavaScript, something that would be impossible if we stuck with that script (which is Kephir's Unclutter, by the way). This approach will also be much faster; CSS is faster than JavaScript for this sort of change.

Strategic note
This proposal actually has two independent parts:


 * 1) Adding the special signature markup - i.e. signatures now have a little more stuff for computers to easily parse in both wikitext and the rendered page.
 * 2) The custom signature switch - i.e. logged-out/new editors don't see custom signatures by default.

It might be easier to get support for just the first, or just the second. Honestly, they should almost certainly be two independent RfCs. We could even implement the custom signature switch (i.e. not showing them for logged-out/new editors) without having any new markup, but I can't think of a high-quality way to implement that. Enterprisey (talk!) 08:16, 13 June 2021 (UTC)

Attribution
Inspired by the final paragraph of Skdb's initial comment at Wikipedia talk:Signatures (permalink to section). Elli had the idea to send the HTML of both signatures down to the browser.

Thoughts welcome below. Enterprisey (talk!) 22:10, 3 June 2021 (UTC)

Thoughts

 * - will think on this. — Ched (talk) 22:42, 3 June 2021 (UTC)
 * Moved from the talk page; was under the section header "watchlisted". Enterprisey (talk!) 08:14, 13 June 2021 (UTC)
 * Should probably use a data-attribute instead of a class, thus: Battery.Horse.Staple Jorm...  and use aria-hidden = true/false to switch between them.--Jorm (talk) 22:49, 3 June 2021 (UTC)
 * JFYI: using aria-hidden with focusable elements is an accessibility failure. I suppose you might have meant  attribute that adds   to the element that it is applied to. stjn 18:55, 4 June 2021 (UTC)
 * stjn: I'm fully aware of how to use aria-hidden. The point I'm making is that if you want one to be visible and not the other, especially to screen readers, the ideal solution is going to be something like this:  (custom sig) (regular sig)  .  The focused element for screen readers will then always and only be the "regular" sig, and for non-screen readers they can use a gadget that flips span[data-customsig="true"] { display: none; }.--Jorm (talk)
 * Regarding the alternate plan, I think editors care a lot about keeping wikitext from becoming too long, so I'm not sure that would get much support. Even adding the span class=signature.../span might draw some opposition on wikitext clutter grounds. &#123;{u&#124; Sdkb  }&#125;  talk 23:16, 3 June 2021 (UTC)
 * The extra syntax is certainly up for discussion. Izno suggested, and to avoid custom elements (see also &lt;source>). Maybe we could just put a single self-closing tag (  or ) right after the timestamp, and tooling would have to parse backwards for the username? On the "more bloat" side, we also have ... or  , etc. I guess we don't have to get it right the first time, but would sure help... Enterprisey (talk!) 20:58, 9 June 2021 (UTC)
 * Could you clarify the goals? Is it so that new users only see default sig for everyone and old users see customized sigs? Or new users can't set a custom sig and only old ones can? Legoktm (talk) 03:24, 5 June 2021 (UTC)
 * I clarified that part. Ideally the change is about defaults only and nobody's forced to do anything. I guess we could automatically make them visible for someone when they set a custom signature via the preferences? One user (see WT:SIG) then had a concern about custom sigs then becoming completely invisible over time... maybe send an automatic notification after some milestone (some months or 1k edits) informing new users of the feature? Enterprisey (talk!) 20:48, 9 June 2021 (UTC)
 * There is a very persuasive post somewhere recently showing that custom signatures confuse new users greatly, as they think it implies some sort of status they don't have. I should dig it up. SportingFlyer  T · C  23:00, 9 June 2021 (UTC)
 * Could be WT:SIG (I added an anchor; comment diff). I was going to link that at the top here, but as people have complained, there aren't any sources. I'll link to that and some comments from new editors. Enterprisey (talk!) 23:27, 9 June 2021 (UTC)
 * I like this idea. Wikipedia is already a creature of the old Internet, and we don't need additional sources of confusion for new users already struggling with wikitext and talk pages implemented as documents. I can see newbies encountering a fancy signature and interpreting it as a mark of status or feeling threatened by the technical complexity revealed by the html/formatting tags. --Anon423 (talk) 20:34, 15 June 2021 (UTC)
 * @Enterprisey, I think that this ties into some ideas that Editing's devs were kicking around about how to handle sigs (to make it easier/more reliable to identify which parts are the sig and which aren't; a reasonable timeline is probably years from now). @Matma Rex and @ESanders (WMF) might be interested in hearing from you about your ideas. Whatamidoing (WMF) (talk) 01:19, 13 June 2021 (UTC)
 * Moved from talk page; section header was "Ping". Also re-pinging @Matma Rex and @ESanders (WMF) to make sure the ping goes through... probably unnecessary? Enterprisey (talk!) 08:14, 13 June 2021 (UTC)
 * Yes! I've been reading through a small bit of what the Editing people have been thinking about, and it sounds good. I had joined the Editing team's IRC channel with the intention of contacting them on Monday about this. Looking forward to seeing what that turns into, and thank you very much for reaching out. Enterprisey (talk!) 08:14, 13 June 2021 (UTC)
 * Yes - we've been talking about a very similar proposal at T230653. Once we have a a parser function, hiding custom signatures based on user preference would be fairly trivial to implement. I hadn't considered the idea the custom signatures could be confused for some special status... Instagram_verifed.png ESanders (WMF) (talk) 18:37, 13 June 2021 (UTC)
 * That should also make @Yair rand's sig-hiding script, User:Yair rand/UserBlind.js, be more reliable. Whatamidoing (WMF) (talk) 15:28, 14 June 2021 (UTC)
 * Good to hear. As I said in the "strategic note" above, I would prefer the first RfC for this to be just about adding a signature parser function (or whatever syntax people want). How could I get the Editing Team to weigh in on such an RfC? Enterprisey (talk!) 16:21, 14 June 2021 (UTC)
 * . Also, bravo! Keep up the great work. nagualdesign 22:09, 22 June 2021 (UTC)