Follow-up to T167522. All links are to enwiki.
The `mw-collapsible` class in MediaWiki core is supposed to replace the old `collapsible` class and NavFrames, both deprecated gadgets. However, there are two issues which hinder the replacement of NavFrames:
- There is no way to align the new buttons to the left, at least without some creative hacks (and even then only in tables and not in divs). (NavFrames also require a hack, but this can be done without any weird visual output most of the time and it works in divs.) [[ https://en.wikipedia.org/wiki/Template:Routemap | Template:Routemap ]] currently uses a hack where a fake empty header cell is placed on the left side of a table, and the JS inserts the button there instead of in the rightmost cell.
- Centred header text in NavFrames doesn't move when the button is clicked. A separate div with a margin to the left and right was required for this in [[ https://en.wikipedia.org/wiki/Template:Navbox/sandbox | Template:Navbox ]] (it uses a table, but same thing happens in divs; see [[ https://en.wikipedia.org/wiki/Template:Hidden/testcases | Template:Hidden/testcases ]]).
One blocker to the replacement of the old `collapsible` class was that the new button couldn't have its colour changed and didn't display well on coloured backgrounds, but this was solved by @TheDJ using [[ https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACommon.js&type=revision&diff=782857452&oldid=772121269 | this one weird trick ]] in MediaWiki:Common.js. AFAIK this is not in standard MediaWiki yet.