Page MenuHomePhabricator

History, Special:Contributions, Special:RecentChanges, Special:Watchlist should be fully skinnable - use pseudo elements for separating elements
Closed, ResolvedPublic

Description

NOTE: current status T205581#4891329

Jon Robson has become the only person who understands the special pages maintained by MobileFrontend. He is desperate to find a path of least resistance to removing those special pages. The fundamental problem is special pages that make use of feeds cannot be easily skinned. This forced the mobile site to re-invent these pages for mobile. I'm keen to reduce some(all?) of this code by making upstream changes in core that provide more flexibility to skin developers.


In this row, the characters "(", "...", ")" and "|" are part of the output and thus cannot be skinned differently by other skins.

Pseudo elements solve this by keeping the status quo for Vector while enabling other skins to do as they wish.

Currently:

<span class="mw-tag-markers">(<a href="/w/index.php?title=Special:Tags" title="Special:Tags">Tags</a>: <span class="mw-tag-marker mw-tag-marker-mobile_edit">Mobile edit</span>, <span class="mw-tag-marker mw-tag-marker-mobile_web_edit">Mobile web edit</span>, <span class="mw-tag-marker mw-tag-marker-mw-contentmodelchange">content model change</span>)</span>

Proposed HTML:

<span class="mw-tag-markers"><a href="/w/index.php?title=Special:Tags" title="Special:Tags">Tags</a>: <span class="mw-tag-marker mw-tag-marker-mobile_edit">Mobile edit</span>, <span class="mw-tag-marker mw-tag-marker-mobile_web_edit">Mobile web edit</span>, <span class="mw-tag-marker mw-tag-marker-mw-contentmodelchange">content model change</span></span>

Visual changes: None

To start with we will focus on Special:Contributions, and then expand out to other special pages e.g. Vector

Checklist

For Special:Contributions:

  • Provide a mechanism for handling '. .' separator in CSS

  • Provide a mechanism for handling '' | ' separator between diff/history links and brackets surrounding them

  • Provide a mechanism for wrapping number of bytes change with CSS. Use it on Special:Contributions. gerrit

  • Provide a mechanism for wrapping comment in brackets with CSS. Use it on Special:Contributions. gerrit

  • Remove hardcoded parentheticals from ChangesList mw-tag-markers. Use it on Special:Contributions.gerrit

  • pseudo elements used on uctop gerrit

  • pseudo elements used on mw-usertoollinks on Special:RecentChanges gerrit

  • Watchlist and RecentChanges style diff and hist links using pseudo elements gerrit
  • History page uses mw-changeslist-links for mw-history-histlinks, history-size, mw-usertoollinks and mw-changeslist-separator and mw-history-undo

https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/490485 History page is now using pseudo elements for presentation

Sign off steps

RecentChanges has been descoped and is tracked in T219348
Using these in Minerva is descoped and tracked in T219349

Event Timeline

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

Change 473315 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] Changelist tags are wrapped with CSS

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

Jdlrobson updated the task description. (Show Details)Nov 14 2018, 1:30 AM
Jdlrobson updated the task description. (Show Details)

Change 473144 merged by jenkins-bot:
[mediawiki/core@master] Accessibility: Improve contributions navigation for screen reader users

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

Change 473314 merged by jenkins-bot:
[mediawiki/core@master] Wrap the "bytes changed" indication on Special:Contributions with CSS

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

Jdlrobson updated the task description. (Show Details)Nov 16 2018, 12:59 AM
Jdlrobson updated the task description. (Show Details)Nov 16 2018, 2:01 AM

Change 473991 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] ContribsPager: Don't hardcode brackets in uctop information

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

Jdlrobson updated the task description. (Show Details)Nov 16 2018, 2:17 AM
Jdlrobson updated the task description. (Show Details)
Dinoguy1000 renamed this task from Special:Contributions, Special:RecentChanges, Special:Watchlist should be fully skinable - use pseudo elements for separating elements to Special:Contributions, Special:RecentChanges, Special:Watchlist should be fully skinnable - use pseudo elements for separating elements.Nov 16 2018, 5:55 AM
He7d3r added a subscriber: He7d3r.Nov 16 2018, 1:05 PM

Change 473991 merged by jenkins-bot:
[mediawiki/core@master] ContribsPager: Don't hardcode brackets in uctop information

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

Change 473315 merged by jenkins-bot:
[mediawiki/core@master] Changelist "tags" item is wrapped in brackets via CSS

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

Jdlrobson updated the task description. (Show Details)Nov 20 2018, 9:14 PM

Change 462008 merged by jenkins-bot:
[mediawiki/core@master] Remove hardcoded parentheticals from ChangesList "comments"

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

Jdlrobson updated the task description. (Show Details)Nov 21 2018, 8:33 PM

Change 475239 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] Separate content parts of mw-usertoollinks from presentation

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

Change 475240 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] ChangesList separates content elements from presentation

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

Jdlrobson updated the task description. (Show Details)Nov 21 2018, 11:18 PM

Change 462008 merged by jenkins-bot:
[mediawiki/core@master] Remove hardcoded parentheticals from ChangesList "comments"
https://gerrit.wikimedia.org/r/462008

This caused a regression on action=history:

Change 475356 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/core@master] Revert "Remove hardcoded parentheticals from ChangesList "comments""

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

Change 475359 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] Differentiate comments with and without brackets

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

stjn removed a subscriber: stjn.Nov 22 2018, 9:11 PM

Change 475359 merged by jenkins-bot:
[mediawiki/core@master] Differentiate comments with and without brackets

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

Fixed:
https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Lang&action=history&mobileaction=toggle_view_desktop
Thanks for catching this bug @Legoktm. The beta cluster's lack of stability has been hurting testing this.

Change 475356 abandoned by Jdlrobson:
Revert "Remove hardcoded parentheticals from ChangesList "comments""

Reason:
Revert no longer necessary given https://gerrit.wikimedia.org/r/#/c/mediawiki/core/ /475359

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

Nirmos added a subscriber: Nirmos.Nov 24 2018, 7:28 PM

I appreciate the return of the list items back to the way they were, but now there is no space between the edit summary and the word "current" (where it appears), so for example my screen reader now reads one of my latest edit summaries as "wikilinkcurrent", which sounds like "wikilinkerant". Most screen readers do not distinguish text attributes unless told to do so.

@Graham87 As far as I see the is a whitespace in the HTML in all examples that I check. Can you link an example where you find

<span class="mw-uctop">current</span>

without a whitespace before?

at https://en.wikipedia.org/wiki/Special:Contributions/Graham87 ... there is a line break between the <span class="comment comment--without-parentheses"> ... tag and the "<span class="mw-uctop">current</span> ..." tag, but not a space character; adding one would fix this problem. On some further testing with JAWS and NVVDA, the two most popular Windos screen readers, it only occurs in the former program, and only under the default scheme where everything is virtualised so it's easier to read, but the layout is flattened.

A newline is also a whitespace. Does a space (U+0020) instead of the newline (U+000A) prevent problem in the screen reader?

Yes, it would.

Jdlrobson updated the task description. (Show Details)Dec 14 2018, 4:28 PM

Change 475240 merged by jenkins-bot:
[mediawiki/core@master] ChangesList separates content elements from presentation

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

Jdlrobson updated the task description. (Show Details)Dec 18 2018, 8:06 PM

Change 475239 merged by jenkins-bot:
[mediawiki/core@master] Separate content parts of mw-usertoollinks from presentation

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

Jdlrobson updated the task description. (Show Details)Jan 17 2019, 6:58 PM

Update: These pages are slowly becoming much more skinnable. As these screenshots show, these views need a lot of standardising. The HTML greatly differs across these pages which is unfortunate.

Special:Watchlist

Special:Contributions

Special:RecentChanges

History (needs the most work)

Change 490485 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] History page is now using pseudo elements for presentation

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

Jdlrobson updated the task description. (Show Details)Feb 13 2019, 10:35 PM
This comment was removed by Jdlrobson.

An comparison of OOUIfied Special Page would indicate the usefulness of this even stronger…

Wrong ticket.. sorry.

Jdlrobson renamed this task from Special:Contributions, Special:RecentChanges, Special:Watchlist should be fully skinnable - use pseudo elements for separating elements to History, Special:Contributions, Special:RecentChanges, Special:Watchlist should be fully skinnable - use pseudo elements for separating elements.Feb 21 2019, 6:31 PM

Change 490485 abandoned by Jdlrobson:
History page is now using pseudo elements for presentation

Reason:
Preserved on https://phabricator.wikimedia.org/T216420

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

Change 490485 restored by Jdlrobson:
History page is now using pseudo elements for presentation

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

Jdlrobson updated the task description. (Show Details)Feb 28 2019, 4:11 PM
Jdlrobson updated the task description. (Show Details)
Jdlrobson moved this task from Inbox to Focus on the User-Jdlrobson board.Mar 25 2019, 10:06 PM

Change 490485 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] History page is now using pseudo elements for presentation

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

Change 499016 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] Allow skins full control of Contributions/History styles

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

Jdlrobson updated the task description. (Show Details)Mar 25 2019, 11:31 PM

Change 490485 merged by jenkins-bot:
[mediawiki/core@master] History page is now using pseudo elements for presentation

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

Jdlrobson triaged this task as High priority.Mar 26 2019, 1:15 AM
Jdlrobson updated the task description. (Show Details)

Change 499016 merged by jenkins-bot:
[mediawiki/core@master] Allow skins full control of Contributions/History styles

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

Change 499360 had a related patch set uploaded (by Jdlrobson; owner: Jdlrobson):
[mediawiki/core@master] Log entries can be rendered with parentheses in HTML

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

Jdlrobson closed this task as Resolved.Mar 27 2019, 1:03 AM
Jdlrobson updated the task description. (Show Details)
Nirmos removed a subscriber: Nirmos.Thu, Jul 4, 2:40 AM