Alongside {T255717} we should consider a 'normalize' rule containing core stylesheet module that skins should integrate by default.
Already mentioned in T255717, we currently have several [[ https://github.com/necolas/normalize.css/ | 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 {}` | [[ https://gerrit.wikimedia.org/g/mediawiki/core/+/089d052afbfa59246a9847ca2f5edeb5faee4318/resources/src/mediawiki.less/mediawiki.ui/mixins.buttons.less#54 | mediawiki.ui/buttons.less ]]; UniversalLanguageSelector
| `legend {}` | elements.less; 'femiwiki / skin'; skins/BlueSky; skins/GamePress; skins/Greystuff; skins/Mask; skins/Splash; [[ https://gerrit.wikimedia.org/g/mediawiki/extensions/MobileFrontend/+/3acd102b14b6f5d634f0672419be6d2b243da7fd/resources/mobile.special.styles/forms.less#26 | 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
[] With that we could reduce number of normalizing rules across skins, extensions
[] Add 'normalize' module to three current Wikimedia deployed skins: Monobook, Vector and Example
[] Remove specific 'normalize' rules from other places: 'elements.css', 'legacy.css'
== 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