In order to successfully roll out the new dark mode across the wikis, we need to bring dark mode support to OOUI, which powers many features that are currently in production.
Acceptance Criteria
- OOUI color variables correctly point to the respective CSS custom properties set by skins, and OOUI styles respect user's color scheme (including client-side switching).
Work Plan
Previously, we had intended to update OOUI so that it could consume Codex design tokens from version 1.5.0 or greater. However, we determined that this approach would force too many other unrelated changes in OOUI that could impact downstream users in unexpected ways (migrating from em to rem units, etc).
Instead, we are taking a minimal approach where we have manually backported the CSS-custom-property-aware color tokens in OOUI but we will not otherwise update or change anything here. This seemed like the lowest-risk way to proceed.
Once code review is complete, we will release a new version of OOUI containing this update and will put it on the beta cluster for testing.
Testing Plan
Previously we were pursuing a more involved approach that would have re-worked a lot of OOUI code to be fully compatible with the latest version of Codex.
We are abandoning this approach, at least for now, in favor of simply backporting the latest version of the Codex color tokens into OOUI. This change will go out as part of OOUI 0.50.0, and will be available on Beta for testing by Wednesday June 12. We expect minimal user-facing changes but we still encourage teams that make use of OOUI to test in their features for any issues; the scope of this change is limited to allowing the LESS color variables to reference CSS custom properties of the same name *if they exist* (a fallback value is still provided as well).
Deadline
Web has targeted June 24 as the date to roll out dark mode to non-logged-in users. Ideally all OOUI testing and fixes for dark mode should be completed by this time. However, this may not be enough time to allow feature maintainers to test their respective projects, so this date may need to be adjusted.