User:Izno/Sandbox/Navbox

This page documents some potential new ways to make the meta template/module Template:Navbox. It's a sketch to work out what the template should output at the end of the day.

Alternatives
Con of current: The majority of the parameters you put in (aside from the label/data parameters) are not tabular. Note "full data cells" are also not tabular but usually contain only child infoboxes. And even the label/data parameters are not particularly tabular (i.e. could be represented as key-value pairs i.e. with an HTML description list).

Con of alternatives: Labels/data no longer are nicely columnar without explicit CSS (in the case of desktop resolutions)? Maybe not even then? We could set display to table-cell but then we have to wrap each 'row' in a div or something, which might work with a pure-div solution or a mixed table solution but not with a description list.

Whole table (current)
Whole table CSS

"Basic" div
This could work with display: table or display: grid + flex (maybe on the latter; display: table).

The CSS for this is experimentally implemented at Template:Navbox/div.

List of lists
A list of lists could work.

Major issues:
 * 1) A bunch of CSS   would need to be added in the context of   and   statements. This is because hlist and plainlist both are applied by navbox at the level of the container items, and it would be hard to delineate between nested series of lists and nested navboxes, among other questions.
 * 2) Probably needs CSS   to be widely supported.

Pro: Accessibility concerns of dizzying divs are ameliorated. I don't think this is a primary concern though since all the links in a navbox should effectively be in a list already.

Migration tracking
Some comments about migrations.

MediaWiki talk:Common.css/to do also contains a series of templates that will be converted at some point to use navbox. It is possible not all of them will be converted so we will need to check in for those.