Page MenuHomePhabricator

Allow multiple namespace selection on special pages
Closed, DeclinedPublic

Description

Author: le.korrigan

Description:
On pages which allow namespace selection such as [[Special:Recentchanges]], [[Special:Whatlinkshere]], [[Special:Watchlist]] or [[Special:Contributions]], the namespace selector could be improved by having instead a listbox, allowing to select several namespaces. Currently only one choice is possible, with the additional option on Recentchanges to invert the selection.

Yet it would be convenient if several namespaces could be chosen (eg only talk namespaces, or everything but (main) and Project:, etc.). If this is not easily feasible, maybe the "invert selection" button could be added on other special pages as well ? Thanks.


Version: unspecified
Severity: enhancement

Details

Reference
bz10628

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 9:54 PM
bzimport set Reference to bz10628.
bzimport added a subscriber: Unknown Object (MLST).

Multiple-choice listboxes are very nonobvious to use; I would not recommend them.

ayg wrote:

Well, we have them on [[Special:Search]].

No we don't. We have an illegible pile of checkboxes, though. :)

ayg wrote:

Oh, listbox. Yes, those are nonintuitive. How about a (legible!) pile of checkboxes instead? Less compact but often more useful.

I wonder, why listbox is considered as non-intuitive, but I support any way to allow multiple ns selection.

ayg wrote:

Selecting multiple items using a listbox requires knowledge of Ctrl-click and Shift-click to select multiple items.

(In reply to comment #6)

Selecting multiple items using a listbox requires knowledge of Ctrl-click and
Shift-click to select multiple items.

And what blocks us from putting a small short message like "Use Ctrl-click or Shift-click to select multiple items" nearby the listbox? Or using title attribute for same. Or... There are many solutions for this...

Checkboxes are not that user-friendly as listbox is (it takes ages to click on let's say 10 of them in row while in listbox it takes click and shift-click).

However, if checkboxes will be used, I'd suggest to add pulldown and button (or group of buttons) nearby allowing user to do following actions:

  • Select all
  • Select all subject pages
  • Select all talk pages
  • Invert selection

which would make it more user friendly.

Also checkboxes if used should be near to each other and not as on Special:Search where user must travel miles with mouse to check them.

I'll attach some UI proposals later.

ayg wrote:

(In reply to comment #7)

And what blocks us from putting a small short message like "Use Ctrl-click or
Shift-click to select multiple items" nearby the listbox? Or using title
attribute for same.

Unnecessary instructions make for a bad user interface. We should rely on what the user is already familiar with to the greatest extent possible.

Checkboxes are not that user-friendly as listbox is (it takes ages to click on
let's say 10 of them in row while in listbox it takes click and shift-click).

You can shift-click checkboxes too if appropriate JavaScript is used.

(In reply to comment #8)

(In reply to comment #7)

And what blocks us from putting a small short message like "Use Ctrl-click or
Shift-click to select multiple items" nearby the listbox? Or using title
attribute for same.

Unnecessary instructions make for a bad user interface. We should rely on what
the user is already familiar with to the greatest extent possible.

Imagine site with much more namespaces than the usual set. Using checkboxes would cause unwanted stretching of page's height while listbox can always have same number of lines for height regardless the number of namespaces.

Checkboxes are not that user-friendly as listbox is (it takes ages to click on
let's say 10 of them in row while in listbox it takes click and shift-click).

You can shift-click checkboxes too if appropriate JavaScript is used.

Well, but listboxes work friendly without JS. Think about users who have it off.

ayg wrote:

(In reply to comment #9)

Imagine site with much more namespaces than the usual set. Using checkboxes
would cause unwanted stretching of page's height while listbox can always have
same number of lines for height regardless the number of namespaces.

Sixteen namespaces takes up under two lines on typical resolutions. Fifty would take up only six lines or so. That's no more than a typical listbox, and you wouldn't have to scroll down fifty lines. You could even allow scrolling through the checkboxes if you really liked.

Well, but listboxes work friendly without JS. Think about users who have it
off.

That usability concern is not sufficient to outweigh the other presented.

Listboxes will not be used, period. Brion said so and I agree. There's no point in discussing it further.

eep wrote:

Checkboxes are NOT user-friendly in this instance. Listboxes are easy enough to use: click-drag the mouse cursor over multiple rows, click another row to deselect--couldn't be easier; no ctrl-/shift-click necessary. At least add an "(un)check all" checkbox to make dealing with namespace checkboxes less frustrating. Are multi-column listboxes possible? That would help with the vertical scrolling height issue anyway. See http://bugzilla.wikimedia.org/show_bug.cgi?id=10718 for an extension request to change the namespace search selection design.

No, multi-column listboxes aren't possible.

I don't think there's a good way to do this that isn't just really really disruptive -- besides, in most cases it would be even more inefficient in the database than the stuff we already have.

So, this isn't likely to happen. WONTFIXing.

eep wrote:

Actually, there already is a good way to do it with a normal multi-select listbox as outlined at http://bugzilla.wikimedia.org/show_bug.cgi?id=10718. The "form#powersearch" CSS element can be floated to the right of the search results in order to cut down on the vertical scrolling with many namespaces since the search results don't use the full page width anyway. Fixing the form to the bottom right works well too:

form#powersearch {

float: right !important;
position: fixed !important;
right: 1em !important;
bottom: 5em !important;

}