Wdgets implemented with OOUI, such as the new recent changes widget and its filters, are painful to style for wiki admins who maintain a custom theme but only have interface admin access. As far as I understand, the "correct" method for styling OOUI is described in OOUI/Themes and would require access to the server. I haven't studied this method of styling OOUI since it is of no use to me, but I assume it would be better than using MediaWiki interface message pages to override the default style.
By "painful" I mean several things, compared to modifying the core mediawiki CSS:
- OOUI has far greater number of CSS rules than the entire core MediaWiki + skin!
- Styling comparable wiki interface elements (in mw-ui, I believe) before OOUI was doable with a few simple CSS rules
- Now the same level of interface skinning takes hundreds of high-specificity CSS rules
- Redoing all the images takes a lot of work
- Also requires questionable hosting choices or embedding into CSS as data-URIs. (Again, for wiki content admins with no access to the server)
- The selectors are long with high specificity
- Resulting in barely human-readable CSS
- No easy way to style larger groups of elements at once (simplifying the style and selectors)
- OOUI, especially when partially reskinned through MediaWiki interface pages, has measurable impact on page loading speed on slower end-user hardware.
- The reskinned OOUI is loaded on every page load, and the full original OOUI CSS is also loaded when needed.
I don't know how common my position is (MediaWiki content admin also maintaining custom skin w/o direct server access) and I don't know the backend well enough to suggest a solution. Perhaps OOUI stylesheets could be moved to MediaWiki interface messages to at least allow ResourceLoader could handle it better in cases like this? In any case, the seperation of interface widget style from the rest of the skin seems counterproductive.
In my opinion OOUI styles are also too complex for what they do and could be greatly simplified with minimal loss of features, but I understand there may be use cases that require such a heavy interface library. OOUI definitely is on a different level than the rest of MediaWiki styling, for good or for bad.