Page MenuHomePhabricator

[Reading List - A11y Bug] Reading List and Collection lists are not semantically meaningful or accessible
Closed, ResolvedPublic2 Estimated Story Points

Description

Background

The Reading List UI has been getting some updates and some of those updates haven't used semantic html or have been fully accessible. We need to make sure that all aspects of the Reading List work with Assistive Technology (AT) and meet WCAG AA standards.

The list of items in a reading list and the list of Readinglists within collections are not accessible and are in violation of WCAG SC1.3.1 level A since there is no semantic meaning about the relationship of the list of items. Currently, each item is an <a> element which are all children of a <div>, this does not semantically communicate the relationship of these elements and users lacking visual affordances will never know that a list is present. Instead, these should be <li> within an <ul> so that AT reads out that it is a list, how many items are in the list, and if applicable, which list item the user is on.

User story

As a user of AT, I would like to be able to know that there is a list on the page and if I am on a list item. I would also like to be able to navigate easily to the list via the rotor.

Requirements

  • Each item within Collections and a Reading List are <li> within a parent <ul>.
  • The list (<ul>) has an aria-label that matches whichever view is selected, "All items" or "Collections".
  • Any default native styles are removed so that no visual UI changes occur.

Acceptance criteria

  • The list items are read and navigable via assistive technology.

QA strategy

For VoiceOver, test while in the list using VO (control + option) + Left/Right arrow.

Rollback plan

This should be low risk but we can roll back if needed.

This task was created by Version 1.1.0 of the Reader Experience team task template using phabulous.

Event Timeline

LMora-WMF set the point value for this task to 2.Aug 25 2026, 4:27 PM
LMora-WMF renamed this task from [Reading List - A11y Bug] Reading List and Collection lists are not accessible and violate WCAG to [Reading List - A11y Bug] Reading List and Collection lists are not semantically meaningful or accessible.Aug 25 2026, 8:11 PM

Change #1339802 had a related patch set uploaded (by LorenMora; author: LorenMora):

[mediawiki/extensions/ReadingLists@master] [A11y] Add list semantics to ReadingList page

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

Change #1339802 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] [A11y] Add list semantics to ReadingList page

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

I left a comment on the patch regarding how the change would work in Safari.

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

[mediawiki/extensions/ReadingLists@wmf/1.47.0-wmf.19] [A11y] Add list semantics to ReadingList page

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

Before:

Screenshot 2026-09-14 at 12.02.10 PM.png (746×1,328 px, 69 KB)

After (with these changes), there is more spacing between the cards now in Minerva:

Screenshot 2026-09-14 at 12.02.50 PM.png (746×1,328 px, 67 KB)

Etonkovidova subscribed.

Checked on Chrome, FF, and Safari with general accessibility checking tools and manual checks - no issues and no regressions have been found.

Checked with VoiceOver - works as expected.

Note: T435986: [Reading List - A11y Bug] Reading List infinite scroll breaks keyboard interaction is quite noticeable.

Change #1341278 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@wmf/1.47.0-wmf.19] [A11y] Add list semantics to ReadingList page

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

Mentioned in SAL (#wikimedia-operations) [2026-09-14T20:34:56Z] <aude@deploy1003> Started scap sync-world: Backport for [[gerrit:1341278|[A11y] Add list semantics to ReadingList page (T435864 T434923)]]

Mentioned in SAL (#wikimedia-operations) [2026-09-14T20:39:11Z] <aude@deploy1003> aude, jdlrobson: Backport for [[gerrit:1341278|[A11y] Add list semantics to ReadingList page (T435864 T434923)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-09-14T20:47:45Z] <aude@deploy1003> Finished scap sync-world: Backport for [[gerrit:1341278|[A11y] Add list semantics to ReadingList page (T435864 T434923)]] (duration: 12m 49s)

Jdlrobson-WMF claimed this task.