Page MenuHomePhabricator

Exception handling for appearance settings (width) - Vector
Open, HighPublic1 Estimated Story Points

Description

Background

Previously, the work for exception handling for appearance settings was described in T361158, where a design was proposed for font-size, width and dark-mode settings. Ultimately only the exception handling for dark-mode was produced. The work was split into T362911 to target font-size and width. However, the work for width settings also ended up being more complex than anticipated, and is therefore being split into this task.

User story

As a reader, if my width settings are not respected a given page, I want a notice explaining why.

Requirements

TBD (to be discussed).

Current behaviour

The following section describes the current width and settings behaviour in it's entirety and is meant to inform the design.

>1400px

standardwideexcludedBehaviour
Screenshot 2024-04-30 at 10.29.02 AM.png (1×1 px, 450 KB)
Screenshot 2024-04-30 at 10.29.02 AM.png (1×1 px, 450 KB)
Screenshot 2024-04-30 at 10.29.02 AM.png (1×1 px, 450 KB)
At 1400px and under, wide and standard pages appear the same.
Screenshot 2024-04-30 at 10.29.38 AM.png (333×222 px, 18 KB)
Screenshot 2024-04-30 at 10.29.38 AM.png (333×222 px, 18 KB)
Screenshot 2024-04-30 at 10.29.38 AM.png (333×222 px, 18 KB)
At 1400px and under, the widths settings are hidden

1600px

standardwideexcludedBehaviour
Screenshot 2024-04-30 at 10.18.25 AM.png (1×1 px, 443 KB)
Screenshot 2024-04-30 at 10.20.30 AM.png (2×3 px, 1 MB)
Screenshot 2024-04-30 at 10.20.30 AM.png (2×3 px, 1 MB)
At 1600px, wide and "excluded" pages appear the same.
Screenshot 2024-04-30 at 10.15.20 AM.png (443×228 px, 22 KB)
Screenshot 2024-04-30 at 10.15.33 AM.png (441×225 px, 22 KB)
Screenshot 2024-04-30 at 10.15.33 AM copy.png (441×225 px, 27 KB)
At 1600px, the settings would prevent pages from getting narrower, as intended.

1920px

standardwideexcludedBehaviour
Screenshot 2024-04-30 at 10.08.21 AM.png (2×4 px, 1 MB)
Screenshot 2024-04-30 at 10.08.39 AM.png (2×4 px, 1 MB)
Screenshot 2024-04-30 at 10.08.05 AM.png (2×4 px, 1 MB)
At 1920px, the "excluded" pages are actually narrower than the pages that are in the "wide" setting.
Screenshot 2024-04-30 at 10.15.20 AM.png (443×228 px, 22 KB)
Screenshot 2024-04-30 at 10.15.33 AM.png (441×225 px, 22 KB)
Screenshot 2024-04-30 at 10.15.33 AM copy.png (441×225 px, 27 KB)
At 1920px, the disabled settings actually prevent the page from getting wider.

Design

TBD

Proposals (based on conversations)

  1. Accept the current behaviour as-is, where the "always wide" pages are constrained on ultra-wide widths and the setting is disabled.
  2. Don't disable or hide the setting, instead add a notice in different situations saying something like "this setting only applies to larger screens".
  3. Change the layout so that the "excluded" behaviour matches the "wide" settings on ultra-wide screens.

Acceptance criteria

  • Make sure Pixel has been updated to reflect the new state.

Communication criteria - does this need an announcement or discussion?

No

Event Timeline

Change #1028550 had a related patch set uploaded (by Jdrewniak; author: Jdrewniak):

[mediawiki/skins/Vector@master] Add exclusion notice for "width" option in Appearance menu

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

The patch above https://gerrit.wikimedia.org/r/1028550 doesn't change any layout related behaviour, it just disables the width toggle on pages that are marked as "excluded" in the configuration (i.e. "always wide").

Change #1028550 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Add exclusion notice for "width" option in Appearance menu

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

Change #1030989 had a related patch set uploaded (by Jdrewniak; author: Jdrewniak):

[mediawiki/skins/Vector@master] Make pages excluded from $wgVectorMaxWidthOptions reflect "wide" setting

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

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

[mediawiki/skins/Vector@master] Revert "Add exclusion notice for "width" option in Appearance menu"

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

Jdlrobson added a subscriber: Edtadros.

Change #1030985 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Revert "Add exclusion notice for "width" option in Appearance menu"

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

After chatting with the team this morning we decided to revert the change and refine the task requirements a little more. I've reverted the patch and we'll look at https://gerrit.wikimedia.org/r/1030989 with Justin.

Test wiki created on Patch demo by Jdlrobson using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/73e580f3f4/w

Discussed this with @Jdrewniak and @Jdlrobson and we decided on 2 interventions:

  1. We don't hide width toggle for viewports below 1600px. Instead, we disable it with a message like we do for other exceptions.
  2. Our "wide" is always the width of the viewport, not the content area. So wide always means viewport-wide, regardless of viewport size.

Change #1032842 had a related patch set uploaded (by Jdrewniak; author: Jdrewniak):

[mediawiki/skins/Vector@master] Add exclusion behaviour for "width" option in Appearance menu

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

Change #1030989 abandoned by Jdrewniak:

[mediawiki/skins/Vector@master] Make pages excluded from $wgVectorMaxWidthOptions reflect "wide" setting

Reason:

Superseded by: https://gerrit.wikimedia.org/r/c/mediawiki/skins/Vector/+/1032842

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

Change #1032842 merged by jenkins-bot:

[mediawiki/skins/Vector@master] Add exclusion behaviour for "width" option in Appearance menu

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