Alongside T255717: Scope and use of mediawiki.skinning's 'elements.less' file we should consider a 'normalize' rule containing core stylesheet module that skins should integrate by default.
Already mentioned in T255717, we currently have several normalize-style rules, that should become part of a distinct module:
Selector rule | location(s) |
---|---|
body { margin: 0; padding: 0; } | Vector's normalize.less |
main { display: block; } | Needed for IE 9-11. Proposed specifically for html5 in I3e4abb5fc8e55b71 |
pre, code … { font-family: monospace, monospace; } | elements.less |
abbr[title] {} | legacy.less |
sup, sub { line-height: 1; } | legacy.less |
button, input { overflow: visible; } | normalize.css library, but useful to consider |
::-moz-focus-inner {} | mediawiki.ui/buttons.less; UniversalLanguageSelector |
legend {} | elements.less; 'femiwiki / skin'; skins/BlueSky; skins/GamePress; skins/Greystuff; skins/Mask; skins/Splash; MobileFrontend |
… and many more…
Proposal
- Add 'normalize' RL module that collects all those elements.
- With that we would reduce the amount of 'legacy' rules while clarifying that these are not opinionated rules, but normalize like rules that are needed to make default rendering across browsers work
- Add 'normalize' module to three current Wikimedia deployed skins:
- Monobook – https://gerrit.wikimedia.org/r/c/mediawiki/skins/MonoBook/+/609903
- Vector and
- Example – https://gerrit.wikimedia.org/r/c/mediawiki/skins/Example/+/609901
Considerations
- Keep scope lean and only to currently surfacing rules, we don't want to push rules and bytes down the client, which might be useful in the mid-future now
- Hence orient on normalize.css, but only take the reasonable parts
Sign off steps
Create tasks for: