OOUI

OOUI allows developers to create responsive web user-interfaces and applications.

It is internationalization ready with full support of right-to-left languages, is accessible complying to Web Content Accessibility Guidelines and operates consistently across a multitude of browsers.

The OOUI library contains:


 * ready-to-use widgets, layouts, and windows that can be instantiated directly or easily extended,


 * a PHP server-side compatible output for cases where JavaScript is not supported,


 * elements that can be easily mixed and matched to create custom user interfaces.

OOUI is available in MediaWiki Core, as well as on [ https://www.npmjs.com/package/oojs-ui npm], [ https://packagist.org/packages/oojs/oojs-ui Composer], and through [ https://cdnjs.com/libraries/oojs-ui cdnjs]. OOUI implements a "WikimediaUI" theme – conforming to [ https://design.wikimedia.org/style-guide/ Wikimedia Foundation's design style guide]. Interfaces built within MediaWiki use this theme by default, though different MediaWiki skins can and do over-ride this. See documentation about using OOUI in MediaWiki. It is successfully in use in 40+ web products by Wikimedia Foundation and volunteer developers. Note, that the library was originally created for the entire user interface of VisualEditor, on top of the OOjs primer (Object-Oriented JavaScript, hence OOUI's former name "OOjs UI"). It has later been extended to serve MediaWiki Core with PHP implemented widgets or responsive interfaces in project Advanced Mobile Contributions.

OOUI is pronounced oh-oh-you-eye.

The source code is hosted on Gerrit and [ https://github.com/wikimedia/oojs-ui mirrored on GitHub].

Future of OOUI alongside Codex
In the mid-term Codex will replace OOUI as the default user interface library. Currently development at the Wikimedia Foundation is focused on Codex, the design system for Wikimedia. It's featuring guidelines and a set of tools: design tokens, components, and icons.

New OOUI feature development is limited only to products that are bound to it and have not (yet) been adapted to use Codex instead.

Note that in JS-only gadgets and userscripts Codex can't replace OOUI as of September 2023, at least not in any practical way. For gadget/userscript developers there is currently no successor for OOUI available. Participate in discussion about the topic on enabling Codex for gadgets and userscripts.

Documentation
See the sidebar for a full list of documentation subpages.

See also:


 * [ https://doc.wikimedia.org/oojs-ui/master/js/ API documentation] generated from the source code on doc.wikimedia.org


 * [ https://doc.wikimedia.org/oojs-ui/master/demos/ Interactive demos online] and in the project's directory


 * [ https://doc.wikimedia.org/oojs-ui/master/demos/tutorials/index.html A tutorial on building a Todo list application using OOUI step by step]


 * OOJS/OOUI kick starter &mdash; ready to code and demo user interface.