Page MenuHomePhabricator

Make Special:RevisionDelete UI for multiple revisions less awkward
Open, Needs TriagePublic

Description

Back in 2017 in T117794, Special:RevisionDelete was converted to OOUI. It introduced an inconsistency in UI between handling single and multiple revisions:

Single revisionMultiple revisions
image.png (208×519 px, 15 KB)
image.png (329×415 px, 28 KB)

When setting visibility for multiple revisions, the user is presented with a triple value radio button option for each flag, of which the first is "do not change". This is because the controls have a one-to-many relationship with the revisions being affected and can't represent a mixture of different states, in contrast to the one-to-one relationship of the flag checkboxes in the UI for affecting single revisions.

As a result, the user needs to visually inspect the state of all the revisions, hold that information in their head, and then set the radio buttons accordingly. This is poor UX - I've certainly made mistakes using it myself on a number of occasions over the years. It also creates the potential for a state setting action to fail entirely, because the user's choice of Unset or Set on one or more revisions represents the current value of that flag. (This is arguably a bug which should be addressed separately in the meantime.)

The list of revisions and their associated visibility controls should be integrated into a one-to-one relationship, something like this:

TimestampUserEdit summaryHide textHide summaryHide user/IP
12:01, 1 April 2024 (diff)Regular userRevert vandalism🟩🟩🟩
12:00, 1 April 2024 (diff)VandalThis wiki has shut down, goodbye!!!🟩
11:55, 1 April 2024 (diff)Regular userUpdate🟩🟩🟩

I'm using regular checkboxes in this mockup, but a modern UI would make them larger to be easier click targets. The user should be able to click single states to toggle them, or drag across the table to change multiple states in a single motion.

This UI should be used consistently whether modifying multiple or single revisions.

Event Timeline

Scott updated the task description. (Show Details)