Page MenuHomePhabricator

[Reading List] Adjustments to Special:ReadingLists Layout of the saved articles view
Closed, ResolvedPublic5 Estimated Story Points

Description

NOTE: This ticket spun off multiple sub tasks, but the acceptance criteria can be used to completely QA the feature and sign off that it is complete.

Background

As part of the reading list experiment we want users to be able to view all of their saved content. This ticket is to build the page where all the saved content can be accessed potentially giving users different ways in which they can view their saved lists such as list, card, image view.

For the scope of this experiment, it's sufficient to only have one layout style (e.g. card view, list view).

User story

As a reader on web, I want to view all of my saved articles on a single page.

Design

New Vector.png (773×1 px, 397 KB)

New Vector-4.png (773×1 px, 32 KB)

Layouts when menu's are open

New Vector.png (773×1 px, 402 KB)
New Vector-1.png (773×1 px, 364 KB)
New Vector-3.png (773×1 px, 390 KB)

Layouts when width is reduced

HEADER.png (946×505 px, 194 KB)
HEADER-1.png (946×798 px, 343 KB)
Figma design spec for spacing and other stylistic details.
  • Generally following Special pages designs
  • Sorting, filtering, and remove options have been removed from this initial version
  • Saved items are in a card view that contains: thumbnail, title, and wikidata description in the language of the article
  • Do not show any placeholder image when there is no lead image in the article as shown in some of the entries in the mock
  • Show the empty state when there are no items saved

Acceptance criteria for done

Design

Functionality

  • Users can see all their saved items on the Special:ReadingLists page
  • Page Title is following spec
  • Saved items are sorted by most recently added at the top
  • Users can continue to click through to the articles from the Special:ReadingLists page. (for QA steps only - no changes needed)
  • Accessibility: Sorting message element (i.e. "sorted by most recent") is not child of the heading element (i.e. "Saved").
  1. Descoped
  2. Layout resize based on the available width according to responsive design templates shown – ReadingLists/+/1193516 descoped to T406628
  3. Layout has been signed-off by designer

QTE Requirement

Scope: Desktop web (Vector 2022). Special:ReadingLists must display a layout of saved articles according to design specifications:

  • Layout is card view only, showing thumbnail (if present), article title in the language of the article.
  • No placeholder image is shown if the article lacks a lead image.
  • Saved items are sorted by most recently added at the top.
  • Users can click through to the article from the card.
  • Layout is responsive: adapts to different widths based on design templates.
  • Accessibility: the “sorted by most recent” message must not be a child of the “Saved” heading element.
  • Empty state must display when no items are saved.
  • Project labels (e.g., fr.wikipedia.org) must be removed.

BDD

Feature: Display saved articles on Special:ReadingLists

  Scenario: User views saved articles
    Given I have saved articles in my Reading List
    When I open Special:ReadingLists
    Then my saved items are displayed in card view
    And the most recently added item is at the top
    And each card shows the article title and Wikidata description
    And no placeholder image is shown when a lead image is absent
    And clicking the card takes me to the article

  Scenario: Responsive layout
    Given I view Special:ReadingLists on different screen widths
    When the viewport is resized
    Then the card layout adjusts according to the responsive design templates

  Scenario: Empty state
    Given I have no saved articles
    When I open Special:ReadingLists
    Then the empty state is displayed

  Scenario: Accessibility compliance
    Given I view Special:ReadingLists
    When inspecting the page structure
    Then the “sorted by most recent” message is not a child of the “Saved” heading element

Test Steps

Test Case 1: Saved items displayed in card view

  1. Log in and save multiple articles.
  2. Open Special:ReadingLists.
  3. AC1: Saved items are displayed in card view with thumbnail, title, and Wikidata description.
  4. AC2: No placeholder image appears if an article lacks a lead image.
  5. AC3: Cards are sorted with most recently saved at the top.
  6. AC4: Clicking a card navigates to the article page.

Test Case 2: Responsive layout

  1. Resize the browser window across multiple widths.
  2. AC5: Card layout adjusts per responsive design templates.
  3. AC6: Content remains legible and aligned.

Test Case 3: Empty state

  1. Remove all saved articles from the Reading List.
  2. Open Special:ReadingLists.
  3. AC7: An empty state message is displayed.

Test Case 4: Accessibility structure

  1. Inspect the DOM structure of Special:ReadingLists in DevTools.
  2. AC8: “Sorted by most recent” text is not a child element of the “Saved” heading.

QA Results - Prod

Event Timeline

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

"sorted by most recent" - recent what? recently added to (or changed in) reading list? articles (themselves) recently edited?

I am not sure what is the best user experience?

"sorted by most recent" - recent what? recently added to (or changed in) reading list? articles (themselves) recently edited?

I am not sure what is the best user experience?

I'd suggest "most recently added" for reading lists. Closer to user research outcome of folks adding reading lists thematically in a sequence. And also better memorable.
Recently edited seems more watchlist use case specific.

@Sneha Just encountered this button, this should be a normal button, not a primary action…?!

image.png (684×868 px, 51 KB)

tested in prod early. disregard failures for now.

Test Result - Prod

Status: ❌ FAIL
Environment: testwiki
OS: macOS Sequoia 15.5
Browser: Chrome Canary (latest as of test date)
Device: MS
Emulated Device: NA

Test Case 1: Saved items displayed in card view

  1. Log in and save multiple articles.
  2. Open Special:ReadingLists.
  3. AC1: Saved items are displayed in card view with thumbnail, title, and Wikidata description.

Doesn't look like a thumbnail or the images in this task.

  1. AC2: No placeholder image appears if an article lacks a lead image.

Placeholder images appear

  1. AC3: Cards are sorted with most recently saved at the top.
  2. AC4: Clicking a card navigates to the article page.

screenshot 39.mov.gif (1×1 px, 1 MB)

screenshot 188.png (1×1 px, 963 KB)

Test Case 2: Responsive layout

  1. Resize the browser window across multiple widths.
  2. AC5: Card layout adjusts per responsive design templates.
  3. AC6: Content remains legible and aligned.

screenshot 40.mov.gif (933×1 px, 3 MB)

Test Case 3: Empty state

  1. Remove all saved articles from the Reading List.
  2. Open Special:ReadingLists.
  3. AC7: An empty state message is displayed.

screenshot 41.mov.gif (1×1 px, 528 KB)

Test Case 4: Accessibility structure

  1. Inspect the DOM structure of Special:ReadingLists in DevTools.
  2. AC8: “Sorted by most recent” text is not a child element of the “Saved” heading.

screenshot 195.png (1×1 px, 283 KB)

Change #1190567 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/extensions/ReadingLists@master] styles: Apply correct layout for thumbnails in cards

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

Change #1190725 had a related patch set uploaded (by Aude; author: Aude):

[mediawiki/extensions/ReadingLists@master] Set SpecialPage title message for ReadingLists subpages

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

@Sneha What was the decision for "Saved" as title? It's a bit problematic from inclusion POV. It should say what "saved" refers to. Guess "articles" would exclude other elements save-able and was therefore not chosen.

Change #1190725 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Set SpecialPage title message for ReadingLists subpages

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

@Volker_E yes "Saved" keeps it open and works with different kinds of content that can be saved. Also "pages" may be more general and inclusive than "articles" but thats not the terminology we used anywhere. Also apps also use the title "Saved" which creates some consistency across the platforms. I would like to see this page titled as "my collection" in the future but would need to align that across different platforms first to avoid confusion.

@aude fair point about "sorted by most recent" copy. To make it more clear we would need to add more copy may be something like this? "Most recently saved items are at the top"

@Volker_E yes "Saved" keeps it open and works with different kinds of content that can be saved. Also "pages" may be more general and inclusive than "articles" but thats not the terminology we used anywhere. Also apps also use the title "Saved" which creates some consistency across the platforms. I would like to see this page titled as "my collection" in the future but would need to align that across different platforms first to avoid confusion.

Note of caution: The Onboarding screens use "Saved Pages" right now T400366. And again, for assistive technology users I'd suggest a noun as well, not just "Saved". The change from logged-in Apps users to logged-in Web users is in my opinion a relatively rare one.

And again, for assistive technology users I'd suggest a noun as well, not just "Saved".

+1. Are there non-English speakers on the team? This will likely be problematic in a good number of human languages.

@Volker_E Adding the word pages in onboarding copy made sense as its part of a phrase or sentence. But I see your point for the title, if the assistive technology read out "Saved" it can sounds like "your content was saved". Since by adding the word "pages" we will not be departing too much from how we refer to this feature on apps and if it improves the experience on web then I can see why "Saved pages" would make more sense as a title for now. Thanks for bringing up this important detail.

@Sneha Should the "Sorted by most recent" text have normal color treatment or subtle? In the Figma designs it has emphasized which we normally only use for headlines (I assume it's a leftover from moving it out of headings).
Also, again for assistive technology, it's recommended to use punctuation in order to be read out with pauses. So my recommendation would be "Sorted by most recent."

Change #1191176 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/extensions/ReadingLists@master] entries: Fix sorting text output

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

Change #1191176 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] entries: Fix sorting text output

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

Change #1191186 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/extensions/ReadingLists@master] i18n: Use "Saved pages" instead of "Saved"

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

@aude I'm not fully clear what "Users can continue to click through to the articles from the Special:ReadingLists page" from the ACs means?

Change #1191204 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/extensions/ReadingLists@master] Remove EntryItem project supporting text

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

@Sneha Would you pls also export the article+bookmark image as flat SVG and share on task? I tried to do so today, but I don't have edit rights on the Figma file, which would be necessary for grouping.

@Sneha In the designs, we remove the project label.

For non-default (custom) reading lists such as created on mobile, do we want to keep the project label on the special page? the reading lists can contain pages from multiple wikis. (I know our focus is the default list, but there are ways that users can see the non-default lists)

@aude as we discussed lets not show any project labels in the UI

@Volker_E sorted by text is currently using the regular caption size (12pt) and is not emphasized.

@aude @Volker_E Regarding copy:

  • For page title I think we we could have "saved pages" as the label for assistive technology and show "Saved" in the UI.
  • Also for the "sorted by" copy I suggested we change it to something longer here. But I like the idea of using punctuation instead so we could have colon - "Sorted by: Most recent". This is only temporary and once we have sort options it will make things more clear.

Change #1191186 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] i18n: Use "Saved pages" instead of "Saved"

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

Jdlrobson-WMF renamed this task from [Reading List] Special:ReadingLists Layout of the saved articles view to [Reading List] Begin adjustments to Special:ReadingLists Layout of the saved articles view.Sep 26 2025, 7:51 AM
Jdlrobson-WMF renamed this task from [Reading List] Begin adjustments to Special:ReadingLists Layout of the saved articles view to [Reading List] Adjustments to Special:ReadingLists Layout of the saved articles view.
Jdlrobson-WMF updated the task description. (Show Details)

Change #1191204 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Remove EntryItem project supporting text

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

Change #1190567 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] styles: Apply more precise layout for (thumbnails in) cards and beyond

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

@Sneha @Volker_E If there is only one page in the reading list, do we want the card to extend full width of the page content area, or do we want a max-width for the cards? Full width on mobile (smaller screens) definitely makes sense, but not sure with larger screen sizes.

Please note: we still need to adjust the layout to remove the placeholder image and I don't have Wikidata descriptions setup on my local environment.

You can also look at ReadingLists on the beta cluster: https://en.wikipedia.beta.wmcloud.org/wiki/Main_Page

Screenshot 2025-10-02 at 11.24.49 AM.png (1×2 px, 126 KB)

Screenshot 2025-10-02 at 11.24.23 AM.png (1×2 px, 121 KB)

Here is the layout with more cards:

Screenshot 2025-10-02 at 11.27.58 AM.png (1×3 px, 222 KB)

Screenshot 2025-10-02 at 11.28.50 AM.png (1×3 px, 232 KB)

Screenshot 2025-10-02 at 11.29.57 AM.png (1×3 px, 205 KB)

Screenshot 2025-10-02 at 11.27.11 AM.png (1×2 px, 137 KB)

@aude The card sizes should remain fixed for the width you are viewing them in. So e.g. if there is space for three column layout then whatever the size of the card in that that three column layout should be maintained even if there is only 1 or 2 cards.

@Sneha has shared an issue with current implementation: In a narrow viewport with one or both sidebar menus hidden, there's the possibility of 4 cards per row right now.
Should we limit to three cards per row, also in regards to possible wide desktop usage?
This would be a possible outcome:

image.png (860×2 px, 111 KB)

Change #1193516 had a related patch set uploaded (by VolkerE; author: VolkerE):

[mediawiki/extensions/ReadingLists@master] styles: Limit row to max 3 cards

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

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

[mediawiki/extensions/ReadingLists@master] Revert "styles: Apply more precise layout for (thumbnails in) cards and beyond"

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

There's another issue currently not covered in templates. What happens with headings more than two lines wrapped?

  • Cut off
  • Ellipsis
  • anything else?

image.png (328×1 px, 72 KB)

Change #1193945 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Revert special page styles for reading list grid view

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

Test wiki created on Patch demo by Jdlrobson using patch(es) linked to this task:
https://4320c10564.catalyst.wmcloud.org/w/

Sneha changed the point value for this task from 5 to 2.Oct 7 2025, 5:47 PM

Remaining work will be done in { T406628}.

Test Result - Prod

Status: ✅ PASS
Environment: testwiki
OS: macOS Tahoe
Browser: Chrome Canary (latest as of test date)
Device: MS
Emulated Device: NA

Test Case 1: Saved items displayed in card view

  1. Log in and save multiple articles.
  2. Open Special:ReadingLists.
  3. AC1: Saved items are displayed in card view with thumbnail, title, and Wikidata description.
  4. AC2: No placeholder image appears if an article lacks a lead image.
  5. AC3: Cards are sorted with most recently saved at the top.
  6. AC4: Clicking a card navigates to the article page.

screenshot 113.mov.gif (1×1 px, 631 KB)

Test Case 2: Responsive layout

  1. Resize the browser window across multiple widths.
  2. AC5: Card layout adjusts per responsive design templates.
  3. AC6: Content remains legible and aligned.

screenshot 115.mov.gif (914×1 px, 3 MB)

Test Case 3: Empty state

  1. Remove all saved articles from the Reading List.
  2. Open Special:ReadingLists.
  3. AC7: An empty state message is displayed.

screenshot 267.png (1×1 px, 204 KB)

Test Case 4: Accessibility structure

  1. Inspect the DOM structure of Special:ReadingLists in DevTools.
  2. AC8: “Sorted by most recent” text is not a child element of the “Saved” heading.

screenshot 270.png (1×1 px, 616 KB)

Test wiki on Patch demo by Jdlrobson using patch(es) linked to this task was deleted:

https://4320c10564.catalyst.wmcloud.org/w/