Page MenuHomePhabricator

Replace reset.css rules with ResourceLoaderSkinModule `normalize` feature
Closed, ResolvedPublic

Assigned To
None
Authored By
Volker_E
Sep 24 2018, 8:50 PM
Referenced Files
F28995893: Screen Shot 2019-05-09 at 7.15.38 PM.png
May 10 2019, 2:21 AM
F28995892: Screen Shot 2019-05-09 at 7.15.33 PM.png
May 10 2019, 2:21 AM
F28995966: Screen Shot 2019-05-09 at 7.19.02 PM.png
May 10 2019, 2:21 AM
F28995973: Screen Shot 2019-05-09 at 7.20.34 PM.png
May 10 2019, 2:21 AM
F28748590: Screen Shot 2019-04-24 at 10.36.35 AM.png
Apr 24 2019, 2:40 AM
F28748588: Screen Shot 2019-04-24 at 10.36.40 AM.png
Apr 24 2019, 2:40 AM
F28748586: Screen Shot 2019-04-24 at 10.36.27 AM.png
Apr 24 2019, 2:40 AM
F28748589: Screen Shot 2019-04-24 at 10.37.13 AM.png
Apr 24 2019, 2:40 AM

Description

MinvervaNeue has been using for historic reasons[1] a fork of Erik Meyer's reset.
This has become seen as disadvantegous for a few reasons in contrast to normalize.css:

  1. normalize.css preserves useful defaults rather than "unstyling" everything.
  2. It corrects some common bugs that are out of scope for reset.css.
  3. It doesn't clutter your dev tools.
  4. It is more modular and can be broken down to the elements MinveraNeue wants to support

On top of normalize, we could also add some opinionated styles inspired by collections like sanitize.css and clearly mark them so.

[1]: Invented first to tame T42751 6 years ago.

Proposed change

Subtasks (and patches by @Volker_E; all of which are small) provide the split of the monster selector in more modular code. In a feature branch:

  • Patches which split up code only
  • Patches which add additional properties, inspired by normalize.css

Acceptance criteria

  • Table styles have been moved to a separate file tables.less and ordered by specificity (tracked in subtask T217620)
  • Image styles are moved to images.less. Border reset is moved to links.less (tracked in subtask T217630)
  • Form styles are moved out of the reset to more logical places (T217622)
  • Unnecessary reset rules are removed (T217631) including for headings (T217626) and audio/video (T217629). Note video tag is not currently used in mobile site so risk here is negligible.
  • The normalize feature should be added to Minerva's ResourceLoaderSkinModule definition.

QA steps

  • We can rely on Pixel for this. Provided there are no visual regression this can be called resolved.

Sign off steps

  • Make sure all subtasks are merged.

Details

SubjectRepoBranchLines +/-
mediawiki/skins/MinervaNeuemaster+15 -11
mediawiki/skins/MinervaNeuemaster+21 -1
mediawiki/skins/MinervaNeuemaster+9 -8
mediawiki/skins/MinervaNeuemaster+1 -0
mediawiki/skins/MinervaNeuemaster+1 -0
mediawiki/skins/MinervaNeuemaster+15 -47
mediawiki/skins/MinervaNeuereset-cleanup+0 -6
mediawiki/extensions/MobileFrontendmaster+2 -0
mediawiki/skins/MinervaNeuemaster+0 -0
mediawiki/extensions/MobileFrontendmaster+4 -3
mediawiki/skins/MinervaNeuereset-cleanup+2 -0
mediawiki/skins/MinervaNeuereset-cleanup+3 -1
mediawiki/skins/MinervaNeuereset-cleanup+0 -6
mediawiki/skins/MinervaNeuereset-cleanup+15 -11
mediawiki/skins/MinervaNeuereset-cleanup+29 -10
mediawiki/skins/MinervaNeuereset-cleanup+33 -30
mediawiki/skins/MinervaNeuereset-cleanup+0 -6
mediawiki/skins/MinervaNeuereset-cleanup+0 -12
mediawiki/extensions/MobileFrontendmaster+31 -0
mediawiki/skins/MinervaNeuereset-cleanup+5 -0
mediawiki/skins/MinervaNeuemaster+5 -0
mediawiki/skins/MinervaNeuemaster+5 -6
mediawiki/skins/MinervaNeuereset-cleanup+0 -4
mediawiki/skins/MinervaNeuereset-cleanup+37 -21
mediawiki/skins/MinervaNeuereset-cleanup+13 -3
mediawiki/skins/MinervaNeuereset-cleanup+7 -2
mediawiki/skins/MinervaNeuereset-cleanup+9 -1
mediawiki/skins/MinervaNeuemaster+14 -13
Show related patches Customize query in gerrit

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 508946 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/extensions/MobileFrontend@master] Use font-size: 100% instead of inherit to ensure form element sizing

https://gerrit.wikimedia.org/r/508946

Change 508950 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/extensions/MobileFrontend@master] Remove browser default padding on button and input

https://gerrit.wikimedia.org/r/508950

Change 509045 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/skins/MinervaNeue@reset-cleanup] Remove unnecessary line-height definitions

https://gerrit.wikimedia.org/r/509045

Change 509045 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Remove unnecessary line-height definitions

https://gerrit.wikimedia.org/r/509045

Change 509054 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/skins/MinervaNeue@reset-cleanup] Move list specific styles to lists.less

https://gerrit.wikimedia.org/r/509054

Change 509062 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/skins/MinervaNeue@reset-cleanup] Introduce 'forms.less' with styling most common UI form elements

https://gerrit.wikimedia.org/r/509062

Change 509064 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/skins/MinervaNeue@reset-cleanup] Remove emptied 'reset.less' and its skin dependency

https://gerrit.wikimedia.org/r/509064

@Jdlrobson I couldn't reproduce the button background and border issues. With the all the additional patches above, there's only one thing remaining from my POV:
When focussing the overlay the search box moves further than before. On a first skim, I couldn't pin-point what rule causes this.

Change 509115 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/skins/MinervaNeue@reset-cleanup] Fix UI regressions with icons, inputs and p elements

https://gerrit.wikimedia.org/r/509115

Change 509054 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Move list specific styles to lists.less

https://gerrit.wikimedia.org/r/509054

Change 509062 abandoned by VolkerE:
Introduce 'forms.less' with styling most common UI form elements

Reason:
Abandoned for I68551aa0969

https://gerrit.wikimedia.org/r/509062

Change 509115 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Fix UI regressions with icons, inputs and p elements

https://gerrit.wikimedia.org/r/509115

Change 509064 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Remove emptied 'reset.less' and its skin dependency

https://gerrit.wikimedia.org/r/509064

Doh, I missed two things :/

Screen Shot 2019-05-09 at 7.15.33 PM.png (58×63 px, 3 KB)

Screen Shot 2019-05-09 at 7.15.38 PM.png (81×511 px, 8 KB)

https://gerrit.wikimedia.org/r/#/c/mediawiki/skins/MinervaNeue/+/509178 Additional icon resets for button elements fixes those.

Also problem with overlay buttons and header height

Screen Shot 2019-05-09 at 7.19.02 PM.png (75×164 px, 4 KB)

Screen Shot 2019-05-09 at 7.20.34 PM.png (107×1 px, 9 KB)

This needs a skinStyle inside skinStyles/mobile.startup/Overlay.less (haven't got time to check that now)

Once those are fixed do

git fetch origin
git checkout origin/master
git merge --no-ff  origin/reset-cleanup
Amend the commit with the change ID I66597b481ca6077105de7ebdbbb504a2f3116ccc

Change 509178 had a related patch set uploaded (by VolkerE; owner: Jdlrobson):
[mediawiki/skins/MinervaNeue@reset-cleanup] Additional icon resets for button elements

https://gerrit.wikimedia.org/r/509178

Change 509178 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Additional icon resets for button elements

https://gerrit.wikimedia.org/r/509178

Change 509425 had a related patch set uploaded (by VolkerE; owner: VolkerE):
[mediawiki/skins/MinervaNeue@reset-cleanup] Fix button size in .header-actions

https://gerrit.wikimedia.org/r/509425

Change 509425 merged by jenkins-bot:
[mediawiki/skins/MinervaNeue@reset-cleanup] Fix button size in .header-actions

https://gerrit.wikimedia.org/r/509425

Change 508946 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] Use font-size: 100% instead of inherit to ensure form element sizing

https://gerrit.wikimedia.org/r/508946

Jdlrobson removed the point value for this task.Jul 8 2019, 11:40 PM

@Jdrewniak @Volker_E what's left here? I don't see any open patchsets and unless I'm mistaken https://gerrit.wikimedia.org/r/#/c/mediawiki/skins/MinervaNeue/+/508675/-1..4 did not land.

I've rebased it, so the question now is do we need to schedule some QA and estimation?
Story points seem irrelevant at this point.
I have a sync with Olga on Wednesday so can arrange some time if I know what's needed to push this over the finish line.

Change 508675 abandoned by Jdlrobson:
Merge remote-tracking branch 'origin/reset-cleanup' into HEAD

https://gerrit.wikimedia.org/r/508675

Change 508950 abandoned by Jdlrobson:
Remove browser default padding on button and input

Reason:
let's reboot this reset stuff sometime this year - but this time let's pair on it to make sure it goes more smoothly!

https://gerrit.wikimedia.org/r/508950

Jdlrobson renamed this task from Split up reset.css rules to specific element selectors only where needed and remove file altogether to Replace reset.css rules with ResourceLoaderSkinModule `normalize` feature.Jul 9 2020, 9:34 PM
Jdlrobson updated the task description. (Show Details)
Jdlrobson added subscribers: gh87, Izno.

I think we're in a place we can use the reset now..?
We had a report that small tags are not styled with useful defaults which was the motivation added here.

I think we just need to add the normalize feature to the ResoriceLoaderSkin definition and delete the normalize file in Minerva.

Change 995137 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Replace reset with SkinModule normalize

https://gerrit.wikimedia.org/r/995137

Change 995137 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Replace reset with SkinModule normalize

https://gerrit.wikimedia.org/r/995137

Change 998537 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Fixes: Notification icon displayed with bullet point

https://gerrit.wikimedia.org/r/998537

Change 998537 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Fixes: Notification icon displayed with bullet point

https://gerrit.wikimedia.org/r/998537

Change 999143 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Font size for search input and overlay search should be consistent

https://gerrit.wikimedia.org/r/999143

Change 999143 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Font size for search input and overlay search should be consistent

https://gerrit.wikimedia.org/r/999143

Change 1000021 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Reset: Further simplify the reset

https://gerrit.wikimedia.org/r/1000021

Change 1003135 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] WIP: Remove the rest of the reset

https://gerrit.wikimedia.org/r/1003135

Change 1003136 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Reset: Drop p and div

https://gerrit.wikimedia.org/r/1003136

Change 1000021 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Reset: Further simplify the reset

https://gerrit.wikimedia.org/r/1000021

Change 1003136 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Reset: Drop p and div inside overlays

https://gerrit.wikimedia.org/r/1003136

Change 1003135 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Remove the rest of the reset

https://gerrit.wikimedia.org/r/1003135

Edtadros subscribed.

Not testable in production.