Jump to content

OOUI

From mediawiki.org
(Redirected from OOjs UI/Documentation)

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 npm, Composer, and through cdnjs. OOUI implements a "WikimediaUI" theme – conforming to 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. Community-created TypeScript definitions for OOUI exist (they work in JavaScript projects as well in popular IDEs).

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 mirrored on GitHub.

Future of OOUI alongside Codex

Codex's toolkit 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 features 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. You can participate in the discussion about enabling Codex for gadgets and userscripts.

Documentation

See the sidebar for a full list of documentation subpages.

See also