In general, CSS variables in the MediaWiki ecosystem are packaged for the Less CSS preprocessor. In order to support font customization in a maintainable way, we need to use CSS Custom Properties instead (in both the Minerva and Vector skins).
There are a number of factors to consider when deciding how we should implement CSS Custom Properties:
- Should we pull in a set of CSS custom properties from a centralized source (such as Codex?)
- CSS Custom Properties are globally available in the browser, should we somehow limit their application?
- Should we namespace the ones used in Vector?
- Should we scope them to something other than the :root element?
- Can we set these values to rems?
- Do we want to share these values across skins or develop them on a per-skin basis?
- Should we use an intermediate step like assigning CSS Custom Properties to Less variabes? (i.e. @fontSizeLarge: var(--font-size-large);?
- How should CSS Custom Properties interact with the mediawiki.skins.variables system (if at all)?
Outcome
- Summarise discussion
- Document any decisions
- Create follow up tasks as needed