Improve Special Preferences user experience and convert to OOUI


Ease-of-use, user experience and accessibility are fundamental premises for Wikimedia Foundation's work on improving its software. If we're serving everyone the sum of all human knowledge, then we need to be welcoming to everyone from all backgrounds, across all levels of knowledge, and with differing access needs.

We're currently overhauling Special:Preferences as one of the last pieces in converting MediaWiki's core special pages over to use our standard interface library, OOUI.


Goals of the project:

  • Provide a consistent look & feel for this contributor tool, and unifying code to be like most other Special:Pages, by converting to use OOUI;
  • Simplify the interface to be less intimidating for new users, while minimising changes for existing users and power users;
  • Improve accessibility for users with impairments, by means of OOUI's abilities;
  • Keep existing functionality working same as now, except where otherwise identified as problematic by community members; and
  • Ensure continuous functionality of any code which builds on top of Special:Preferences (i.e., extensions like Notifications or Gadgets).

Background and approach[edit]

Over the course of three years OOUI has been implemented as library to build Wikimedia Foundation's web user-interfaces. It has continuously improved ever since and been adapted to special and diverse needs of our communities, think internationalization, right-to-left language or in-depth accessibility support.

We've also already successfully rolled it out to majority of MediaWiki core pages and major extensions. Latest prominent addition was Special:RecentChanges (enwiki example).

Now it's time to transform and improve Special:Preferences. The necessary, underlying code changes have been added as sub-tasks to But we also take the opportunity to improve long-standing usability and user experience issues. Those are collected in

Our approach as follows:

  1. Step-by-step implementation by collaboration of Audiences Design, Editing and Growth team members
  2. Foundation internal testing and internal QAing
  3. Outreach to testers on Beta Cluster with wider availability and a close to real-world environment – continuously providing latest development state behind a feature flag in order to be able to compare side-by-side.
  4. Roll-out on smaller wikis to gather broader user feedback and resolve still available possible shortcomings
  5. Roll-out on major wikis


We would like to invite any registered user to provide us with feedback or general questions on the project. It can be left on the talk page or if you prefer so, as Phabricator task.


2018-07-01: Improved Special:Preferences now available for testing[edit]

We've now enabled the improved Special:Preferences page behind a feature flag (adding ?ooui=1 to the URL, exemplified on English Wikipedia).

2018-09-11: Accomplished another round of internal QAing[edit]

With help of Rummana Yasmeen, we've accomplished another round of quality assurance testing, leading to resolving a few additional minor glitches without identifying any further blockers.

2018-09-18: OOUI Special:Preferences are default now[edit]

Special:Preferences with OOUI is now enabled by default. It's immediately in action at Beta-Cluster and will roll-out to wikis on normal train beginning with next Tuesday, 2018-09-25. Developers for testing purposes and users are still able to opt out by adding adding ?ooui=0 as URL parameter.