Look through the dominant {{reflist}} templates (name may vary) and reverse-engineer all functionality from the template documentation, template source, and any transcluded stylesheets.
* Wikis to study: enwiki, TBD (biggest, RTL, representative sample)...
* Global search query to find reflist template: TBD (copy snippet from other tasks)
Functionality which is passed through the template to <references> will be omitted here when we already have parity. Examples:
* `refs` for list-defined references
* `group`
* `responsive`
* Stylesheets like on [[ https://en.wikipedia.org/wiki/Template:Reflist/styles.css | enwiki ]] are equivalent to global style overrides and were only attached to the template for encapsulation.
* Parameter validation
Multicolumn is not omitted from the survey, but note that the Cite `responsive` feature already provides parity.
* Migration was started in 2015, see {T33597}.
* Note that the configuration variable `$wgCiteResponsiveReferences` sets the default value, it's not a feature flag. The feature is available on all sites.
* This could be ported to community configuration, which might also encourage more sites to enable it as default.
* Interesting that the default threshold of 10 is never overridden.
== Wikis reviewed ==
* enwiki
* [[ https://en.wikipedia.org/wiki/Template:Reflist | {{reflist}} ]]
* multicolumn
* TBD: columns are broken in template docs?
* predefined templates like [[ https://en.wikipedia.org/wiki/Template:Notelist | {{notelist}} ]] come with a default group name, which set the alphabet for its footnotes and are each paired with a specific {{efn}} variant.
* Possible misfeature: can override the footnote markers separately in reflist vs. article. "This should be used with care as it can be confusing to readers."
* Can ignore the unbalanced [[ https://en.wikipedia.org/wiki/Template:Refbegin | {{refbegin}} ]] and [[ https://en.wikipedia.org/wiki/Template:Refend | {{refend}} ]] wrap bibliographic-style citations, but never a reflist.
* frwiki
* [[ https://fr.wikipedia.org/wiki/Mod%C3%A8le:R%C3%A9f%C3%A9rences | {{références}} ]]
* multicolumn
* Automatically change number of columns depending on namespace.
* Some templates add a tracking category when number of columns > 2
* Adds an element for CSS, `div.reference-cadre`
* TBD: what is `tabindex="0"` doing, it seems like a no-op?
* [[ https://fr.wikipedia.org/wiki/Mod%C3%A8le:R%C3%A9f%C3%A9rences_nombreuses | {{références nombreuses}} ]] collapses using a scrolling frame. This is pure CSS, using `height` and `overflow: auto`.
* eswiki
* [[ https://es.wikipedia.org/wiki/Plantilla:Listaref | {{listaref}} ]]
* multicolumn
* set symbols separately from group name
* arwiki
* Sometimes an explicit reflist div is included in wikitext, eg in [[ https://ar.wikipedia.org/w/index.php?title=%D8%B3%D9%88%D8%B1%D8%A9_%D8%A7%D9%84%D8%B4%D9%85%D8%B3&action=edit§ion=19&editintro=%D9%82%D8%A7%D9%84%D8%A8:%D8%AA%D8%A8%D8%B5%D8%B1%D8%A9_%D9%85%D8%AD%D8%AA%D9%88%D9%89_%D9%85%D8%AA%D9%85%D9%8A%D8%B2 | this section ]].
* Uses unbalanced templates like [[ https://ar.wikipedia.org/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9_%D8%A7%D9%84%D9%85%D8%B1%D8%A7%D8%AC%D8%B9&action=edit | {{بداية المراجع}} ]] to open a div tag.
* Often doesn't use <references> at all!
* Multicolumn
* Hanging indent styling.
* Collapse to a scrolling box (pure CSS).
* [[ https://ar.wikipedia.org/w/index.php?title=%D9%82%D8%A7%D9%84%D8%A8:%D9%85%D8%B1%D8%A7%D8%AC%D8%B9&action=edit | {{مراجع}} ]]
* Optionally switch containing element to `dir=ltr`
* Set symbol separate from group name
* fawiki
* [[ https://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D9%88:%D9%BE%D8%A7%D9%86%D9%88%DB%8C%D8%B3 | {{پانویس}} ]]
* multicolumn
* set symbol separately from group name
* hewiki
* [[ https://he.wikipedia.org/wiki/%D7%AA%D7%91%D7%A0%D7%99%D7%AA:%D7%94%D7%A2%D7%A8%D7%95%D7%AA_%D7%A9%D7%95%D7%9C%D7%99%D7%99%D7%9D | {{הערות שוליים}} ]]
* Container optionally rtl or ltr
* multicolumn
* svwiki
* Decided not to use the template in 2007. See [[ https://sv.wikipedia.org/wiki/Malldiskussion:Reflist | discussion ]].
* nlwiki
* [[ https://nl.wikipedia.org/w/index.php?title=Sjabloon:References | {{references}} ]]
* multicolumn
* Translates the standard group names
* [[ https://nl.wikipedia.org/w/index.php?title=Sjabloon:Appendix | {{appendix}} ]]
* Standardized section names
* [[ https://nl.wikipedia.org/w/index.php?title=Sjabloon:References-scroll | {{references-scroll}} ]]
* Collapse to a scrolling box
* ruwiki
* [[ https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%87%D0%B0%D0%BD%D0%B8%D1%8F | {{Примечания}} ]]
* multicolumn
* set symbol separately from group name
* itwiki
* Decided not to use the template in 2017. See [[ https://it.wikipedia.org/wiki/Discussioni_template:References#Note_in_colonne | discussion ]].
* plwiki
* [[ https://pl.wikipedia.org/wiki/Szablon:Przypisy | {{przypisy}} ]] which calls Lua [[ https://pl.wikipedia.org/wiki/Modu%C5%82:Przypisy | Module:Przypisy ]]
* multicolumn (always)
* (Seems that the Lua module is only doing parameter validation.)
== Summary of features ==
* All existing functionality plus arbitrary future-compatibility could be provided simply by passing through CSS `class` and `style` parameter values. This is aligned wWith standard HTMLclass and with modern component frameworks (eg.style attributes, [[ https://vuejs.org/guide/essentials/class-and-style.html | vuejs ]])users are free to experiment or to rely on site-wide and global extension-bundled shared styles.
* Precedent: wiki tables. style and class attributes can be used in tables and table rows ([[ https://en.wikipedia.org/wiki/Help:Basic_table_markup#Common_attributes | docs ]]). Inline styles can be used on div and span.
* Precedent: vuejs. WThis is aligned with classstandard HTML and style attributes,with modern component frameworks (eg. users are free to experiment or to rely on site-wide and global extension-bundled shared styles[[ https://vuejs.org/guide/essentials/class-and-style.html | vuejs ]]).
* Set footnote symbol alphabet separately from group name.
* We should require that inline footnote markers use the same symbols as the reflist. This avoids the need to provide customizability on the ref tag. TBD: but look at cases where the symbols diverge.
* Configuration to set the default symbols for all groups
* Part of this need may be to have the symbol names translated into the content language.
* It would be problematic to allow multiple groups to use the same symbols.
* Maybe part of this need is to suppress group names?
* Collapsing to a fixed height and adding a scroll bar. This is done using pure CSS `height` and `overflow`.
* Cleaning up the RTL / LTR container behavior. We have a `dir` attribute already, perhaps this is buggy? Unclear what the needs are, without more investigation.
* Standardized section names. This might be seen as inconsistent with the manual sections elsewhere in the articles, however...
* Suppress section edit links. We've heard anecdotes about this, and it might explain some of the <div> containers which appear. Possibly a better solution would be to show more guidance in the editor interface when the section contains a reflist.
== Follow up ==
Would a scraper run be helpful for analyzing what wikitext is actually produced by the reflist templates, and even counting usages of specific features?
Follow up by roughly estimating the effort to reimplement each behavior in Cite for the <references> tag.